]> git.saurik.com Git - wxWidgets.git/commitdiff
allow programmatic access to start pane dragging
authorBenjamin Williams <bwilliams@kirix.com>
Sun, 19 Nov 2006 18:10:18 +0000 (18:10 +0000)
committerBenjamin Williams <bwilliams@kirix.com>
Sun, 19 Nov 2006 18:10:18 +0000 (18:10 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/aui/framemanager.h
src/aui/framemanager.cpp

index 201768dccc05305e24fc81dc85479ade77bbcc07..0307c3d4f225d4a795679da3e64a5eea812604b9 100644 (file)
@@ -476,15 +476,22 @@ public:
     void Update();
 
 public:
+
     virtual wxAuiFloatingFrame* CreateFloatingFrame(wxWindow* parent, const wxAuiPaneInfo& p);
 
-    wxRect CalculateHintRect(wxWindow* pane_window,
-                             const wxPoint& pt,
-                             const wxPoint& offset);
+    void StartPaneDrag(
+                 wxWindow* pane_window,
+                 const wxPoint& offset);
+
+    wxRect CalculateHintRect(
+                 wxWindow* pane_window,
+                 const wxPoint& pt,
+                 const wxPoint& offset);
                       
-    void DrawHintRect(wxWindow* pane_window,
-                      const wxPoint& pt,
-                      const wxPoint& offset);
+    void DrawHintRect(
+                 wxWindow* pane_window,
+                 const wxPoint& pt,
+                 const wxPoint& offset);
                       
     virtual void ShowHint(const wxRect& rect);
     virtual void HideHint();
index 9d35f47f7fe15069d0fc9197e7892013ea7b0762..2e3aecb032cbfac6af7a237f3acad9beef839c1f 100644 (file)
@@ -3074,6 +3074,27 @@ void wxAuiManager::HideHint()
 
 
 
+void wxAuiManager::StartPaneDrag(wxWindow* pane_window,
+                                 const wxPoint& offset)
+{
+    wxAuiPaneInfo& pane = GetPane(pane_window);
+    if (!pane.IsOk())
+        return;
+    
+    if (pane.IsToolbar())
+    {
+        m_action = actionDragToolbarPane;
+    }
+     else
+    {
+        m_action = actionDragFloatingPane;
+    }
+    
+    m_action_window = pane_window;
+    m_action_offset = offset;
+    m_frame->CaptureMouse();
+}
+
 
 // CalculateHintRect() calculates the drop hint rectangle.  The method
 // first calls DoDrop() to determine the exact position the pane would
@@ -4041,9 +4062,8 @@ void wxAuiManager::OnMotion(wxMouseEvent& event)
                                                       pt.y - m_action_offset.y);
 
                     // float the window
-                    if(pane_info->IsMaximized()) {
+                    if (pane_info->IsMaximized())
                         RestorePane(*pane_info);
-                    }
                     pane_info->Float();
                     Update();