00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __CAUGUI_PANE__
00017 #define __CAUGUI_PANE__
00018
00019 #include "CAUGuiConfig.h"
00020
00021 #include "CAUGui.h"
00022
00034 class CAUGuiPane : public CAUGuiCtrl
00035 {
00036 public:
00037
00039 CAUGuiPane ( CAUGuiMan*, eRect*, CAUGuiGraphic* );
00040
00042 virtual ~CAUGuiPane ();
00043
00045 virtual bool isControlRef ( ControlRef theControl );
00046
00048 virtual CAUGuiCtrl* getChild(ControlRef theControl);
00049
00051 virtual bool providesForeignControls () { return true; }
00052
00054 virtual void initForeignControls (ControlDefSpec &ControlSpec);
00055
00056 virtual void draw(CGContextRef context, UInt32 portHeight);
00057 virtual void mouseDown(Point *P, bool, bool) {};
00058 virtual void mouseTrack(Point *P, bool, bool) {};
00059 virtual void mouseUp(Point *P, bool, bool) {};
00060
00061 protected:
00062
00063 CAUGuiGraphic* BackGround;
00064 ControlRef upperLeft;
00065 ControlRef lowerRight;
00066
00067
00068 };
00069
00070 #define CAUGUI_PANE_MAX_GROUPS 16
00071
00099 class CAUGuiLayeredPane : public CAUGuiPane
00100 {
00101 public:
00102
00104 CAUGuiLayeredPane ( CAUGuiMan*, eRect*, CAUGuiGraphic* );
00105
00107 virtual ~CAUGuiLayeredPane ();
00108
00109 virtual bool isControlRef ( ControlRef theControl );
00110 virtual CAUGuiCtrl* getChild(ControlRef theControl);
00111
00112 virtual void draw(CGContextRef context, UInt32 portHeight);
00113 virtual void mouseDown(Point *P, bool, bool) {};
00114 virtual void mouseTrack(Point *P, bool, bool) {};
00115 virtual void mouseUp(Point *P, bool, bool) {};
00116
00117 virtual void idle();
00118
00119 virtual void clip ( bool drawing );
00120
00122 virtual void setLayer ( int l );
00123
00125 virtual void showGroup ( int l, bool visible );
00126
00128 virtual void addCtrl( CAUGuiCtrl* theCtrl, int theLayer );
00129
00131 virtual void addCtrlToGroup( CAUGuiCtrl* theCtrl, int theGroup );
00132
00134 virtual void addCtrl( CAUGuiCtrl* theCtrl ) { CAUGuiPane::addCtrl( theCtrl ); }
00135 virtual void setOffset ( SInt32 x, SInt32 y );
00136
00138 virtual void addBackground( CAUGuiGraphic* theBG, int theLayer );
00139
00141 virtual void placeGroupLabel ( CAUGuiGraphic* label, int group, int x, int y );
00142
00143 protected:
00144
00145 CAUGuiGraphic* layerBackGround[ CAUGUI_PANE_MAX_LAYERS ];
00146 CAUGuiCtrl* Layered[ CAUGUI_PANE_MAX_LAYERS ];
00147 CAUGuiCtrl* Grouped[ CAUGUI_PANE_MAX_GROUPS ];
00148 CAUGuiLabel* GroupLabels[ CAUGUI_PANE_MAX_GROUPS ];
00149 int GroupState[ CAUGUI_PANE_MAX_GROUPS ];
00150 int currentLayer;
00151
00152
00153 };
00154
00155
00156 #endif