home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / PowerPlant / Multi-Panel Dialogs 1.1 / MPD Sources / CMPDGrayCouncilTabs.h < prev    next >
Encoding:
Text File  |  1996-11-13  |  2.6 KB  |  82 lines  |  [TEXT/R*ch]

  1. // ===========================================================================
  2. //    File:                        CMPDGrayCouncilTabs.h
  3. // Version:                    1.0 - Sept 9, 1996
  4. //    Author:                    Mike Shields (mshields@inconnect.com)
  5. //                            
  6. //    Copyright ©1996 Mike Shields. All rights reserved.
  7. // ===========================================================================
  8. //    CMPDGrayCouncilTabs.cp        <- double-click + Command-D to see class definition
  9. //
  10. // A subclasses of AGATabPanelPPX which has been adapted to work with the MPD classes.
  11.  
  12. #pragma once
  13.  
  14. #include "CMPDPanelSelectControl.h"
  15. #include "GrayCouncilPP.h"
  16.  
  17. //===========================================================================
  18. // class CMPDGrayCouncilTabs
  19. //===========================================================================
  20. class CMPDGrayCouncilTabs : public AGATabPanelPPX, 
  21.                                         public CMPDPanelSelectControl
  22. {
  23. public:
  24.     enum                { class_ID = 'MPD1' };
  25.  
  26.     static CMPDGrayCouncilTabs* 
  27.                         CreateFromStream(LStream* inStream);
  28.  
  29.                         CMPDGrayCouncilTabs(LStream* inStream);
  30.     virtual             ~CMPDGrayCouncilTabs();
  31.  
  32.     // AGATabPanelPPX overides
  33.     virtual void    SetValue(SInt32 inValue);
  34.  
  35.     // CMPDPanelSelectControl overides
  36.     virtual void    InsertPanelIDs(MPDPtr inPanelIDData);
  37.  
  38.     virtual void    SelectPanelID(PanelIDIndexT inPanelID);
  39.     
  40.     virtual void     ReportPanelIDChanged(void);
  41.     
  42. protected:
  43.     // CMPDPanelSelectControl overides
  44.     virtual PanelIDIndexT    
  45.                         GetCurrentPanelID(void) const;
  46.  
  47.     // The normal AGATabPanel also handles switching panels in and out. 
  48.     // I want the MPD framework to handle this so I'm short circuiting
  49.     // the base class' handling. I just want it to draw the tabs.
  50.     virtual void    CreateContainerView() { };
  51.     virtual void    AddPanel(ResIDT panelResourceID, StringPtr tabLabel) { };
  52.     virtual void    InstallPanel(SInt32 tabIndex, ResIDT panelResourceID,
  53.                                             StringPtr tabLabel);
  54.     virtual LView*    GetPanelView(SInt32 tabIndex) { return nil; };
  55.     virtual Boolean    
  56.                         ValidatePanel(SInt32 currentTabIndex) { return true; };
  57.  
  58.     virtual void    SwitchPanelOut() { };
  59.     virtual void    SwitchPanelIn(SInt32 newTabIndex) { };
  60. };
  61.  
  62. //===========================================================================
  63. // class CMPDSmallGrayCouncilTabs
  64. //===========================================================================
  65. // a subclass which forces the tabs to be small
  66. class CMPDSmallGrayCouncilTabs : public CMPDGrayCouncilTabs
  67. {
  68. public:
  69.     enum                { class_ID = 'MPD2' };
  70.  
  71.     static CMPDSmallGrayCouncilTabs* 
  72.                         CreateFromStream(LStream* inStream);
  73.  
  74.                         CMPDSmallGrayCouncilTabs(LStream* inStream);
  75.     virtual             ~CMPDSmallGrayCouncilTabs();
  76.     
  77. protected:
  78.     // AGATabPanel overides
  79.     virtual void    CreateAGAObject();
  80. };
  81.  
  82.