]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/include/wx/fl/controlbar.h
Added Marco to credits
[wxWidgets.git] / contrib / include / wx / fl / controlbar.h
index 7094003467f35c305f9defa6e16628637941f5e5..2a39ea480f46a8ff1a0b7df42fc6cafb24e0a7b5 100644 (file)
@@ -13,7 +13,7 @@
 #ifndef __CONTROLBAR_G__
 #define __CONTROLBAR_G__
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "controlbar.h"
 #endif
 
 #include "wx/string.h"
 #include "wx/window.h"
 #include "wx/dynarray.h"
+#include "wx/fl/fldefs.h"
 
 #define WXCONTROLBAR_VERSION      1.3
 
 // forward declarations
 
-class  wxFrameLayout;
+class  WXDLLIMPEXP_FL wxFrameLayout;
 
-class  cbDockPane;
-class  cbUpdatesManagerBase;
-class  cbBarDimHandlerBase;
-class  cbPluginBase;
-class  cbPluginEvent;
-class  cbPaneDrawPlugin;
+class  WXDLLIMPEXP_FL cbDockPane;
+class  WXDLLIMPEXP_FL cbUpdatesManagerBase;
+class  WXDLLIMPEXP_FL cbBarDimHandlerBase;
+class  WXDLLIMPEXP_FL cbPluginBase;
+class  WXDLLIMPEXP_FL cbPluginEvent;
+class  WXDLLIMPEXP_FL cbPaneDrawPlugin;
 
-class cbBarInfo;
-class cbRowInfo;
-class cbDimInfo;
-class cbCommonPaneProperties;
+class WXDLLIMPEXP_FL cbBarInfo;
+class WXDLLIMPEXP_FL cbRowInfo;
+class WXDLLIMPEXP_FL cbDimInfo;
+class WXDLLIMPEXP_FL cbCommonPaneProperties;
 
 typedef cbBarInfo* BarInfoPtrT;
 typedef cbRowInfo* RowInfoPtrT;
 
-WX_DEFINE_ARRAY( BarInfoPtrT, BarArrayT );
-WX_DEFINE_ARRAY( RowInfoPtrT, RowArrayT );
+WXFL_DEFINE_ARRAY_PTR( BarInfoPtrT, BarArrayT );
+WXFL_DEFINE_ARRAY_PTR( RowInfoPtrT, RowArrayT );
 
 // control bar states
 
@@ -97,7 +98,7 @@ Helper class, used for spying for unhandled mouse events on control bars
 and forwarding them to the frame layout.
 */
 
