home *** CD-ROM | disk | FTP | other *** search
-
- #include <classes/intuition/window.h>
- #include <classes/intuition/screen.h>
- #include <classes/exec/libraries.h>
-
- class TestWindowC : public WindowC {
- public:
- TestWindowC(IDCMPortC &, STRPTR title);
- ~TestWindowC();
- private:
- WindowCloseHandlerC wch;
- };
-
- TestWindowC::TestWindowC(IDCMPortC &p, STRPTR title)
- : WindowC(p,
- WA_DragBar,TRUE,
- WA_Width,300,
- WA_Height,150,
- WA_CloseGadget,TRUE,
- WA_DepthGadget,TRUE,
- WA_Title,title,
- WA_IDCMP,IDCMP_GADGETUP,
- TAG_END),
- wch(*this)
- {
- addIDCMP(IDCMP_DISKINSERTED|IDCMP_DISKREMOVED);
- }
-
- 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;
-
- // der IDCMPort für die Fenster
- IDCMPortC port;
- sc.add(port);
-
- // einige Fenster
- TestWindowC window1(port,"Fenster 1: busy");
- TestWindowC window2(port, "Fenster2");
- TestWindowC window3(port, "Fenster 3: busy");
-
- // eine Fensterliste
- WindowListC windowliste;
- windowliste.add(window1);
- windowliste.add(window2);
- windowliste.add(window3);
-
- // noch einen Ctrl C HandlerC zur Sicherheit einhängen
- CtrlCHandlerC ctrlchandler;
- sc.add(ctrlchandler);
-
- // alle Fenster öffnen
- window1.open(WA_Left,0,WA_Top,0,TAG_END);
- window2.open(WA_Left,20,WA_Top,20,TAG_END);
- window3.open(WA_Left,40,WA_Top,40,TAG_END);
-
- windowliste.setBusy(TRUE,&window2);
-
- // THE BIG AND EASY ONE!
- sc.loop();
-
- windowliste.close();
-
- return 0;
- }
-