]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/aui/framemanager.h
minor refactoring of OnEraseBackground()
[wxWidgets.git] / include / wx / aui / framemanager.h
index 7c4390a5eb751740dbf6ec2355fb17df4d8bc4a2..23a277e70544480493d7c7f9073bd4ec31f773b0 100644 (file)
@@ -44,10 +44,16 @@ enum wxFrameManagerOption
     wxAUI_MGR_TRANSPARENT_DRAG      = 1 << 2,
     wxAUI_MGR_TRANSPARENT_HINT      = 1 << 3,
     wxAUI_MGR_TRANSPARENT_HINT_FADE = 1 << 4,
+    // The venetian blind effect is ONLY used when the wxAUI_MGR_TRANSPARENT_HINT has been used, but
+    // at runtime we determine we cannot use transparency (because, for instance, the OS does not support it).
+    // setting this flag drops back in such circumstances (only) to the behaviour without wxAUI_MGR_TRANSPARENT_HINT
+    wxAUI_MGR_DISABLE_VENETIAN_BLINDS = 1 << 5,
+    wxAUI_MGR_DISABLE_VENETIAN_BLINDS_FADE = 1 << 6,
 
     wxAUI_MGR_DEFAULT = wxAUI_MGR_ALLOW_FLOATING |
                         wxAUI_MGR_TRANSPARENT_HINT |
-                        wxAUI_MGR_TRANSPARENT_HINT_FADE
+                        wxAUI_MGR_TRANSPARENT_HINT_FADE |
+                        wxAUI_MGR_DISABLE_VENETIAN_BLINDS_FADE
 };
 
 enum wxPaneDockArtSetting
@@ -340,7 +346,7 @@ public:
     wxString caption;     // caption displayed on the window
 
     wxWindow* window;     // window that is in this pane
-    wxWindow* frame;      // floating frame window that holds the pane
+    wxFrame* frame;       // floating frame window that holds the pane
     unsigned int state;   // a combination of wxPaneState values
 
     int dock_direction;   // dock direction (top, bottom, left, right, center)
@@ -394,6 +400,10 @@ public:
 
     bool AddPane(wxWindow* window,
                  const wxPaneInfo& pane_info);
+                 
+    bool AddPane(wxWindow* window,
+                 const wxPaneInfo& pane_info,
+                 const wxPoint& drop_pos);
 
     bool AddPane(wxWindow* window,
                  int direction = wxLEFT,
@@ -412,6 +422,15 @@ public:
 
     void Update();
 
+
+public:
+
+    void DrawHintRect(wxWindow* pane_window,
+                       const wxPoint& pt,
+                       const wxPoint& offset);
+    virtual void ShowHint(const wxRect& rect);
+    virtual void HideHint();
+
 public:
 
     // deprecated -- please use SetManagedWindow() and
@@ -422,10 +441,8 @@ public:
     
 protected:
 
-    void DrawHintRect(wxWindow* pane_window,
-                       const wxPoint& pt,
-                       const wxPoint& offset);
 
+    
     void DoFrameLayout();
 
     void LayoutAddPane(wxSizer* container,
@@ -472,8 +489,7 @@ protected:
     void GetPanePositionsAndSizes(wxDockInfo& dock,
                               wxArrayInt& positions,
                               wxArrayInt& sizes);
-    virtual void ShowHint(const wxRect& rect);
-    virtual void HideHint();
+
 
 public:
 
@@ -527,9 +543,10 @@ protected:
     wxRect m_last_hint;          // last hint rectangle
     wxPoint m_last_mouse_move;   // last mouse move position (see OnMotion)
 
-    wxWindow* m_hint_wnd;        // transparent hint window (for now, only msw)
-    wxTimer m_hint_fadetimer;    // transparent fade timer (for now, only msw)
-    int m_hint_fadeamt;          // transparent fade amount (for now, only msw)
+    wxFrame* m_hint_wnd;         // transparent hint window, if supported by platform
+    wxTimer m_hint_fadetimer;    // transparent fade timer
+    wxByte m_hint_fadeamt;       // transparent fade amount
+    wxByte m_hint_fademax;       // maximum value of hint fade
 
 #ifndef SWIG
     DECLARE_EVENT_TABLE()