X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0d97c0902355bd73c080ebffa45ec809813df51d..fbfb8bcc3fa17e079d4219655b173f8ed2ccc65a:/include/wx/mac/carbon/mdi.h diff --git a/include/wx/mac/carbon/mdi.h b/include/wx/mac/carbon/mdi.h index 863ff82e86..99d13a80b6 100644 --- a/include/wx/mac/carbon/mdi.h +++ b/include/wx/mac/carbon/mdi.h @@ -14,10 +14,6 @@ #ifndef _WX_MDI_H_ #define _WX_MDI_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "mdi.h" -#endif - #include "wx/frame.h" WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr; @@ -32,15 +28,16 @@ class WXDLLEXPORT wxMDIParentFrame: public wxFrame public: - 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) + wxMDIParentFrame() { Init(); } + 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) { + Init(); Create(parent, id, title, pos, size, style, name); } @@ -84,19 +81,34 @@ public: virtual bool Show( bool show = true ); + // overridden base clas virtuals + virtual void AddChild(wxWindowBase *child); + virtual void RemoveChild(wxWindowBase *child); + protected: + // common part of all ctors + void Init(); + + // returns true if this frame has some contents and so should be visible, + // false if it's used solely as container for its children + bool ShouldBeVisible() const; - // TODO maybe have this member - wxMDIClientWindow *m_clientWindow; - wxMDIChildFrame * m_currentChild; - wxMenu* m_windowMenu; - // TRUE if MDI Frame is intercepting commands, not child + // TODO maybe have this member + wxMDIClientWindow *m_clientWindow; + wxMDIChildFrame *m_currentChild; + wxMenu *m_windowMenu; + + // true if MDI Frame is intercepting commands, not child bool m_parentFrameActive; + // true if the frame should be shown but is not because it is empty and + // useless otherwise than a container for its children + bool m_shouldBeShown; + private: friend class WXDLLEXPORT wxMDIChildFrame; -DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() }; class WXDLLEXPORT wxMDIChildFrame: public wxFrame