home *** CD-ROM | disk | FTP | other *** search
-
- #include <classes/layouter/windows.h>
- #include <classes/layouter/boopsigadgets.h>
- #include <classes/layouter/decorgadgets.h>
- #include <classes/exec/libraries.h>
-
- class GadgetColumnC : public GeometryGroupC {
- public:
- GadgetColumnC(
- GroupLayoutC &frame,
- ULONG topRelation, GeometryC *topObject, WORD topOffset,
- ULONG bottomRelation, GeometryC *bottomObject, WORD bottomOffset,
- ULONG leftRelation, GeometryC *leftObject, WORD leftOffset,
- ULONG rightRelation, GeometryC *rightObject, WORD rightOffset);
- ~GadgetColumnC();
- VOID add(GeometryC &);
- private:
- TransparentLayoutC left, right;
- GeometryC leftG, rightG;
- GeometryC *lastG;
- };
-
- GadgetColumnC::GadgetColumnC(
- GroupLayoutC &frame,
- ULONG topRelation, GeometryC *topObject, WORD topOffset,
- ULONG bottomRelation, GeometryC *bottomObject, WORD bottomOffset,
- ULONG leftRelation, GeometryC *leftObject, WORD leftOffset,
- ULONG rightRelation, GeometryC *rightObject, WORD rightOffset)
- : GeometryGroupC(frame,
- topRelation,topObject,topOffset,
- bottomRelation,bottomObject,bottomOffset,
- leftRelation,leftObject,leftOffset,
- rightRelation,rightObject,rightOffset),
- left(),
- right(),
- leftG(left,
- LAYOUT_SIZE,NULL,0,LAYOUT_GROUP,NULL,0,
- LAYOUT_GROUP,NULL,0,LAYOUT_MAXOPPBORDER,NULL,0),
- rightG(right,
- LAYOUT_SIZE,NULL,0,LAYOUT_GROUP,NULL,0,
- LAYOUT_MAXOPPBORDER,NULL,0,LAYOUT_GROUP,NULL,0),
- lastG(NULL)
- {
- GeometryGroupC::add(leftG);
- GeometryGroupC::add(rightG);
- }
-
- GadgetColumnC::~GadgetColumnC()
- {
- }
-
- VOID GadgetColumnC::add(GeometryC &g)
- {
- if (lastG)
- g.setTopRule(LAYOUT_OPPBORDER,lastG,2)
- else
- g.setTopRule(LAYOUT_GROUP,NULL,0);
- g.setBottomRule(LAYOUT_SIZE,NULL,0);
- g.setLeftRule(LAYOUT_OPP,&leftG,0);
- g.setRightRule(LAYOUT_OPP,&rightG,0);
- GeometryGroupC::add(g);
- lastG = &g;
- }
-
- class TestWindowC : public StandardWindowC {
- public:
- TestWindowC(GTIDCMPortC &, ScreenC &);
- ~TestWindowC();
- private:
- LBBevelboxC columnFrame;
- LBStringC string1, string2, string3;
- GeometryC string1G, string2G, string3G;
- GadgetColumnC columnG;
- WindowCloseHandlerC wch;
- };
-
- TestWindowC::TestWindowC(GTIDCMPortC &p, ScreenC &s)
- : StandardWindowC(p,s,NULL,
- TAG_END),
- columnFrame(*this),
- string1(NULL,*this,LAYOUT_AUTOSIZE,LAYOUT_AUTOSIZE,
- GA_Text,"Name",
- STRINGA_MaxChars,20,
- TAG_END),
- string2(NULL,*this,LAYOUT_AUTOSIZE,LAYOUT_AUTOSIZE,
- GA_Text,"Vorname",
- STRINGA_MaxChars,20,
- TAG_END),
- string3(NULL,*this,LAYOUT_AUTOSIZE,LAYOUT_AUTOSIZE,
- GA_Text,"Straße",
- STRINGA_MaxChars,20,
- TAG_END),
- string1G(string1,
- LAYOUT_GROUP,NULL,0,LAYOUT_GROUP,NULL,0,
- LAYOUT_SIZE,NULL,0,LAYOUT_SIZE,NULL,0),
- string2G(string2,
- LAYOUT_GROUP,NULL,0,LAYOUT_GROUP,NULL,0,
- LAYOUT_SIZE,NULL,0,LAYOUT_SIZE,NULL,0),
- string3G(string3,
- LAYOUT_GROUP,NULL,0,LAYOUT_GROUP,NULL,0,
- LAYOUT_SIZE,NULL,0,LAYOUT_SIZE,NULL,0),
- columnG(columnFrame,
- LAYOUT_GROUP,NULL,2,LAYOUT_GROUP,NULL,-2,
- LAYOUT_GROUP,NULL,2,LAYOUT_GROUP,NULL,-2),
- wch(*this)
- {
- titlegadgets.add(columnFrame);
- gadgets.add(string1);
- gadgets.add(string2);
- gadgets.add(string3);
- columnG.add(string1G);
- columnG.add(string2G);
- columnG.add(string3G);
- innerGeo.add(columnG);
- }
-
- TestWindowC::~TestWindowC()
- {
- close();
- }
-
- LibraryBaseErrC GadToolsBase("gadtools.library",37);
- LibraryBaseErrC UtilityBase("utility.library",37);
- LibraryBaseErrC CxBase("commodities.library",37);
- LibraryBaseErrC LayersBase("layers.library",37);
- LibraryBaseErrC WorkbenchBase("workbench.library",37);
-
- int main()
- {
- if (!LibraryBaseC::areAllOpen())
- return 20;
-
- // diese Klasse empfängt und verarbeitet alle Signale
- SignalsC sc;
-
- // öffentlichen Standardbildschirm sperren
- PublicScreenC screen();
- if (!screen.lock(NULL))
- return 100;
-
- // der IDCMPort (in der GadTools Version) für die Fenster
- GTIDCMPortC port;
- sc.add(port);
-
- // Das Fenster
- TestWindowC window(port,screen);
-
- // noch einen Ctrl C HandlerC zur Sicherheit einhängen
- CtrlCHandlerC ctrlchandler;
- sc.add(ctrlchandler);
-
- // Fenster öffnen
- window.open();
-
- // THE BIG AND EASY ONE!
- sc.loop();
-
- return 0;
- }
-