wxDefaultPosition, wxSize(1,1),
wxFRAME_FLOAT_ON_PARENT
| wxFRAME_TOOL_WINDOW );
+ m_hint_wnd->Connect(wxEVT_ACTIVATE,
+ wxActivateEventHandler(wxAuiManager::OnHintActivate), NULL, this);
// Can't set the bg colour of a Frame in wxMac
wxPanel* p = new wxPanel(m_hint_wnd);
{
wxAuiPaneInfo& pane = *(dock.panes.Item(pane_i));
- if (pane.state & wxAuiPaneInfo::actionPane)
+ if (pane.HasFlag(wxAuiPaneInfo::actionPane))
{
wxASSERT_MSG(action_pane==-1, wxT("Too many fixed action panes"));
action_pane = pane_i;
dock.toolbar = false;
if (pane.HasFlag(wxAuiPaneInfo::optionDockFixed))
dock.fixed = true;
- if (pane.state & wxAuiPaneInfo::actionPane)
+ if (pane.HasFlag(wxAuiPaneInfo::actionPane))
action_pane_marked = true;
}
}
}
+void wxAuiManager::OnHintActivate(wxActivateEvent& WXUNUSED(event))
+{
+ // Do nothing so this event isn't handled in the base handlers.
+
+ // Letting the hint window activate without this handler can lead to
+ // weird behavior on Mac where the menu is switched out to the top
+ // window's menu in MDI applications when it shouldn't be. So since
+ // we don't want user interaction with the hint window anyway, we just
+ // prevent it from activating here.
+}
+
void wxAuiManager::StartPaneDrag(wxWindow* pane_window,
wxAuiPaneInfo& pane = GetPane(m_action_window);
wxASSERT_MSG(pane.IsOk(), wxT("Pane window not found"));
- pane.state |= wxAuiPaneInfo::actionPane;
+ pane.SetFlag(wxAuiPaneInfo::actionPane, true);
wxPoint pt = event.GetPosition();
DoDrop(m_docks, m_panes, pane, pt, m_action_offset);