// globals
// ----------------------------------------------------------------------------
-extern const wxChar *wxFrameClassName;
-
#if wxUSE_MENUS_NATIVE
-extern wxMenu *wxCurrentPopupMenu;
+ extern wxMenu *wxCurrentPopupMenu;
#endif // wxUSE_MENUS_NATIVE
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(wxFrame, wxFrameBase)
- EVT_ACTIVATE(wxFrame::OnActivate)
EVT_SYS_COLOUR_CHANGED(wxFrame::OnSysColourChanged)
END_EVENT_TABLE()
m_fsStatusBarFields = 0;
m_fsStatusBarHeight = 0;
m_fsToolBarHeight = 0;
-// m_fsMenu = 0;
m_wasMinimized = FALSE;
-
- m_winLastFocused = (wxWindow *)NULL;
}
bool wxFrame::Create(wxWindow *parent,
// Pass TRUE to show full screen, FALSE to restore.
bool wxFrame::ShowFullScreen(bool show, long style)
{
- if ( IsFullScreen() == show )
+ if ( IsFullScreen() == show )
return FALSE;
if (show)
SetMenu((HWND)GetHWND(), (HMENU)m_hMenu);
#endif
}
-
- return wxFrameBase::ShowFullScreen(show, style);
-}
-// Default activation behaviour - set the focus for the first child
-// subwindow found.
-void wxFrame::OnActivate(wxActivateEvent& event)
-{
- if ( event.GetActive() )
- {
- // restore focus to the child which was last focused
- wxLogTrace(_T("focus"), _T("wxFrame %08x activated."), m_hWnd);
-
- wxWindow *parent = m_winLastFocused ? m_winLastFocused->GetParent()
- : NULL;
- if ( !parent )
- {
- parent = this;
- }
-
- wxSetFocusToChild(parent, &m_winLastFocused);
- }
- else // deactivating
- {
- // remember the last focused child if it is our child
- m_winLastFocused = FindFocus();
-
- // so we NULL it out if it's a child from some other frame
- wxWindow *win = m_winLastFocused;
- while ( win )
- {
- if ( win->IsTopLevel() )
- {
- if ( win != this )
- {
- m_winLastFocused = NULL;
- }
-
- break;
- }
-
- win = win->GetParent();
- }
-
- wxLogTrace(_T("focus"),
- _T("wxFrame %08x deactivated, last focused: %08x."),
- m_hWnd,
- m_winLastFocused ? GetHwndOf(m_winLastFocused)
- : NULL);
-
- event.Skip();
- }
+ return wxFrameBase::ShowFullScreen(show, style);
}
// ----------------------------------------------------------------------------
PositionToolBar();
#endif // wxUSE_TOOLBAR
- wxSizeEvent event(wxSize(x, y), m_windowId);
- event.SetEventObject( this );
- processed = GetEventHandler()->ProcessEvent(event);
+ processed = wxWindow::HandleSize(x, y, id);
}
return processed;
#endif
else
{
-#if wxUSE_STATUSBAR
// don't give hints for separators (doesn't make sense) nor for the
// items opening popup menus (they don't have them anyhow) but do clear
// the status line - otherwise, we would be left with the help message
// for the previous item which doesn't apply any more
- wxStatusBar *statbar = GetStatusBar();
- if ( statbar )
- {
- statbar->SetStatusText(wxEmptyString);
- }
-#endif // wxUSE_STATUSBAR
+ DoGiveHelp(wxEmptyString, FALSE);
return FALSE;
}
}
if ( !processed )
- rc = wxWindow::MSWWindowProc(message, wParam, lParam);
+ rc = wxFrameBase::MSWWindowProc(message, wParam, lParam);
return rc;
}