]> git.saurik.com Git - wxWidgets.git/commitdiff
wxaui maximize bug fixes
authorBenjamin Williams <bwilliams@kirix.com>
Thu, 2 Nov 2006 20:50:01 +0000 (20:50 +0000)
committerBenjamin Williams <bwilliams@kirix.com>
Thu, 2 Nov 2006 20:50:01 +0000 (20:50 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/aui/framemanager.cpp

index 98e77ae3e93247f742bca3f721acb45059bf3e8f..e1b0ee6797fa0c76d07b803eda87bec114a3d650 100644 (file)
@@ -799,6 +799,10 @@ bool wxAuiManager::AddPane(wxWindow* window, const wxAuiPaneInfo& pane_info)
     if (GetPane(pane_info.window).IsOk())
         return false;
 
+    // if the new pane is docked then we should undo maximize
+    if(pane_info.IsDocked())
+        RestoreMaximizedPane();
+
     m_panes.Add(pane_info);
 
     wxAuiPaneInfo& pinfo = m_panes.Last();
@@ -946,6 +950,9 @@ bool wxAuiManager::InsertPane(wxWindow* window, const wxAuiPaneInfo& pane_info,
         }
          else
         {
+            // if the new pane is docked then we should undo maximize
+            RestoreMaximizedPane();
+
             existing_pane.Direction(pane_info.dock_direction);
             existing_pane.Layer(pane_info.dock_layer);
             existing_pane.Row(pane_info.dock_row);
@@ -3545,12 +3552,12 @@ void wxAuiManager::OnLeftDown(wxMouseEvent& event)
     wxAuiDockUIPart* part = HitTest(event.GetX(), event.GetY());
     if (part)
     {
-        if (part->dock && part->dock->dock_direction == wxAUI_DOCK_CENTER)
-            return;
-
         if (part->type == wxAuiDockUIPart::typeDockSizer ||
             part->type == wxAuiDockUIPart::typePaneSizer)
         {
+            if (part->dock && part->dock->dock_direction == wxAUI_DOCK_CENTER)
+                return;
+        
             // a dock may not be resized if it has a single
             // pane which is not resizable
             if (part->type == wxAuiDockUIPart::typeDockSizer && part->dock &&
@@ -3582,6 +3589,9 @@ void wxAuiManager::OnLeftDown(wxMouseEvent& event)
          else if (part->type == wxAuiDockUIPart::typeCaption ||
                   part->type == wxAuiDockUIPart::typeGripper)
         {
+            if (part->dock && part->dock->dock_direction == wxAUI_DOCK_CENTER)
+                return;
+
             if (GetFlags() & wxAUI_MGR_ALLOW_ACTIVE_PANE)
             {
                 // set the caption as active