#endif //WX_PRECOMP
#include "wx/stockitem.h"
+#include "wx/aui/dockart.h"
enum MDI_MENU_ID
{
BEGIN_EVENT_TABLE(wxAuiMDIParentFrame, wxFrame)
#if wxUSE_MENUS
EVT_MENU (wxID_ANY, wxAuiMDIParentFrame::DoHandleMenu)
+ EVT_UPDATE_UI (wxID_ANY, wxAuiMDIParentFrame::DoHandleUpdateUI)
#endif
END_EVENT_TABLE()
event.Skip();
}
}
+
+void wxAuiMDIParentFrame::DoHandleUpdateUI(wxUpdateUIEvent& event)
+{
+ switch (event.GetId())
+ {
+ case wxWINDOWCLOSE:
+ case wxWINDOWCLOSEALL:
+ {
+ wxAuiMDIClientWindow* client_window = GetClientWindow();
+ wxCHECK_RET(client_window, wxS("Missing MDI Client Window"));
+ size_t pages = client_window->GetPageCount();
+ event.Enable(pages >= 1);
+ break;
+ }
+
+ case wxWINDOWNEXT:
+ case wxWINDOWPREV:
+ {
+ wxAuiMDIClientWindow* client_window = GetClientWindow();
+ wxCHECK_RET(client_window, wxS("Missing MDI Client Window"));
+ size_t pages = client_window->GetPageCount();
+ event.Enable(pages >= 2);
+ break;
+ }
+
+ default:
+ event.Skip();
+ }
+}
#endif // wxUSE_MENUS
void wxAuiMDIParentFrame::DoGetClientSize(int* width, int* height) const
// is, but those are the expected symantics. No style flag is passed
// onto the panel underneath.
if (style & wxMINIMIZE)
- m_activate_on_create = false;
+ m_activateOnCreate = false;
Create(parent, id, title, wxDefaultPosition, size, 0, name);
}
const wxString& name)
{
wxAuiMDIClientWindow* pClientWindow = parent->GetClientWindow();
- wxASSERT_MSG((pClientWindow != (wxWindow*) NULL), wxT("Missing MDI client window."));
+ wxASSERT_MSG((pClientWindow != NULL), wxT("Missing MDI client window."));
// see comment in constructor
if (style & wxMINIMIZE)
- m_activate_on_create = false;
+ m_activateOnCreate = false;
wxSize cli_size = pClientWindow->GetClientSize();
m_title = title;
- pClientWindow->AddPage(this, title, m_activate_on_create);
+ pClientWindow->AddPage(this, title, m_activateOnCreate);
pClientWindow->Refresh();
return true;
{
// get icon with the system icon size
SetIcon(icons.GetIcon(-1));
- m_icon_bundle = icons;
+ m_iconBundle = icons;
}
const wxIconBundle& wxAuiMDIChildFrame::GetIcons() const
{
- return m_icon_bundle;
+ return m_iconBundle;
}
void wxAuiMDIChildFrame::SetIcon(const wxIcon& icon)
void wxAuiMDIChildFrame::Init()
{
- m_activate_on_create = true;
+ m_activateOnCreate = true;
m_pMDIParentFrame = NULL;
#if wxUSE_MENUS
m_pMenuBar = NULL;
bool wxAuiMDIChildFrame::Show(bool show)
{
- m_activate_on_create = show;
+ m_activateOnCreate = show;
// do nothing
return true;
void wxAuiMDIChildFrame::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
- m_mdi_newrect = wxRect(x, y, width, height);
+ m_mdiNewRect = wxRect(x, y, width, height);
#ifdef __WXGTK__
wxPanel::DoSetSize(x,y,width, height, sizeFlags);
#else
void wxAuiMDIChildFrame::DoMoveWindow(int x, int y, int width, int height)
{
- m_mdi_newrect = wxRect(x, y, width, height);
+ m_mdiNewRect = wxRect(x, y, width, height);
}
void wxAuiMDIChildFrame::ApplyMDIChildFrameRect()
{
- if (m_mdi_currect != m_mdi_newrect)
+ if (m_mdiCurRect != m_mdiNewRect)
{
- wxPanel::DoMoveWindow(m_mdi_newrect.x, m_mdi_newrect.y,
- m_mdi_newrect.width, m_mdi_newrect.height);
- m_mdi_currect = m_mdi_newrect;
+ wxPanel::DoMoveWindow(m_mdiNewRect.x, m_mdiNewRect.y,
+ m_mdiNewRect.width, m_mdiNewRect.height);
+ m_mdiCurRect = m_mdiNewRect;
}
}
CreateClient(parent, style);
}
-wxAuiMDIClientWindow::~wxAuiMDIClientWindow()
-{
- DestroyChildren();
-}
-
bool wxAuiMDIClientWindow::CreateClient(wxAuiMDIParentFrame* parent, long style)
{
SetWindowStyleFlag(style);