wxAUI: fixed pane saving design thinko
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -429,7 +429,7 @@ public:
|
|||||||
bool DetachPane(wxWindow* window);
|
bool DetachPane(wxWindow* window);
|
||||||
|
|
||||||
wxString SavePaneInfo(wxPaneInfo& pane);
|
wxString SavePaneInfo(wxPaneInfo& pane);
|
||||||
wxString LoadPaneInfo(wxString pane_part, wxPaneInfo &pane);
|
void LoadPaneInfo(wxString pane_part, wxPaneInfo &pane);
|
||||||
|
|
||||||
wxString SavePerspective();
|
wxString SavePerspective();
|
||||||
|
|
||||||
|
@@ -958,15 +958,16 @@ wxString wxFrameManager::SavePaneInfo(wxPaneInfo& pane)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load a "pane" with the pane infor settings in pane_part; return the remainder of the
|
// Load a "pane" with the pane infor settings in pane_part
|
||||||
// string
|
void wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
|
||||||
wxString wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
|
|
||||||
{
|
{
|
||||||
// replace escaped characters so we can
|
// replace escaped characters so we can
|
||||||
// split up the string easily
|
// split up the string easily
|
||||||
pane_part.Replace(wxT("\\|"), wxT("\a"));
|
pane_part.Replace(wxT("\\|"), wxT("\a"));
|
||||||
pane_part.Replace(wxT("\\;"), wxT("\b"));
|
pane_part.Replace(wxT("\\;"), wxT("\b"));
|
||||||
|
|
||||||
|
while(1)
|
||||||
|
{
|
||||||
wxString val_part = pane_part.BeforeFirst(wxT(';'));
|
wxString val_part = pane_part.BeforeFirst(wxT(';'));
|
||||||
pane_part = pane_part.AfterFirst(wxT(';'));
|
pane_part = pane_part.AfterFirst(wxT(';'));
|
||||||
wxString val_name = val_part.BeforeFirst(wxT('='));
|
wxString val_name = val_part.BeforeFirst(wxT('='));
|
||||||
@@ -978,7 +979,7 @@ wxString wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
|
|||||||
value.Trim(false);
|
value.Trim(false);
|
||||||
|
|
||||||
if (val_name.empty())
|
if (val_name.empty())
|
||||||
return wxEmptyString;
|
break;
|
||||||
|
|
||||||
if (val_name == wxT("name"))
|
if (val_name == wxT("name"))
|
||||||
pane.name = value;
|
pane.name = value;
|
||||||
@@ -1019,6 +1020,7 @@ wxString wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
|
|||||||
else {
|
else {
|
||||||
wxFAIL_MSG(wxT("Bad Perspective String"));
|
wxFAIL_MSG(wxT("Bad Perspective String"));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// replace escaped characters so we can
|
// replace escaped characters so we can
|
||||||
// split up the string easily
|
// split up the string easily
|
||||||
@@ -1029,7 +1031,7 @@ wxString wxFrameManager::LoadPaneInfo(wxString pane_part, wxPaneInfo &pane)
|
|||||||
pane_part.Replace(wxT("\a"), wxT("|"));
|
pane_part.Replace(wxT("\a"), wxT("|"));
|
||||||
pane_part.Replace(wxT("\b"), wxT(";"));
|
pane_part.Replace(wxT("\b"), wxT(";"));
|
||||||
|
|
||||||
return pane_part;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1133,10 +1135,7 @@ bool wxFrameManager::LoadPerspective(const wxString& layout, bool update)
|
|||||||
pane_part.Replace(wxT("\a"), wxT("|"));
|
pane_part.Replace(wxT("\a"), wxT("|"));
|
||||||
pane_part.Replace(wxT("\b"), wxT(";"));
|
pane_part.Replace(wxT("\b"), wxT(";"));
|
||||||
|
|
||||||
while (!pane_part.empty())
|
LoadPaneInfo(pane_part, pane);
|
||||||
{
|
|
||||||
pane_part = LoadPaneInfo(pane_part, pane);
|
|
||||||
}
|
|
||||||
|
|
||||||
wxPaneInfo& p = GetPane(pane.name);
|
wxPaneInfo& p = GetPane(pane.name);
|
||||||
if (!p.IsOk())
|
if (!p.IsOk())
|
||||||
|
Reference in New Issue
Block a user