if (GetPane(pane_info.window).IsOk())
return false;
+ // if the new pane is docked then we should undo maximize
+ if(pane_info.IsDocked())
+ RestoreMaximizedPane();
+
m_panes.Add(pane_info);
wxAuiPaneInfo& pinfo = m_panes.Last();
}
else
{
+ // if the new pane is docked then we should undo maximize
+ RestoreMaximizedPane();
+
existing_pane.Direction(pane_info.dock_direction);
existing_pane.Layer(pane_info.dock_layer);
existing_pane.Row(pane_info.dock_row);
wxAuiDockUIPart* part = HitTest(event.GetX(), event.GetY());
if (part)
{
- if (part->dock && part->dock->dock_direction == wxAUI_DOCK_CENTER)
- return;
-
if (part->type == wxAuiDockUIPart::typeDockSizer ||
part->type == wxAuiDockUIPart::typePaneSizer)
{
+ if (part->dock && part->dock->dock_direction == wxAUI_DOCK_CENTER)
+ return;
+
// a dock may not be resized if it has a single
// pane which is not resizable
if (part->type == wxAuiDockUIPart::typeDockSizer && part->dock &&
else if (part->type == wxAuiDockUIPart::typeCaption ||
part->type == wxAuiDockUIPart::typeGripper)
{
+ if (part->dock && part->dock->dock_direction == wxAUI_DOCK_CENTER)
+ return;
+
if (GetFlags() & wxAUI_MGR_ALLOW_ACTIVE_PANE)
{
// set the caption as active