// Aprica2
// copyright Pirmin Braun 1997-2007 - pirmin@pirmin.de
// all Rights reserved;
#import "Aprica.h"
@interface PBDDAttribute:NSObject
{ PBDD *myDD;
PBDDTable *myTable;
BOOL isDB; // Feld in Datenbank
BOOL isProtected; // geschuetzt
BOOL isMandatory; // pflicht
BOOL isVisible; //ob es an Oberflaeche erscheinen soll
int keyTyp; //Enum: N=None, P=Primary, S=Serial;
int dataTyp; //Enum: char, money, int, float, date, datetime,bool
int length; //characters inkl. komma
int targetTyp; //selObj, tvc, button, parm
int nak; //Nachkommastellen f. Formatierung; nur bei float; money kommt aus Preferences
NSString *guiName; //in Ursprungssprache (deutsch)
NSString *dbName; //key fuer ...named-Methoden als Attr.
NSString *suffix; //Suffix; wird wenn an einer Referenz angegeben, an deren Elemente weitergegeben
NSString *reference; //bei Verwendung gefuellt mit dbName einer abstract table;
NSString *refdTableName; //relation
NSString *targetModulName; //f. Lookup u. Verfolgung Link
NSString *isDescriS; //0...9, J,N ; wird sortiert
NSString *isCombiSuchS; //0...9, J,N ; wird sortiert
NSString *doku0; //doku in Ursprungssprache
NSString *expression; //wird ausgewertet, um anzeigewert zu beschaffen
BOOL html; //escapeHTML = NO; wird nur im Modell gesetzt;
BOOL isDuplicate; // Wert beim duplizieren mit kopieren
BOOL alwaysOn; // immer aktiv; nur bei Buttons; z.B. Uebersichten, System-Buttons
NSString *initialValue; //Initialisierungswert bei neuem EO
NSString *custom; // f. div. individuelle Sachen;
NSString *doku1;
NSString *guiName1;
NSString *altKey;
NSString *vlcontent;
NSMutableArray *vl;
BOOL isRoot;
NSString *gruppenstring; // enthaelt Berechtigungsvektor
NSMutableDictionary *pbvloDict;
// folgende Werte werden bei reloadScript ermittelt:
PBExpression *pbexpression; // einzeilige Expression
NSString *scriptName; // inline oder implizit oder per Name .cpdf .script
BOOL isDruck; // es ist ein Druckscript
}
// Accessor
ACCESSClassh(pbexpression, setPbexpression, PBExpression)
ACCESSClassh(myDD, setMyDD, PBDD)
ACCESSClassh(myTable, setMyTable, PBDDTable)
ACCESSh(scriptName, setScriptName)
ACCESSh(doku0, setDoku0)
ACCESSh(altKey, setAltKey)
ACCESSh(doku1, setDoku1)
ACCESSh(guiName1, setGuiName1)
ACCESSh(expression, setExpression)
ACCESSh(guiName, setGuiName)
ACCESSh(dbName, setDbName) //macht lowercase daraus f. DB
ACCESSh(reference, setReference)
ACCESSh(suffix, setSuffix)
ACCESSh(refdTableName, setRefdTableName)
ACCESSh(targetModulName,setTargetModulName)
ACCESSh(isDescriS, setIsDescriS)
ACCESSh(isCombiSuchS, setIsCombiSuchS)
ACCESSh(initialValue, setInitialValue)
ACCESSh(custom, setCustom)
ACCESSh(vlcontent, setVlcontent)
ACCESSh(gruppenstring, setGruppenstring)
- (NSMutableArray *)vl;
- (NSString *)pid;
- (NSString *)masterkey;
- (NSString *)dokuForLang:(int)lang;
- (NSString *)guiNameTrans;
- (NSString *)guiNameForLang:(int)lang;
+ (NSArray *)ivarNames; //was alles persistent bleiben soll
- (void)initIvars;
- (NSString *)isRootS;
- (void)setIsRootS:(NSString *)yn;
- (BOOL)isRoot;
- (void)setIsRoot:(BOOL)yn;
- (BOOL)isDruck;
- (void)setIsDruck:(BOOL)yn;
- (BOOL)isCombiSuch; //!="N"
- (BOOL)isDuplicate;
- (void)setIsDuplicate:(BOOL)yn;
- (NSString *)isDuplicateS;
- (void)setIsDuplicateS:(NSString *)yn;
- (BOOL)isDB;
- (void)setIsDB:(BOOL)yn;
- (BOOL)alwaysOn;
- (void)setAlwaysOn:(BOOL)yn;
- (BOOL)html;
- (void)setHtml:(BOOL)yn;
- (BOOL)isProtected;
- (void)setIsProtected:(BOOL)yn;
- (BOOL)isMandatory;
- (void)setIsMandatory:(BOOL)yn;
- (BOOL)isVisible;
- (BOOL)isNotVisible;
- (void)setIsVisible:(BOOL)yn;
- (BOOL)isDescri; //!="N"
- (int)keyTyp;
- (void)setKeyTyp:(int)value;
- (int)dataTyp;
- (void)setDataTyp:(int)value;
- (int)length;
- (void)setLength:(int)value;
- (int)nak;
- (void)setNak:(int)value;
- (int)targetTyp;
- (void)setTargetTyp:(int)value;
- (BOOL)isPK;
- (BOOL)isAutoPK;
- (BOOL)isSerialPK;
- (BOOL)isFK; //foreignKey
- (BOOL)hasVL;
- (BOOL)isButton;
- (BOOL)isNumeric;
- (NSString *)alignment;
- (BOOL)isAuthorized;
- (BOOL)isChar;
- (int)inputLength; //f. Asso Eingabepruefung
- (BOOL)isRelation;
// core
- copyWithZone:(NSZone *)aZone;
- (void)validate;
- (void)buildVLArrays;
- (NSString *)valueForBezeichnung:(NSString *)s;
- (NSString *)bezeichnungForValue:(NSString *)s;
// Sortierung; f. PBWOEditor
- (NSComparisonResult)compare:(PBDDAttribute *)pba;
- (int)sortWeight; //f. Reihenfolge in Boxes
- (NSComparisonResult)compareBySortWeight:(PBDDAttribute *)pba;
- (NSComparisonResult)compareForSequence:(PBDDAttribute *)pba;
// String-Accessor f. ASCII-Representation
- (NSString *)isHtmlS;
- (void)setIsHtmlS:(NSString *)yn;
- (NSString *)isDBS;
- (void)setIsDBS:(NSString *)yn;
- (NSString *)alwaysOnS;
- (void)setAlwaysOnS:(NSString *)yn;
- (NSString *)isProtectedS;
- (void)setIsProtectedS:(NSString *)yn;
- (NSString *)isMandatoryS;
- (void)setIsMandatoryS:(NSString *)yn;
- (NSString *)isVisibleS; //f. public Values;
- (void)setIsVisibleS:(NSString *)yn;
- (NSString *)keyTypS;
- (void)setKeyTypS:(NSString *)v;
- (NSString *)dataTypS;
- (void)setDataTypS:(NSString *)v;
- (NSString *)targetTypS;
- (void)setTargetTypS:(NSString *)v;
- (NSString *)lengthS;
- (void)setLengthS:(NSString *)value;
- (NSString *)nakS;
- (void)setNakS:(NSString *)value;
- (NSString *)targetTypS;
- (void)setTargetTypS:(NSString *)value;
- (NSArray *)plainAttributes; //Referenz aufloesen
- (int)charsForGui;
- (PBDDTable *)relationTable; //refdTableName aufloesen
- (NSString *)formatStringValue:(NSString *)s1;
- (NSString *)initValue;
- (NSMutableDictionary *)values;
- (int)widthForColumn;
@end