X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e0dc13d470f31c31f38927a2565b94cd126ddf9a..ab67e8874db324fab5223cc8d5dff8a8de3e2b77:/include/wx/aui/tabmdi.h diff --git a/include/wx/aui/tabmdi.h b/include/wx/aui/tabmdi.h index cf0d4b9a59..cf9005bfc6 100644 --- a/include/wx/aui/tabmdi.h +++ b/include/wx/aui/tabmdi.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: wx/generic/tabmdi.h +// Name: wx/aui/tabmdi.h // Purpose: Generic MDI (Multiple Document Interface) classes // Author: Hans Van Leemputten // Modified by: Benjamin I. Williams / Kirix Corporation @@ -21,15 +21,16 @@ #include "wx/frame.h" #include "wx/panel.h" #include "wx/notebook.h" +#include "wx/icon.h" #include "wx/aui/auibook.h" //----------------------------------------------------------------------------- // classes //----------------------------------------------------------------------------- -class WXDLLIMPEXP_AUI wxAuiMDIParentFrame; -class WXDLLIMPEXP_AUI wxAuiMDIClientWindow; -class WXDLLIMPEXP_AUI wxAuiMDIChildFrame; +class WXDLLIMPEXP_FWD_AUI wxAuiMDIParentFrame; +class WXDLLIMPEXP_FWD_AUI wxAuiMDIClientWindow; +class WXDLLIMPEXP_FWD_AUI wxAuiMDIChildFrame; //----------------------------------------------------------------------------- // wxAuiMDIParentFrame @@ -60,9 +61,9 @@ public: void SetArtProvider(wxAuiTabArt* provider); wxAuiTabArt* GetArtProvider(); wxAuiNotebook* GetNotebook() const; - + #if wxUSE_MENUS - wxMenu* GetWindowMenu() const { return m_pWindowMenu; }; + wxMenu* GetWindowMenu() const { return m_pWindowMenu; } void SetWindowMenu(wxMenu* pMenu); virtual void SetMenuBar(wxMenuBar *pMenuBar); @@ -70,23 +71,20 @@ public: void SetChildMenuBar(wxAuiMDIChildFrame *pChild); - virtual bool ProcessEvent(wxEvent& event); - wxAuiMDIChildFrame *GetActiveChild() const; - inline void SetActiveChild(wxAuiMDIChildFrame* pChildFrame); + void SetActiveChild(wxAuiMDIChildFrame* pChildFrame); wxAuiMDIClientWindow *GetClientWindow() const; virtual wxAuiMDIClientWindow *OnCreateClient(); virtual void Cascade() { /* Has no effect */ } - virtual void Tile(wxOrientation WXUNUSED(orient) = wxHORIZONTAL) { } + virtual void Tile(wxOrientation orient = wxHORIZONTAL); virtual void ArrangeIcons() { /* Has no effect */ } virtual void ActivateNext(); virtual void ActivatePrevious(); protected: wxAuiMDIClientWindow* m_pClientWindow; - wxAuiMDIChildFrame* m_pActiveChild; wxEvent* m_pLastEvt; #if wxUSE_MENUS @@ -102,8 +100,11 @@ protected: void AddWindowMenu(wxMenuBar *pMenuBar); void DoHandleMenu(wxCommandEvent &event); + void DoHandleUpdateUI(wxUpdateUIEvent &event); #endif // wxUSE_MENUS + virtual bool ProcessEvent(wxEvent& event); + virtual void DoGetClientSize(int *width, int *height) const; private: @@ -137,7 +138,7 @@ public: const wxString& name = wxFrameNameStr); #if wxUSE_MENUS - virtual void SetMenuBar(wxMenuBar *menu_bar); + virtual void SetMenuBar(wxMenuBar *menuBar); virtual wxMenuBar *GetMenuBar() const; #endif // wxUSE_MENUS @@ -146,40 +147,35 @@ public: virtual void SetIcons(const wxIconBundle& icons); virtual const wxIconBundle& GetIcons() const; - + virtual void SetIcon(const wxIcon& icon); virtual const wxIcon& GetIcon() const; virtual void Activate(); virtual bool Destroy(); + virtual bool Show(bool show = true); + #if wxUSE_STATUSBAR // no status bars virtual wxStatusBar* CreateStatusBar(int WXUNUSED(number) = 1, long WXUNUSED(style) = 1, wxWindowID WXUNUSED(winid) = 1, const wxString& WXUNUSED(name) = wxEmptyString) - { return (wxStatusBar*)NULL; } + { return NULL; } - virtual wxStatusBar *GetStatusBar() const { return (wxStatusBar*)NULL; } + virtual wxStatusBar *GetStatusBar() const { return NULL; } virtual void SetStatusText( const wxString &WXUNUSED(text), int WXUNUSED(number)=0 ) {} virtual void SetStatusWidths( int WXUNUSED(n), const int WXUNUSED(widths_field)[] ) {} #endif - // no size hints - virtual void DoSetSizeHints(int WXUNUSED(minW), - int WXUNUSED(minH), - int WXUNUSED(maxW) = wxDefaultCoord, - int WXUNUSED(maxH) = wxDefaultCoord, - int WXUNUSED(incW) = wxDefaultCoord, - int WXUNUSED(incH) = wxDefaultCoord) {} #if wxUSE_TOOLBAR // no toolbar bars virtual wxToolBar* CreateToolBar(long WXUNUSED(style), wxWindowID WXUNUSED(winid), const wxString& WXUNUSED(name)) - { return (wxToolBar*)NULL; } - virtual wxToolBar *GetToolBar() const { return (wxToolBar*)NULL; } + { return NULL; } + virtual wxToolBar *GetToolBar() const { return NULL; } #endif @@ -200,13 +196,16 @@ public: void SetMDIParentFrame(wxAuiMDIParentFrame* parent); wxAuiMDIParentFrame* GetMDIParentFrame() const; - + protected: void Init(); - virtual bool Show(bool show = true); - virtual void DoSetSize(int x, int y, int width, int height, int size_flags); + virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags); virtual void DoMoveWindow(int x, int y, int width, int height); + // no size hints + virtual void DoSetSizeHints(int WXUNUSED(minW), int WXUNUSED(minH), + int WXUNUSED(maxW), int WXUNUSED(maxH), + int WXUNUSED(incW), int WXUNUSED(incH)) {} public: // This function needs to be called when a size change is confirmed, // we needed this function to prevent anybody from the outside @@ -216,11 +215,12 @@ public: protected: wxAuiMDIParentFrame* m_pMDIParentFrame; - wxRect m_mdi_newrect; - wxRect m_mdi_currect; + wxRect m_mdiNewRect; + wxRect m_mdiCurRect; wxString m_title; wxIcon m_icon; - wxIconBundle m_icon_bundle; + wxIconBundle m_iconBundle; + bool m_activateOnCreate; #if wxUSE_MENUS wxMenuBar* m_pMenuBar; @@ -244,17 +244,22 @@ class WXDLLIMPEXP_AUI wxAuiMDIClientWindow : public wxAuiNotebook public: wxAuiMDIClientWindow(); wxAuiMDIClientWindow(wxAuiMDIParentFrame *parent, long style = 0); - ~wxAuiMDIClientWindow(); virtual bool CreateClient(wxAuiMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL); virtual int SetSelection(size_t page); + virtual wxAuiMDIChildFrame* GetActiveChild(); + virtual void SetActiveChild(wxAuiMDIChildFrame* pChildFrame) + { + SetSelection(GetPageIndex(pChildFrame)); + } protected: - void PageChanged(int old_selection, int new_selection); - void OnPageChanged(wxAuiNotebookEvent& event); + void PageChanged(int oldSelection, int newSelection); + void OnPageClose(wxAuiNotebookEvent& evt); + void OnPageChanged(wxAuiNotebookEvent& evt); void OnSize(wxSizeEvent& evt); private: