home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / PowerPlant / Multi-Panel Dialogs 1.1 / MPDTest App / App Sources / MPDTestMain.cp < prev    next >
Encoding:
Text File  |  1996-11-16  |  5.2 KB  |  175 lines  |  [TEXT/R*ch]

  1. #include "MPDTestMain.h"
  2.  
  3. #include <stdlib.h>
  4.  
  5. #include <PPobClasses.h>
  6. #include <LGroupBox.h>
  7. #include <UMemoryMgr.h>
  8. #include <UDrawingState.h>
  9. #include <LGrowZone.h>
  10. #include <LActiveScroller.h>
  11. #include <URegistrar.h>
  12.  
  13. #define USE_AGA_CLASSES 0
  14. #include "CMPDPanelSelectTable.h"
  15. #include "CMPDIncludeView.h"
  16. #include "CIncludeView.h"
  17. #include "UTestPrefsDialogHandler.h"
  18. #include "CCommunicationPanel.h"
  19. #include "CDefensePanel.h"
  20. #include "CPowerPanel.h"
  21. #include "CTargeterBorder.h"
  22. #ifdef USE_AGA_CLASSES
  23. //LAGA Classes
  24.     #include "CMPDAGAIndexTab.h"
  25.     #include "LAGADialogBox.h"
  26.     #include "LAGAPushButton.h"
  27.     #include "LAGACheckBox.h"
  28.     #include "LAGARadioButton.h"
  29.     #include "LAGAEditField.h"
  30.     #include "LAGAGroupBox.h"
  31.  
  32. // Gray Council classes
  33.     #include "CMPDGrayCouncilTabs.h"
  34.     #include "GrayCouncilPP.h"
  35. #endif
  36.  
  37. // put declarations for resource ids (ResIDTs) here
  38. const CommandT    cmd_Prefs1            = 10000;
  39. #ifdef USE_AGA_CLASSES
  40.     const CommandT    cmd_Prefs2            = 10001;
  41.     const CommandT    cmd_Prefs3            = 10002;
  42. #endif
  43. // ===========================================================================
  44. //        • Main Program
  45. // ===========================================================================
  46. void main(void)
  47. {
  48.     SetDebugThrow_(debugAction_Alert);
  49.     SetDebugSignal_(debugAction_Alert);
  50.  
  51.     InitializeHeap(10);
  52.     UQDGlobals::InitializeToolbox(&qd);
  53.     
  54.     new LGrowZone(20000);
  55.     CPPStarterApp    theApp;
  56.     theApp.Run();
  57. }
  58.  
  59.  
  60. CPPStarterApp::CPPStarterApp()
  61. {
  62.     RegisterAllPPClasses();
  63.     URegistrar::RegisterClass(CMPDPanelSelectTable::class_ID,        
  64.                                                     (ClassCreatorFunc)CMPDPanelSelectTable::CreateFromStream);
  65.     URegistrar::RegisterClass(CMPDIncludeView::class_ID,        
  66.                                                     (ClassCreatorFunc)CMPDIncludeView::CreateFromStream);
  67.     URegistrar::RegisterClass(CIncludeView::class_ID,        
  68.                                                     (ClassCreatorFunc)CIncludeView::CreateFromStream);
  69.     URegistrar::RegisterClass(CCommunicationPanel::class_ID,        
  70.                                                     (ClassCreatorFunc)CCommunicationPanel::CreateFromStream);
  71.     URegistrar::RegisterClass(CDefensePanel::class_ID,        
  72.                                                     (ClassCreatorFunc)CDefensePanel::CreateFromStream);
  73.     URegistrar::RegisterClass(CPowerPanel::class_ID,        
  74.                                                     (ClassCreatorFunc)CPowerPanel::CreateFromStream);
  75.     URegistrar::RegisterClass(CTargeterBorder::class_ID,        
  76.                                                     (ClassCreatorFunc)CTargeterBorder::CreateFromStream);
  77.     URegistrar::RegisterClass(LGroupBox::class_ID,        
  78.                                                     (ClassCreatorFunc)LGroupBox::CreateGroupBoxStream);
  79.     URegistrar::RegisterClass(LActiveScroller::class_ID,        
  80.                                                     (ClassCreatorFunc)LActiveScroller::CreateActiveScrollerStream);
  81. #ifdef USE_AGA_CLASSES
  82. // LAGA classes
  83.     URegistrar::RegisterClass(CMPDAGAIndexTab::class_ID,        
  84.                                         (ClassCreatorFunc)CMPDAGAIndexTab::CreateFromStream);
  85.     URegistrar::RegisterClass(LAGADialogBox::class_ID, 
  86.                                         (ClassCreatorFunc)LAGADialogBox::CreateAGADialogBoxStream);
  87.     URegistrar::RegisterClass(LAGAPushButton::class_ID, 
  88.                                         (ClassCreatorFunc)LAGAPushButton::CreateAGAPushButtonStream);
  89.     URegistrar::RegisterClass(LAGACheckBox::class_ID, 
  90.                                         (ClassCreatorFunc)LAGACheckBox::CreateAGACheckBoxStream);
  91.     URegistrar::RegisterClass(LAGARadioButton::class_ID, 
  92.                                         (ClassCreatorFunc)LAGARadioButton::CreateAGARadioButtonStream);
  93.     URegistrar::RegisterClass(LAGAGroupBox::class_ID, 
  94.                                         (ClassCreatorFunc)LAGAGroupBox::CreateAGAGroupBoxStream);
  95.     URegistrar::RegisterClass(LAGAEditField::class_ID, 
  96.                                         (ClassCreatorFunc)LAGAEditField::CreateAGAEditFieldStream);
  97.  
  98. // Gray Council classes
  99.     ThrowIfOSErr_(InitGrayCouncil());
  100.  
  101.     URegistrar::RegisterClass(CMPDGrayCouncilTabs::class_ID,        
  102.                                         (ClassCreatorFunc)CMPDGrayCouncilTabs::CreateFromStream);
  103.     URegistrar::RegisterClass(AGADialogBoxPP::class_ID, 
  104.                                         (ClassCreatorFunc)AGADialogBoxPP::CreateStream);
  105.     URegistrar::RegisterClass(AGAPushButtonPP::class_ID, 
  106.                                         (ClassCreatorFunc)AGAPushButtonPP::CreateStream);
  107.     URegistrar::RegisterClass(AGACheckBoxPP::class_ID, 
  108.                                         (ClassCreatorFunc)AGACheckBoxPP::CreateStream);
  109.     URegistrar::RegisterClass(AGARadioButtonPP::class_ID, 
  110.                                         (ClassCreatorFunc)AGARadioButtonPP::CreateStream);
  111.     URegistrar::RegisterClass(AGAGroupBoxPP::class_ID, 
  112.                                         (ClassCreatorFunc)AGAGroupBoxPP::CreateStream);
  113.     URegistrar::RegisterClass(AGAEditFieldPP::class_ID, 
  114.                                         (ClassCreatorFunc)AGAEditFieldPP::CreateStream);
  115.     URegistrar::RegisterClass(AGAPopupMenuPP::class_ID, 
  116.                                         (ClassCreatorFunc)AGAPopupMenuPP::CreateStream);
  117. #endif
  118. }
  119.  
  120.  
  121. CPPStarterApp::~CPPStarterApp()
  122. {
  123. }
  124.  
  125. Boolean
  126. CPPStarterApp::ObeyCommand(
  127.     CommandT    inCommand,
  128.     void        *ioParam)
  129. {
  130.     Boolean        cmdHandled = true;
  131.  
  132.     switch (inCommand) 
  133.     {
  134.         case cmd_Prefs1:
  135. #ifdef USE_AGA_CLASSES
  136.         case cmd_Prefs2:
  137.         case cmd_Prefs3:
  138. #endif
  139.             StTestPrefsDialogHandler::GetPreferences(this, inCommand);
  140.             break;
  141.  
  142.         default:
  143.             cmdHandled = LApplication::ObeyCommand(inCommand, ioParam);
  144.             break;
  145.     }
  146.     
  147.     return cmdHandled;
  148. }
  149.  
  150. void
  151. CPPStarterApp::FindCommandStatus(
  152.     CommandT    inCommand,
  153.     Boolean        &outEnabled,
  154.     Boolean        &outUsesMark,
  155.     Char16        &outMark,
  156.     Str255        outName)
  157. {
  158.  
  159.     switch (inCommand) 
  160.     {
  161.         case cmd_Prefs1:
  162. #ifdef USE_AGA_CLASSES
  163.         case cmd_Prefs2:
  164.         case cmd_Prefs3:
  165. #endif
  166.             outEnabled = true;
  167.             break;
  168.  
  169.         default:
  170.             LApplication::FindCommandStatus(inCommand, outEnabled,
  171.                                                 outUsesMark, outMark, outName);
  172.             break;
  173.     }
  174. }
  175.