home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC5.DMS / in.adf / EO-Demos.lha / EasyObjects-Demos / ScrollerFenster / ScrollerFenster.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-24  |  2.2 KB  |  95 lines

  1. #include <classes/layouter/windows.h>
  2. #include <classes/layouter/boopsigadgets.h>
  3. #include <classes/exec/libraries.h>
  4. #include <classes/boopsi/images.h>
  5. #include <classes/layouter/decorgadgets.h>
  6.  
  7. class ScrollerWindowC : public LayouterWindowC {
  8. public:
  9.     ScrollerWindowC(GTIDCMPortC &, ScreenC &);
  10.     ~ScrollerWindowC();
  11.     TextAttrC font;
  12.     LBScrollerC vertical,horizontal;
  13.     GeometryC verticalGeo,horizontalGeo;
  14. };
  15.  
  16. ScrollerWindowC::ScrollerWindowC(GTIDCMPortC &p, ScreenC &s)
  17.     : LayouterWindowC(p,s,font,
  18.         WA_SizeBRight,TRUE,
  19.         WA_SizeBBottom,TRUE,
  20.         WA_CloseGadget,TRUE,
  21.         WA_DepthGadget,TRUE,
  22.         WA_SizeGadget,TRUE,
  23.         WA_DragBar,TRUE,
  24.         TAG_END),
  25.       font("topaz.font",8),
  26.       vertical(NULL,*this,0,0,
  27.           GA_RightBorder,TRUE,
  28.           PGA_Borderless,TRUE,
  29.           PGA_Freedom,FREEVERT,
  30.           PGA_NewLook,TRUE,
  31.           TAG_END),
  32.       horizontal(NULL,*this,0,0,
  33.           GA_BottomBorder,TRUE,
  34.           PGA_Borderless,TRUE,
  35.           PGA_Freedom,FREEHORIZ,
  36.           PGA_NewLook,TRUE,
  37.        TAG_END),
  38.       verticalGeo(vertical,
  39.        LAYOUT_GROUP,NULL,0,LAYOUT_GROUP,NULL,-2,
  40.        LAYOUT_GROUP,NULL,2,LAYOUT_GROUP,NULL,-2),
  41.       horizontalGeo(horizontal,
  42.        LAYOUT_GROUP,NULL,1,LAYOUT_GROUP,NULL,-1,
  43.        LAYOUT_GROUP,NULL,0,LAYOUT_GROUP,NULL,-2)
  44. {
  45.     gadgets.add(vertical);
  46.     gadgets.add(horizontal);
  47.     rightGeo.add(verticalGeo);
  48.     bottomGeo.add(horizontalGeo);
  49. }
  50.  
  51. ScrollerWindowC::~ScrollerWindowC()
  52. {
  53.     close();
  54. }
  55.  
  56. LibraryBaseErrC GadToolsBase("gadtools.library",37);
  57. LibraryBaseErrC UtilityBase("utility.library",37);
  58. LibraryBaseErrC AslBase("asl.library",37);
  59. LibraryBaseErrC CxBase("commodities.library",37);
  60. LibraryBaseErrC LayersBase("layers.library",37);
  61. LibraryBaseErrC WorkbenchBase("workbench.library",37);
  62.  
  63. int main()
  64. {
  65.     if (!LibraryBaseC::areAllOpen())
  66.         return 20;
  67.  
  68.     // diese Klasse empfängt und verarbeitet alle signals
  69.     SignalsC sc;
  70.  
  71.     // public screen sperren
  72.     PublicScreenC screen(NULL);
  73.     screen.open();
  74.  
  75.     // der IDCMPort (in der GadTools Version) für die Fenster
  76.     GTIDCMPortC port;
  77.     sc.add(port);
  78.  
  79.     // Ein Testfenster erzeugen
  80.     ScrollerWindowC window(port,screen);
  81.     WindowCloseHandlerC wch(window);
  82.  
  83.     CtrlCHandlerC ctrlc();
  84.     sc.add(ctrlc);
  85.  
  86.     // Fenster öffnen
  87.     window.open(WA_Width,100, WA_Height,100, TAG_END);
  88.  
  89.     // THE BIG AND EASY ONE!
  90.     sc.loop();
  91.  
  92.     return 0;
  93. }
  94.  
  95.