20 if (!mgr || newClientSize.x <= 0 || newClientSize.y <= 0)
24 wxAuiPaneInfo &pane = mgr->GetPane(entry.paneName);
25 if (!pane.IsOk() || !pane.IsShown())
29 int oldRef = oldClientSize.x;
30 int newRef = newClientSize.x;
32 if (oldRef > 0 && pane.rect.width > 0) {
33 entry.proportion =
static_cast<double>(pane.rect.width) / oldRef;
36 int newSize =
static_cast<int>(newRef * entry.proportion);
37 int minSize =
static_cast<int>(newRef * entry.minProportion);
38 newSize = std::max(newSize, minSize);
40 pane.BestSize(wxSize(newSize, -1));
41 pane.MinSize(wxSize(minSize, -1));
43 int oldRef = oldClientSize.y;
44 int newRef = newClientSize.y;
46 if (oldRef > 0 && pane.rect.height > 0) {
47 entry.proportion =
static_cast<double>(pane.rect.height) / oldRef;
50 int newSize =
static_cast<int>(newRef * entry.proportion);
51 int minSize =
static_cast<int>(newRef * entry.minProportion);
52 newSize = std::max(newSize, minSize);
54 pane.BestSize(wxSize(-1, newSize));
55 pane.MinSize(wxSize(-1, minSize));
void Track(const wxString &paneName, double proportion, double minProportion, bool isWidth)
Registers a pane to track with given proportion and constraints.