-class cbBarSpy : public wxEvtHandler
+class WXDLLIMPEXP_FL cbBarSpy : public wxEvtHandler
 {
 public:
     DECLARE_DYNAMIC_CLASS( cbBarSpy )
@@ -129,7 +130,7 @@ which can be docked along the top, bottom, right, or left side of the
 parent frame.
 */
 
-class wxFrameLayout : public wxEvtHandler
+class WXDLLIMPEXP_FL wxFrameLayout : public wxEvtHandler
 {
 public:
         // Default constructor, used only for serialization.
@@ -238,7 +239,7 @@ public:
                          int alignment    = FL_ALIGN_TOP,
                          int rowNo        = 0,
                          int columnPos    = 0,
-                         const wxString& name="bar",
+                         const wxString& name = wxT("bar"),
                          bool spyEvents    = FALSE,
                          int state        = wxCBAR_DOCKED_HORIZONTALLY
                        );
@@ -647,7 +648,7 @@ used by any particular updates-manager to store
 auxiliary information to be used by its updating algorithm.
 */
 
-class cbUpdateMgrData : public wxObject
+class WXDLLIMPEXP_FL cbUpdateMgrData : public wxObject
 {
     DECLARE_DYNAMIC_CLASS( cbUpdateMgrData )
 public:
@@ -687,7 +688,7 @@ to adjust the values in cbDimInfo::mSizes accordingly.
 Specific handlers can be hooked up to specific types of bar.
 */
 
-class cbBarDimHandlerBase : public wxObject
+class WXDLLIMPEXP_FL cbBarDimHandlerBase : public wxObject
 {
     DECLARE_ABSTRACT_CLASS( cbBarDimHandlerBase )
 
@@ -725,7 +726,7 @@ Helper class used internally by the wxFrameLayout class.
 Holds and manages information about bar dimensions.
 */
 
-class cbDimInfo : public wxObject
+class WXDLLIMPEXP_FL cbDimInfo : public wxObject
 {
     DECLARE_DYNAMIC_CLASS( cbDimInfo )
 public:
@@ -824,7 +825,7 @@ public:
 };
 
 // FIXME: this array definition compiles but probably doesn't do what was intended (GD)
-WX_DEFINE_ARRAY_LONG(float, cbArrayFloat);
+WXFL_DEFINE_ARRAY_LONG(float, cbArrayFloat);
 
 /*
 Helper class used internally by the wxFrameLayout class.
@@ -903,6 +904,13 @@ public:
     bool          mHasLeftHandle;
     bool          mHasRightHandle;
 
+    // determines if this bar can float. The layout's setting as priority. For 
+    // example, if the layout's mFloatingOn is false, this setting is irrelevant
+    // since nothing will float at all. If the layout's floating is on, use this
+    // setting to prevent specific bars from floating. In other words, all bars 
+    // float by default and floating can be turned off on individual bars.
+    bool          mFloatingOn;    // default: ON (which is also the layout's mFloatingOn default setting)
+
     cbDimInfo     mDimInfo;       // preferred sizes for each, control bar state
 
     int           mState;         // (see definition of controlbar states)
@@ -1026,6 +1034,14 @@ class cbCommonPaneProperties : public wxObject
         // Default constructor.
 
     cbCommonPaneProperties(void);
+
+        // Copy constructor
+    
+    cbCommonPaneProperties(const cbCommonPaneProperties&);
+
+        // Assignment operator
+    
+    cbCommonPaneProperties& operator=(const cbCommonPaneProperties&);
 };
 
 /*
@@ -1482,25 +1498,25 @@ public:
         // they would usually be invoked). Custom updates-managers may utilize
         // these notifications to implement a more fine-grained updating strategy.
 
-    virtual void OnRowWillChange( cbRowInfo* pRow, cbDockPane* pInPane ) {}
+    virtual void OnRowWillChange( cbRowInfo* WXUNUSED(pRow), cbDockPane* WXUNUSED(pInPane) ) {}
 
         // This function receives a notification from the frame layout (in the order in which
         // they would usually be invoked). Custom updates-managers may utilize
         // these notifications to implement a more fine-grained updating strategy.
 
-    virtual void OnBarWillChange( cbBarInfo* pBar, cbRowInfo* pInRow, cbDockPane* pInPane ) {}
+    virtual void OnBarWillChange( cbBarInfo* WXUNUSED(pBar), cbRowInfo* WXUNUSED(pInRow), cbDockPane* WXUNUSED(pInPane) ) {}
 
         // This function receives a notification from the frame layout (in the order in which
         // they would usually be invoked). Custom updates-managers may utilize
         // these notifications to implement a more fine-grained updating strategy.
 
-    virtual void OnPaneMarginsWillChange( cbDockPane* pPane ) {}
+    virtual void OnPaneMarginsWillChange( cbDockPane* WXUNUSED(pPane) ) {}
 
         // This function receives a notification from the frame layout (in the order in which
         // they would usually be invoked). Custom updates-managers may utilize
         // these notifications to implement a more fine-grained updating strategy.
 
-    virtual void OnPaneWillChange( cbDockPane* pPane ) {}
+    virtual void OnPaneWillChange( cbDockPane* WXUNUSED(pPane) ) {}
 
         // This function receives a notification from the frame layout (in the order in which
         // they would usually be invoked). Custom updates-managers may utilize