Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

CAUGuiPane.h

Go to the documentation of this file.
00001 /*
00002  *  CAUGuiPane.h
00003  *  CoreGraphics AudioUnit GUI framework
00004  *
00005  *  Created by Urs Heckmann on Sun Oct 27 2002.
00006  *  Copyright (c) 2002 __MyCompanyName__. All rights reserved.
00007  *
00008  */
00009 
00010 /**********************************************************************************
00011 
00012     usage:
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

(c) 2002 - 2003 by Urs Heckmann www.u-he.com
Generated on Thu May 6 15:13:14 2004 for CAUGui by doxygen 1.3.6