X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f931438cc1738c125eaa3c4c9a23db4ad670644..2d61788423790686d1193a0d74b1562013246084:/src/aui/framemanager.cpp diff --git a/src/aui/framemanager.cpp b/src/aui/framemanager.cpp index a63b4375b0..a1f7fb11df 100644 --- a/src/aui/framemanager.cpp +++ b/src/aui/framemanager.cpp @@ -2538,6 +2538,14 @@ void wxAuiManager::Update() */ } + // update whether the pane is resizable or not + long style = p.frame->GetWindowStyleFlag(); + if (p.IsFixed()) + style &= ~wxRESIZE_BORDER; + else + style |= wxRESIZE_BORDER; + p.frame->SetWindowStyleFlag(style); + if (p.frame->IsShown() != p.IsShown()) p.frame->Show(p.IsShown()); } @@ -3668,13 +3676,16 @@ void wxAuiManager::OnFloatingPaneMoved(wxWindow* wnd, wxDirection dir) HideHint(); } -void wxAuiManager::OnFloatingPaneResized(wxWindow* wnd, const wxSize& size) +void wxAuiManager::OnFloatingPaneResized(wxWindow* wnd, const wxRect& rect) { // try to find the pane wxAuiPaneInfo& pane = GetPane(wnd); wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found")); - pane.floating_size = size; + pane.FloatingSize(rect.GetWidth(), rect.GetHeight()); + + // the top-left position may change as well as the size + pane.FloatingPosition(rect.x, rect.y); }