]> git.saurik.com Git - wxWidgets.git/blobdiff - src/aui/framemanager.cpp
removed code for non-compositing case to fix the compilation after recent commits
[wxWidgets.git] / src / aui / framemanager.cpp
index 701e97f7393607e2f7d058208cb9f5e8db6819f4..b97492d4378bbf6b0fa44457341717eb57bea7cf 100644 (file)
@@ -876,7 +876,9 @@ bool wxFrameManager::DetachPane(wxWindow* window)
 
                 // reduce flicker
                 p.window->SetSize(1,1);
-                p.frame->Show(false);
+
+                if (p.frame->IsShown())
+                    p.frame->Show(false);
 
                 // reparent to m_frame and destroy the pane
                 p.window->Reparent(m_frame);
@@ -958,66 +960,68 @@ wxString wxFrameManager::SavePaneInfo(wxPaneInfo& pane)
     return result;
 }
 
-// Load a "pane" with the pane infor settings in pane_part; return the remainder of the
-// string
-wxString wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
+// Load a "pane" with the pane infor settings in pane_part
+void wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
 {
     // replace escaped characters so we can
     // split up the string easily
     pane_part.Replace(wxT("\\|"), wxT("\a"));
     pane_part.Replace(wxT("\\;"), wxT("\b"));
 
-    wxString val_part = pane_part.BeforeFirst(wxT(';'));
-    pane_part = pane_part.AfterFirst(wxT(';'));
-    wxString val_name = val_part.BeforeFirst(wxT('='));
-    wxString value = val_part.AfterFirst(wxT('='));
-    val_name.MakeLower();
-    val_name.Trim(true);
-    val_name.Trim(false);
-    value.Trim(true);
-    value.Trim(false);
-
-    if (val_name.empty())
-        return wxEmptyString;
-
-    if (val_name == wxT("name"))
-        pane.name = value;
-    else if (val_name == wxT("caption"))
-        pane.caption = value;
-    else if (val_name == wxT("state"))
-        pane.state = (unsigned int)wxAtoi(value.c_str());
-    else if (val_name == wxT("dir"))
-        pane.dock_direction = wxAtoi(value.c_str());
-    else if (val_name == wxT("layer"))
-        pane.dock_layer = wxAtoi(value.c_str());
-    else if (val_name == wxT("row"))
-        pane.dock_row = wxAtoi(value.c_str());
-    else if (val_name == wxT("pos"))
-        pane.dock_pos = wxAtoi(value.c_str());
-    else if (val_name == wxT("prop"))
-        pane.dock_proportion = wxAtoi(value.c_str());
-    else if (val_name == wxT("bestw"))
-        pane.best_size.x = wxAtoi(value.c_str());
-    else if (val_name == wxT("besth"))
-        pane.best_size.y = wxAtoi(value.c_str());
-    else if (val_name == wxT("minw"))
-        pane.min_size.x = wxAtoi(value.c_str());
-    else if (val_name == wxT("minh"))
-        pane.min_size.y = wxAtoi(value.c_str());
-    else if (val_name == wxT("maxw"))
-        pane.max_size.x = wxAtoi(value.c_str());
-    else if (val_name == wxT("maxh"))
-        pane.max_size.y = wxAtoi(value.c_str());
-    else if (val_name == wxT("floatx"))
-        pane.floating_pos.x = wxAtoi(value.c_str());
-    else if (val_name == wxT("floaty"))
-        pane.floating_pos.y = wxAtoi(value.c_str());
-    else if (val_name == wxT("floatw"))
-        pane.floating_size.x = wxAtoi(value.c_str());
-    else if (val_name == wxT("floath"))
-        pane.floating_size.y = wxAtoi(value.c_str());
-    else {
-        wxFAIL_MSG(wxT("Bad Perspective String"));
+    while(1)
+    {
+        wxString val_part = pane_part.BeforeFirst(wxT(';'));
+        pane_part = pane_part.AfterFirst(wxT(';'));
+        wxString val_name = val_part.BeforeFirst(wxT('='));
+        wxString value = val_part.AfterFirst(wxT('='));
+        val_name.MakeLower();
+        val_name.Trim(true);
+        val_name.Trim(false);
+        value.Trim(true);
+        value.Trim(false);
+    
+        if (val_name.empty())
+            break;
+    
+        if (val_name == wxT("name"))
+            pane.name = value;
+        else if (val_name == wxT("caption"))
+            pane.caption = value;
+        else if (val_name == wxT("state"))
+            pane.state = (unsigned int)wxAtoi(value.c_str());
+        else if (val_name == wxT("dir"))
+            pane.dock_direction = wxAtoi(value.c_str());
+        else if (val_name == wxT("layer"))
+            pane.dock_layer = wxAtoi(value.c_str());
+        else if (val_name == wxT("row"))
+            pane.dock_row = wxAtoi(value.c_str());
+        else if (val_name == wxT("pos"))
+            pane.dock_pos = wxAtoi(value.c_str());
+        else if (val_name == wxT("prop"))
+            pane.dock_proportion = wxAtoi(value.c_str());
+        else if (val_name == wxT("bestw"))
+            pane.best_size.x = wxAtoi(value.c_str());
+        else if (val_name == wxT("besth"))
+            pane.best_size.y = wxAtoi(value.c_str());
+        else if (val_name == wxT("minw"))
+            pane.min_size.x = wxAtoi(value.c_str());
+        else if (val_name == wxT("minh"))
+            pane.min_size.y = wxAtoi(value.c_str());
+        else if (val_name == wxT("maxw"))
+            pane.max_size.x = wxAtoi(value.c_str());
+        else if (val_name == wxT("maxh"))
+            pane.max_size.y = wxAtoi(value.c_str());
+        else if (val_name == wxT("floatx"))
+            pane.floating_pos.x = wxAtoi(value.c_str());
+        else if (val_name == wxT("floaty"))
+            pane.floating_pos.y = wxAtoi(value.c_str());
+        else if (val_name == wxT("floatw"))
+            pane.floating_size.x = wxAtoi(value.c_str());
+        else if (val_name == wxT("floath"))
+            pane.floating_size.y = wxAtoi(value.c_str());
+        else {
+            wxFAIL_MSG(wxT("Bad Perspective String"));
+        }
     }
 
     // replace escaped characters so we can
@@ -1029,7 +1033,7 @@ wxString wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
     pane_part.Replace(wxT("\a"), wxT("|"));
     pane_part.Replace(wxT("\b"), wxT(";"));
 
-    return pane_part;
+    return;
 }
 
 
@@ -1133,10 +1137,7 @@ bool wxFrameManager::LoadPerspective(const wxString& layout, bool update)
         pane_part.Replace(wxT("\a"), wxT("|"));
         pane_part.Replace(wxT("\b"), wxT(";"));
 
-        while (!pane_part.empty())
-        {
-            pane_part = LoadPaneInfo(pane_part, pane);
-        }
+        LoadPaneInfo(pane_part, pane);
 
         wxPaneInfo& p = GetPane(pane.name);
         if (!p.IsOk())
@@ -1946,7 +1947,9 @@ void wxFrameManager::Update()
 
             // reduce flicker
             p.window->SetSize(1,1);
-            p.frame->Show(false);
+
+            if (p.frame->IsShown())
+                p.frame->Show(false);
 
             // reparent to m_frame and destroy the pane
             p.window->Reparent(m_frame);
@@ -1988,10 +1991,8 @@ void wxFrameManager::Update()
                 frame->SetPaneWindow(p);
                 p.frame = frame;
 
-                if (p.IsShown())
-                {
+                if (p.IsShown() && !frame->IsShown())
                     frame->Show();
-                }
             }
              else
             {
@@ -2005,12 +2006,14 @@ void wxFrameManager::Update()
                     //p.frame->Move(p.floating_pos.x, p.floating_pos.y);
                 }
 
-                 p.frame->Show(p.IsShown());
+                if (p.frame->IsShown() != p.IsShown())
+                    p.frame->Show(p.IsShown());
             }
         }
          else
         {
-            p.window->Show(p.IsShown());
+            if (p.window->IsShown() != p.IsShown())
+                p.window->Show(p.IsShown());
         }
 
         // if "active panes" are no longer allowed, clear
@@ -2724,7 +2727,8 @@ void wxFrameManager::HideHint()
     // hides a transparent window hint, if there is one
     if (m_hint_wnd)
     {
-        m_hint_wnd->Show(false);
+        if (m_hint_wnd->IsShown())
+            m_hint_wnd->Show(false);
 #if wxCHECK_VERSION(2,7,0)
         m_hint_wnd->SetTransparent(0);
 #else
@@ -2980,7 +2984,8 @@ void wxFrameManager::OnFloatingPaneClosed(wxWindow* wnd, wxCloseEvent& evt)
     {
         // reparent the pane window back to us and
         // prepare the frame window for destruction
-        pane.window->Show(false);
+        if (pane.window->IsShown())
+            pane.window->Show(false);
         pane.window->Reparent(m_frame);
         pane.frame = NULL;
         pane.Hide();