- wxMDIParentFrame();
- inline wxMDIParentFrame(wxWindow *parent,
- wxWindowID id,
- const wxString& title,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, // Scrolling refers to client window
- const wxString& name = wxFrameNameStr)
- {
- Create(parent, id, title, pos, size, style, name);
- }
-
- ~wxMDIParentFrame();
-
- bool Create(wxWindow *parent,
- wxWindowID id,
- const wxString& title,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
- const wxString& name = wxFrameNameStr);
-
- void OnSize(wxSizeEvent& event);
- void OnActivate(wxActivateEvent& event);
- void OnSysColourChanged(wxSysColourChangedEvent& event);
-
- void SetMenuBar(wxMenuBar *menu_bar);
-
- // Gets the size available for subwindows after menu size, toolbar size
- // and status bar size have been subtracted. If you want to manage your own
- // toolbar(s), don't call SetToolBar.
- void GetClientSize(int *width, int *height) const;
-
- // Get the active MDI child window
- wxMDIChildFrame *GetActiveChild() const ;
-
- // Get the client window
- inline wxMDIClientWindow *GetClientWindow() const { return m_clientWindow; };
-
- // Create the client window class (don't Create the window,
- // just return a new class)
- virtual wxMDIClientWindow *OnCreateClient() ;
-
- // MDI operations
- virtual void Cascade();
- virtual void Tile();
- virtual void ArrangeIcons();
- virtual void ActivateNext();
- virtual void ActivatePrevious();
-
-// Implementation
- inline void SetActiveChild(wxMDIChildFrame* child) { m_activeChild = child; }
+ wxMDIParentFrame();
+ inline wxMDIParentFrame(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, // Scrolling refers to client window
+ const wxString& name = wxFrameNameStr)
+ {
+ Create(parent, id, title, pos, size, style, name);
+ }
+
+ virtual ~wxMDIParentFrame();
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL,
+ const wxString& name = wxFrameNameStr);
+
+ void OnSize(wxSizeEvent& event);
+ void OnActivate(wxActivateEvent& event);
+ void OnSysColourChanged(wxSysColourChangedEvent& event);
+ void OnMenuHighlight(wxMenuEvent& event);
+
+ void SetMenuBar(wxMenuBar *menu_bar);
+
+ // Get the active MDI child window
+ wxMDIChildFrame *GetActiveChild() const ;
+
+ // Get the client window
+ wxMDIClientWindow *GetClientWindow() const { return m_clientWindow; };
+
+ // Create the client window class (don't Create the window,
+ // just return a new class)
+ virtual wxMDIClientWindow *OnCreateClient() ;
+
+ // MDI operations
+ virtual void Cascade();
+ virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL);
+ virtual void ArrangeIcons();
+ virtual void ActivateNext();
+ virtual void ActivatePrevious();
+
+ // Implementation
+
+ // Set the active child
+ inline void SetActiveChild(wxMDIChildFrame* child) { m_activeChild = child; }
+
+ // Set the child's menubar into the parent frame
+ void SetChildMenuBar(wxMDIChildFrame* frame);
+
+ inline wxMenuBar* GetActiveMenuBar() const { return m_activeMenuBar; }
+
+ // Redirect events to active child first
+ virtual bool ProcessEvent(wxEvent& event);
+
+protected:
+ virtual void DoSetSize(int x, int y,
+ int width, int height,
+ int sizeFlags = wxSIZE_AUTO);
+ virtual void DoSetClientSize(int width, int height);
+
+ // Gets the size available for subwindows after menu size, toolbar size
+ // and status bar size have been subtracted. If you want to manage your own
+ // toolbar(s), don't call SetToolBar.
+ void DoGetClientSize(int *width, int *height) const;