// Aprica2
// copyright Pirmin Braun 1997-2007 - pirmin@pirmin.de
// all Rights reserved;
#import "Aprica.h"
@interface PBWOAsso:NSObject
{ NSString *val; //im dbFormat
NSString *bez; //falls Relation, wird hier die descri des EOs reingestellt; nur bei Bedarf;
PBWOEditor *tvc; //eine asso haengt immer an einem PBWOEditor
PBDDAttribute *pba; //eine asso hat immer ein pba, das Informationen zur Art des Datenelements liefert
BOOL isProtected; //zur individuellen Steuerung: gesperrt erzwingen
BOOL isProtectedPba; //laut Modell gesperrt
NSString *dbName; //kommt von pba; redundant f. performance; eindeutig f. Ablage in div. Dictionaries
NSString *assoID; //pro Modul eindeutige ID zur exakten Identifizierung
NSString *guiName; //von pba initalisiert in richtiger Sprache; hier redundant, um Oberflaeche flexiber aendern zu koennen;
NSString *doku; //doku in richtiger Sprache;
NSString *refdTableName; //kommt von pba; redundant f. umschalten zwischen Relations
NSString *targetModulName; //kommt von pba; redundant f. umschalten zwischen Modulen
NSString *boxId; //box (register,tab), in der das Textfeld der Asso drin liegt
NSString *onChange;
BOOL hasError;
//gecached flags wg. performance; sind statisch nach setzen pba; koennen jetzt individuell umgesetzt werden
BOOL isRelation,hasVL,isBool,isDate,shouldBeBold,onlyDescr,isImage,isPlainField,isTextArea,isNI,isMandatory,isHTMLCarrier;
int width,height,nak,zeilen; //f. layout-engine
int dataTyp; //Enum: char, money, int, float, date, bool
BOOL noDescr; //steuert, ob Descr angezeigt wird; wenn nicht, ist Feld schmaler; wird gesteuert von <nodescr> tag in lif
BOOL pw;
BOOL isButton,isBR,isPortlet;
int descrWidthPixel,editWidthPixel,bezWidthPixel; //auch an asso halten, weil sich wert im tvc aendern kann
BOOL isCAsso; //wenn als column-Asso verwendet
int classNo; // andere descrArea Klasse, wenn != 0
int portletIndex; // um eindeutige PortletClassnames zu generieren;
PBVLO *vlo; // value list object
NSMutableArray *vl; // dynamic Asso haelt vl-Array selbst, dieses kann in selObjChanged manipuliert werden
}
ACCESSh(val,setVal)
ACCESSh(bez,setBez)
ACCESSClassh(selectedPBVLO, setSelectedPBVLO, PBVLO)
ACCESSClassh(tvc, setTvc, PBWOEditor)
ACCESSClassh(pba, setPba, PBDDAttribute)
ACCESSh(boxId,setBoxId)
ACCESSh(assoID,setAssoID)
ACCESSh(dbName,setDbName)
ACCESSh(guiName,setGuiName)
ACCESSh(doku,setDoku)
ACCESSh(onChange,setOnChange)
ACCESSh(refdTableName,setRefdTableName)
ACCESSh(targetModulName,setTargetModulName)
- (NSMutableArray *)_vl;
- (NSArray *)vl;
- (void)setDataTypS:(NSString *)v;
- (NSString *)dbFromGui:(NSString *)s1 resultOK:(BOOL *)resultOK;
- (void)resetToOriginal;
- (int)dataTyp;
- (void)setDataTyp:(int)value;
- (int)classNo;
- (void)setClassNo:(int)value;
- (int)nak;
- (int)zeilen;
- (int)taRows;
- (int)taCols;
- (int)fieldRows;
- (void)setNak:(int)value;
- (void)setZeilen:(int)value;
- (BOOL)pw;
- (void)setPw:(BOOL)yn;
- (void)setNoDescr:(BOOL)value;
- (BOOL)noDescr;
- (BOOL)isImage;
- (BOOL)isProtectedPba;
- (void)setIsProtectedPba:(BOOL)yn;
- (void)setIsImage:(BOOL)yn;
- (BOOL)isBR;
- (void)setIsBR:(BOOL)yn;
- (BOOL)isHTMLCarrier;
- (void)setIsHTMLCarrier:(BOOL)yn;
- (BOOL)escapeHTML;
- (BOOL)isNI;
- (void)setIsNI:(BOOL)yn;
- (BOOL)isButton;
- (void)setIsButton:(BOOL)yn;
- (BOOL)isPortlet;
- (BOOL)onlyDescr;
- (void)setOnlyDescr:(BOOL)yn;
- (BOOL)isProtected;
- (void)setIsProtected:(BOOL)yn;
- (NSString *)vlVal;
- (NSString *)alignment;
- (int)width;
- (void)setWidth:(int)v;
- (int)height;
- (void)setHeight:(int)v;
- (int)lines;
- (BOOL)isMandatory;
- (BOOL)isCAsso;
- (void)setIsCAsso:(BOOL)yn;
- (void)setIsMandatory:(BOOL)yn;
- (int)descrWidthPixel;
- (NSString *)portletName;
// Basic
- initWith:(PBWOEditor *)tvcP andAttr:(PBDDAttribute *)attr;
- (void)determineSizeDwp:(int)dwp ewp:(int)ewp bwp:(int)bwp;
// Error, LookupButton, Cursor
- (void)markError; //roter Kringel bzw. roter Hintergrund
- (void)resetError; //roter Kringel bzw. rote Hintergrundfarbe weg
- (BOOL)inputAllowed; //ermittelt dynamisch, ob Feld editierbar
- (BOOL)buttonIsDisabled;
// Datentransport
- (void)targetToVal; // triggert Datenuebernahme von datasource nach val; loescht bez, wenn val sich aendert;
- (void)setValFromWod:(NSString *)v; // wenn sich wodVal geaendert hat und richtig formatiert werden konnte, wird val gesetzt
- (NSString *)wodVal; // liefert wodVal; wird on-the-fly ins UI Format umgewandelt
- (NSString *)formatOut:(NSString *)s; //bereitet s f. gui auf gem. pba;
- (void)valToTarget; //datasource mit val versorgen, falls dieser sich geandert hat von WOD aus;
- (void)cacheFlags;
- (BOOL)isBool;
- (BOOL)isDate;
- (BOOL)isRelation;
- (BOOL)hasVL;
- (BOOL)isPlainField;
- (BOOL)isTextArea;
- (BOOL)isAusgeblendet;
- (BOOL)isMemo;
//- (NSString *)bezForPrintForString:(NSString *)s;
@end