From 636e7acc1bc8db0af34c5269cad0a482d22c5846 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Tue, 18 Oct 2016 12:27:38 +0200 Subject: [PATCH] wxAuiManagerUpdatePerspectiveCaptions() introduced; Version set to 1.5 (API level 15) --- MSIBuild/Makefile | 72 ++++++++++++------------- build/wxExtend.props | 2 +- build/wxExtendDll.vcxproj | 2 + build/wxExtendDll.vcxproj.filters | 9 ++++ include/wxex/aui/framemanager.h | 39 ++++++++++++++ include/wxex/common.h | 8 +-- include/wxex/persist/auimanager.h | 11 +++- src/framemanager.cpp | 88 +++++++++++++++++++++++++++++++ src/stdafx.h | 2 + 9 files changed, 191 insertions(+), 42 deletions(-) create mode 100644 include/wxex/aui/framemanager.h create mode 100644 src/framemanager.cpp diff --git a/MSIBuild/Makefile b/MSIBuild/Makefile index c2901c9..00458ba 100644 --- a/MSIBuild/Makefile +++ b/MSIBuild/Makefile @@ -46,98 +46,98 @@ s$(MSIBUILD_LENGTH_ID) S38 s$(MSIBUILD_LENGTH_ID) i2 S255 S$(MSIBUILD_LENGTH_ID) Component Component !IFNDEF WXEXTEND_STATIC !IF "$(PLAT)" == "Win32" -compwxExtend.dll.Win32 {37C6943E-B5D0-4C22-B039-29FEE015D0E8} $(WXEXTEND_BIN_DIR) 0 filewxExtend.dll.Win32 +compwxExtend.dll.Win32 {8D93D165-26AE-4066-9FBE-C37349BCEBAF} $(WXEXTEND_BIN_DIR) 0 filewxExtend.dll.Win32 !ENDIF !IF "$(PLAT)" == "x64" -compwxExtend.dll.x64 {F323428B-B329-4492-943C-0F2387C80DC9} $(WXEXTEND_BIN_DIR) 256 filewxExtend.dll.x64 +compwxExtend.dll.x64 {5CC39463-FEBE-496F-8EFB-F4F0AC4BCAB4} $(WXEXTEND_BIN_DIR) 256 filewxExtend.dll.x64 !ENDIF !ENDIF !IF "$(LANG)" == "bg_BG" -compwxExtend.mo.bg_BG {CF5725EF-F683-4673-8523-5502B57C0C9F} WXEXTENDLOCBGBGDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.bg_BG +compwxExtend.mo.bg_BG {08F3D750-73F1-4D53-ADE6-4F4C5AFF24C1} WXEXTENDLOCBGBGDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.bg_BG !ENDIF !IF "$(LANG)" == "ca_ES" -compwxExtend.mo.ca_ES {80493A96-C77A-4F92-8B3E-35BE9127EBBE} WXEXTENDLOCCAESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ca_ES +compwxExtend.mo.ca_ES {EEC3A2FA-C1F1-45BD-A407-91A5083879FC} WXEXTENDLOCCAESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ca_ES !ENDIF !IF "$(LANG)" == "cs_CZ" -compwxExtend.mo.cs_CZ {EECC383F-CBFF-4675-ABB9-16D77AD25D5C} WXEXTENDLOCCSCZDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.cs_CZ +compwxExtend.mo.cs_CZ {6DBD1DFC-8266-467A-AE3B-F7ED9100BA8C} WXEXTENDLOCCSCZDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.cs_CZ !ENDIF !IF "$(LANG)" == "cy_UK" -compwxExtend.mo.cy_UK {9601C64F-4C99-4F2D-95CA-F2DF150F1982} WXEXTENDLOCCYUKDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.cy_UK +compwxExtend.mo.cy_UK {8875B6EF-C0AB-4557-80D9-32F49925F79F} WXEXTENDLOCCYUKDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.cy_UK !ENDIF !IF "$(LANG)" == "de_DE" -compwxExtend.mo.de_DE {9C3D448E-E6F3-45B9-BFF9-8E12A7B5AB53} WXEXTENDLOCDEDEDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.de_DE +compwxExtend.mo.de_DE {5CCA52DE-D4A9-4986-9D7D-D00EA6560D2F} WXEXTENDLOCDEDEDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.de_DE !ENDIF !IF "$(LANG)" == "el_GR" -compwxExtend.mo.el_GR {51A8EA7F-709F-4C3B-A94D-3BEC3899C80B} WXEXTENDLOCELGRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.el_GR +compwxExtend.mo.el_GR {4617F1A6-BB15-4FF8-8CC8-C0D5C3B9DA63} WXEXTENDLOCELGRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.el_GR !ENDIF !IF "$(LANG)" == "es_ES" -compwxExtend.mo.es_ES {D11A4B09-D9CF-4350-8B26-D9CF117E2980} WXEXTENDLOCESESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.es_ES +compwxExtend.mo.es_ES {1469FC38-FF9B-4E5E-9F4C-998A86A4A1E0} WXEXTENDLOCESESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.es_ES !ENDIF !IF "$(LANG)" == "eu_ES" -compwxExtend.mo.eu_ES {C93CEE38-3602-4FF2-8319-6125F91EE03C} WXEXTENDLOCEUESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.eu_ES +compwxExtend.mo.eu_ES {8EAF1DF8-E7DB-4AC0-A627-423380BAE39F} WXEXTENDLOCEUESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.eu_ES !ENDIF !IF "$(LANG)" == "fi_FI" -compwxExtend.mo.fi_FI {6F6F463B-7013-4453-8224-6AEA6B2EBDBC} WXEXTENDLOCFIFIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fi_FI +compwxExtend.mo.fi_FI {4705881C-6A69-48C1-A1E1-D649F042DD77} WXEXTENDLOCFIFIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fi_FI !ENDIF !IF "$(LANG)" == "fr_CA" -compwxExtend.mo.fr_CA {39D0AB42-9AB6-45FB-990F-5525D1004332} WXEXTENDLOCFRCADIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fr_CA +compwxExtend.mo.fr_CA {1D90EA4B-EFC5-447C-9CB5-FBF3FD00388C} WXEXTENDLOCFRCADIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fr_CA !ENDIF !IF "$(LANG)" == "fr_FR" -compwxExtend.mo.fr_FR {5E68D9D9-AAF3-4194-9675-2C484A3B5E7C} WXEXTENDLOCFRFRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fr_FR +compwxExtend.mo.fr_FR {CC5336F8-9522-48C9-82DE-6D719C6F729B} WXEXTENDLOCFRFRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.fr_FR !ENDIF !IF "$(LANG)" == "gl_ES" -compwxExtend.mo.gl_ES {CA353D77-B09A-4588-AF5E-A0B2E3742B1B} WXEXTENDLOCGLESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.gl_ES +compwxExtend.mo.gl_ES {D7590042-3256-480F-ACAA-2CF9221FB666} WXEXTENDLOCGLESDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.gl_ES !ENDIF !IF "$(LANG)" == "hr_HR" -compwxExtend.mo.hr_HR {F096E922-C060-49A1-81F0-A5FEC68F3873} WXEXTENDLOCHRHRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.hr_HR +compwxExtend.mo.hr_HR {03BF1A96-BD07-475C-895D-BF367B8EAB44} WXEXTENDLOCHRHRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.hr_HR !ENDIF !IF "$(LANG)" == "hu_HU" -compwxExtend.mo.hu_HU {8B377B6C-5B05-4D7C-B1F5-7A40E2BB7BD4} WXEXTENDLOCHUHUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.hu_HU +compwxExtend.mo.hu_HU {5C8C4A78-B95A-4A99-B115-BD90001A6A3C} WXEXTENDLOCHUHUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.hu_HU !ENDIF !IF "$(LANG)" == "is_IS" -compwxExtend.mo.is_IS {10C23840-30DE-4014-9F82-80FAC55243D2} WXEXTENDLOCISISDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.is_IS +compwxExtend.mo.is_IS {17013596-7B9B-4893-8C75-7A5C5F76F2B3} WXEXTENDLOCISISDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.is_IS !ENDIF !IF "$(LANG)" == "it_IT" -compwxExtend.mo.it_IT {C5733B34-3315-44BC-B568-F6EDEDD6EA92} WXEXTENDLOCITITDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.it_IT +compwxExtend.mo.it_IT {81EE1891-9774-465B-8079-B86C1511A4BF} WXEXTENDLOCITITDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.it_IT !ENDIF !IF "$(LANG)" == "ko_KR" -compwxExtend.mo.ko_KR {668C27C4-C799-46B4-A8D7-DB4C2E5DBCBC} WXEXTENDLOCKOKRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ko_KR +compwxExtend.mo.ko_KR {9B36C0D2-D4B3-4A4E-9FC8-BBC7E4E0101E} WXEXTENDLOCKOKRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ko_KR !ENDIF !IF "$(LANG)" == "lt_LT" -compwxExtend.mo.lt_LT {3EEECA40-96BB-4F14-9E4F-2B4176D849A5} WXEXTENDLOCLTLTDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.lt_LT +compwxExtend.mo.lt_LT {4FF5FEB7-AECC-45A9-A81C-85D6D9B55A9C} WXEXTENDLOCLTLTDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.lt_LT !ENDIF !IF "$(LANG)" == "nb_NO" -compwxExtend.mo.nb_NO {5CC24C7D-E928-4CAB-BA91-EB4D11BC2A4B} WXEXTENDLOCNBNODIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.nb_NO +compwxExtend.mo.nb_NO {D970A1E8-66B8-430E-93E2-34CE2A49FBCB} WXEXTENDLOCNBNODIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.nb_NO !ENDIF !IF "$(LANG)" == "nl_NL" -compwxExtend.mo.nl_NL {8E9F03EF-E808-4AB8-B136-CC2622E29BD1} WXEXTENDLOCNLNLDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.nl_NL +compwxExtend.mo.nl_NL {F9BE9502-CFAB-4D90-8150-446B5C092D5F} WXEXTENDLOCNLNLDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.nl_NL !ENDIF !IF "$(LANG)" == "pl_PL" -compwxExtend.mo.pl_PL {F7994ACB-60DD-4722-8E8E-65B071664A78} WXEXTENDLOCPLPLDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.pl_PL +compwxExtend.mo.pl_PL {E0B0C10B-84D5-4E1F-9B78-51215B5BFB38} WXEXTENDLOCPLPLDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.pl_PL !ENDIF !IF "$(LANG)" == "pt_PT" -compwxExtend.mo.pt_PT {3157094C-A5A7-420D-AB47-80A721560DED} WXEXTENDLOCPTPTDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.pt_PT +compwxExtend.mo.pt_PT {34F22826-EF6E-44E5-8BF8-AC509C4336FA} WXEXTENDLOCPTPTDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.pt_PT !ENDIF !IF "$(LANG)" == "ru_RU" -compwxExtend.mo.ru_RU {3B4C86C3-ABFF-4272-B8E4-2E9B59DC7867} WXEXTENDLOCRURUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ru_RU +compwxExtend.mo.ru_RU {DD18920B-1755-4D08-B670-CD669576258D} WXEXTENDLOCRURUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.ru_RU !ENDIF !IF "$(LANG)" == "sk_SK" -compwxExtend.mo.sk_SK {6E14CF20-6D82-4A23-9FED-E68C1C2FC92A} WXEXTENDLOCSKSKDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sk_SK +compwxExtend.mo.sk_SK {82DF7307-E848-4AFB-8BE7-E792BC51FDF3} WXEXTENDLOCSKSKDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sk_SK !ENDIF !IF "$(LANG)" == "sl_SI" -compwxExtend.mo.sl_SI {E970685D-7997-40C9-A95C-95F1204BD534} WXEXTENDLOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sl_SI +compwxExtend.mo.sl_SI {2CC6A48A-4B96-4530-B95E-450357B2FB23} WXEXTENDLOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sl_SI !ENDIF !IF "$(LANG)" == "sr_RS" -compwxExtend.mo.sr_RS {74E368AA-79B0-407D-9A05-E42002300EE7} WXEXTENDLOCSRRSDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sr_RS +compwxExtend.mo.sr_RS {6F9F08AC-A9A4-4E3C-8E38-5C1BEB543401} WXEXTENDLOCSRRSDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sr_RS !ENDIF !IF "$(LANG)" == "sv_SE" -compwxExtend.mo.sv_SE {084986BC-EB55-4BA3-B8E5-FF0714F1C8A3} WXEXTENDLOCSVSEDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sv_SE +compwxExtend.mo.sv_SE {9C84C8E8-535C-4C09-91C9-BD83100E0050} WXEXTENDLOCSVSEDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.sv_SE !ENDIF !IF "$(LANG)" == "tr_TR" -compwxExtend.mo.tr_TR {519F85E4-8B31-42EF-BCDD-9B3B907C0762} WXEXTENDLOCTRTRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.tr_TR +compwxExtend.mo.tr_TR {A0A90268-99D7-4E4C-B275-7D3174458516} WXEXTENDLOCTRTRDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.tr_TR !ENDIF !IF "$(LANG)" == "vi_VN" -compwxExtend.mo.vi_VN {738F9C8C-2084-4003-91EA-55CA4B851343} WXEXTENDLOCVIVNDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.vi_VN +compwxExtend.mo.vi_VN {E7E317CD-C7AB-4043-8C4B-58E31569753A} WXEXTENDLOCVIVNDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) filewxExtend.mo.vi_VN !ENDIF < - 14 + 15 ..\..\..\output\$(Platform).$(Configuration)\ diff --git a/build/wxExtendDll.vcxproj b/build/wxExtendDll.vcxproj index be04c00..ed4fff3 100644 --- a/build/wxExtendDll.vcxproj +++ b/build/wxExtendDll.vcxproj @@ -22,6 +22,7 @@ + Create @@ -36,6 +37,7 @@ + diff --git a/build/wxExtendDll.vcxproj.filters b/build/wxExtendDll.vcxproj.filters index 6a237ad..3b17acd 100644 --- a/build/wxExtendDll.vcxproj.filters +++ b/build/wxExtendDll.vcxproj.filters @@ -20,6 +20,9 @@ {33d4709f-47d3-42c1-9562-bc4743799b49} + + {be99b1e7-e013-4c69-8966-6b34932a1711} + @@ -49,6 +52,9 @@ Source Files + + Source Files + @@ -87,6 +93,9 @@ Header Files + + Header Files\aui + diff --git a/include/wxex/aui/framemanager.h b/include/wxex/aui/framemanager.h new file mode 100644 index 0000000..dcf3248 --- /dev/null +++ b/include/wxex/aui/framemanager.h @@ -0,0 +1,39 @@ +/* + Copyright 2015-2016 Amebis + Copyright 2016 GÉANT + + This file is part of wxExtend. + + wxExtend is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + wxExtend is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with wxExtend. If not, see . +*/ + +#pragma once + +#include "../common.h" + +#include +#include + + +/// +/// Updates perspective captions with matching captions from panes. +/// +/// \param[in ] mgr wxAUI manager +/// \param[inout] perspective Perspective string to update captions in +/// +/// \returns +/// - \c true when update succeeded +/// - \c false otherwise +/// +bool WXEXTEND_API wxAuiManagerUpdatePerspectiveCaptions(wxAuiManager& mgr, wxString& perspective); diff --git a/include/wxex/common.h b/include/wxex/common.h index 5ad42c6..d842b16 100644 --- a/include/wxex/common.h +++ b/include/wxex/common.h @@ -24,17 +24,17 @@ /// /// wxExtend Version /// -#define wxEXTEND_VERSION 0x01040000 +#define wxEXTEND_VERSION 0x01050000 #define wxEXTEND_VERSION_MAJ 1 -#define wxEXTEND_VERSION_MIN 4 +#define wxEXTEND_VERSION_MIN 5 #define wxEXTEND_VERSION_REV 0 #define wxEXTEND_VERSION_BUILD 0 -#define wxEXTEND_VERSION_STR "1.4" +#define wxEXTEND_VERSION_STR "1.5" #define wxEXTEND_BUILD_YEAR_STR "2016" -#define wxExtendVersion "14" +#define wxExtendVersion "15" #if !defined(RC_INVOKED) && !defined(MIDL_PASS) diff --git a/include/wxex/persist/auimanager.h b/include/wxex/persist/auimanager.h index d48c353..c16fc5c 100644 --- a/include/wxex/persist/auimanager.h +++ b/include/wxex/persist/auimanager.h @@ -22,6 +22,8 @@ #include "../common.h" +#include "../aui/framemanager.h" + #include #include @@ -67,7 +69,14 @@ public: { // Load perspective string from configuration. wxString persp; - return RestoreValue(wxT(wxPERSIST_AUIMGR_PERSPECTIVE), &persp) && GetManager()->LoadPerspective(persp); + wxCHECK(RestoreValue(wxT(wxPERSIST_AUIMGR_PERSPECTIVE), &persp), false); + + // Update captions (see http://trac.wxwidgets.org/ticket/12528). + wxAuiManager* mgr = GetManager(); + wxCHECK(wxAuiManagerUpdatePerspectiveCaptions(*mgr, persp), false); + + // Restore perspective. + return mgr->LoadPerspective(persp); } protected: diff --git a/src/framemanager.cpp b/src/framemanager.cpp new file mode 100644 index 0000000..7f985bd --- /dev/null +++ b/src/framemanager.cpp @@ -0,0 +1,88 @@ +/* + Copyright 2015-2016 Amebis + Copyright 2016 GÉANT + + This file is part of wxExtend. + + wxExtend is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + wxExtend is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with wxExtend. If not, see . +*/ + +#include "stdafx.h" + + +bool WXEXTEND_API wxAuiManagerUpdatePerspectiveCaptions(wxAuiManager& mgr, wxString& perspective) +{ + wxString input = perspective; + wxString output; + wxString part; + + // check layout string version + // 'layout1' = wxAUI 0.9.0 - wxAUI 0.9.2 + // 'layout2' = wxAUI 0.9.2 (wxWidgets 2.8) + part = input.BeforeFirst(wxT('|')); + input = input.AfterFirst(wxT('|')); + part.Trim(true); + part.Trim(false); + if (part != wxT("layout2")) + return false; + output += part; + output += wxT('|'); + + // replace escaped characters so we can + // split up the string easily + input.Replace(wxT("\\|"), wxT("\a")); + input.Replace(wxT("\\;"), wxT("\b")); + + while (1) + { + wxString pane_part = input.BeforeFirst(wxT('|')); + input = input.AfterFirst(wxT('|')); + pane_part.Trim(true); + + // if the string is empty, we're done parsing + if (pane_part.empty()) + break; + + // Undo our escaping + pane_part.Replace(wxT("\a"), wxT("|")); + pane_part.Replace(wxT("\b"), wxT(";")); + + if (pane_part.Left(9) == wxT("dock_size")) + { + output += pane_part; + output += wxT('|'); + continue; + } + + wxAuiPaneInfo pane; + mgr.LoadPaneInfo(pane_part, pane); + + wxAuiPaneInfo& p = mgr.GetPane(pane.name); + if (!p.IsOk()) + { + // the pane window couldn't be found + // in the existing layout -- skip it + continue; + } + + // Update caption. + pane.caption = p.caption; + + output += mgr.SavePaneInfo(pane); + output += wxT('|'); + } + + perspective = output; + return true; +} diff --git a/src/stdafx.h b/src/stdafx.h index 57dc5d5..989eddf 100644 --- a/src/stdafx.h +++ b/src/stdafx.h @@ -24,6 +24,8 @@ // include the grand at a cost of longer pre-compilation phase. #include +#include "../include/wxex/aui/framemanager.h" + #include "../include/wxex/appbar.h" #include "../include/wxex/comutils.h" #include "../include/wxex/crypto.h"