home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 15 / Amiga Plus Leser CD 15.iso / Tools / Development / CIT.v4 / Demo / DynamicDemo.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  2002-03-13  |  2.7 KB  |  133 lines

  1. //
  2. // Dynamic demo
  3. //
  4. #include <CITGroup.h>
  5. #include <CITButton.h>
  6. #include <CITCheckBox.h>
  7.  
  8. #include <libraries/gadtools.h>
  9.  
  10. CITApp Application;
  11.  
  12. CITWorkbench DynamicScreen;
  13. CITWindow    DynamicWindow;
  14. CITVGroup    winGroup;
  15. CITHGroup    topGroup,botGroup;
  16. CITButton    quitButton;
  17. CITButton    rplButton;
  18. CITButton    remButton;
  19. CITButton    addButton;
  20. CITButton    largeButton;
  21. CITCheckBox  checkBox;
  22.  
  23. void closeEvent();
  24. void quitEvent(ULONG ID);
  25. void rplEvent(ULONG ID);
  26. void remEvent(ULONG ID);
  27. void addEvent(ULONG ID);
  28.  
  29. int main()
  30. {
  31.   BOOL Error=FALSE;
  32.  
  33.   DynamicScreen.InsObject(DynamicWindow,Error);
  34.     DynamicWindow.Position(1);
  35.     DynamicWindow.CloseGadget();
  36.     DynamicWindow.DragBar();
  37.     DynamicWindow.SizeGadget();
  38.     DynamicWindow.DepthGadget();
  39.     DynamicWindow.IconifyGadget();
  40.     DynamicWindow.IconTitle("DynamicDemo");
  41.     DynamicWindow.Activate();
  42.     DynamicWindow.Caption("CIT Dynamic Layout Example");
  43.     DynamicWindow.CloseEventHandler(closeEvent);
  44.     DynamicWindow.InsObject(winGroup,Error);
  45.       winGroup.InsObject(botGroup,Error);
  46.         botGroup.EvenSize();
  47.         botGroup.InsObject(addButton,Error);
  48.           addButton.Text("_AddChild");
  49.           addButton.EventHandler(addEvent);
  50.         botGroup.InsObject(remButton,Error);
  51.           remButton.Text("_RemoveChild");
  52.           remButton.EventHandler(remEvent);
  53.           remButton.Disabled();
  54.         botGroup.InsObject(rplButton,Error);
  55.           rplButton.Text("ReplaceChild");
  56.           rplButton.EventHandler(rplEvent);
  57.           rplButton.Disabled();
  58.         botGroup.InsObject(quitButton,Error);
  59.           quitButton.Text("_Quit");
  60.           quitButton.EventHandler(quitEvent);
  61.  
  62.   //
  63.   // To be inserted after user request
  64.   //
  65.   topGroup.Inverted();
  66.   topGroup.InsObject(largeButton,Error);
  67.     largeButton.Text("Peekaboo!");
  68.  
  69.   checkBox.Text("Peekaboo!");
  70.   checkBox.TextPlace(PLACETEXT_RIGHT);
  71.  
  72.   Application.InsObject(DynamicScreen,Error);
  73.  
  74.   // Ok?
  75.   if( Error )
  76.     return 10;
  77.  
  78.   Application.Run();
  79.  
  80.   Application.RemObject(DynamicScreen);
  81.  
  82.   return 0;
  83. }
  84.  
  85. void closeEvent()
  86. {
  87.   Application.Stop();
  88. }
  89.  
  90. void rplEvent(ULONG ID)
  91. {
  92.   if( topGroup.Inserted() )
  93.   {
  94.        BOOL Error = FALSE;
  95.  
  96.     if( largeButton.Inserted() )
  97.     {
  98.          topGroup.RemObject(largeButton);
  99.       topGroup.InsObject(checkBox,Error);
  100.     }
  101.     else
  102.     {
  103.         topGroup.RemObject(checkBox);
  104.          topGroup.InsObject(largeButton,Error);
  105.        }
  106.   }
  107. }
  108.  
  109. void remEvent(ULONG ID)
  110. {
  111.   winGroup.RemObject(topGroup);
  112.  
  113.   addButton.Disabled(FALSE);
  114.   remButton.Disabled(TRUE);
  115.   rplButton.Disabled(TRUE);
  116. }
  117.  
  118. void addEvent(ULONG ID)
  119. {
  120.   BOOL Error = FALSE;
  121.  
  122.   winGroup.InsObject(topGroup,Error);
  123.  
  124.   addButton.Disabled(TRUE);
  125.   remButton.Disabled(FALSE);
  126.   rplButton.Disabled(FALSE);
  127. }
  128.  
  129. void quitEvent(ULONG ID)
  130. {
  131.   Application.Stop();
  132. }
  133.