X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3a5df9d92fe2b22a7451e1251f1711064c22d67..be33a1c72620aad7a221896b24b7f75fe79dbdc5:/include/wx/aui/tabmdi.h diff --git a/include/wx/aui/tabmdi.h b/include/wx/aui/tabmdi.h index ea9b29eb39..ac4af06e70 100644 --- a/include/wx/aui/tabmdi.h +++ b/include/wx/aui/tabmdi.h @@ -21,6 +21,7 @@ #include "wx/frame.h" #include "wx/panel.h" #include "wx/notebook.h" +#include "wx/icon.h" #include "wx/aui/auibook.h" //----------------------------------------------------------------------------- @@ -28,7 +29,7 @@ //----------------------------------------------------------------------------- class WXDLLIMPEXP_AUI wxAuiMDIParentFrame; -class WXDLLIMPEXP_AUI wxAuiTabMDIClientWindow; +class WXDLLIMPEXP_AUI wxAuiMDIClientWindow; class WXDLLIMPEXP_AUI wxAuiMDIChildFrame; //----------------------------------------------------------------------------- @@ -57,6 +58,10 @@ public: long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, const wxString& name = wxFrameNameStr ); + void SetArtProvider(wxAuiTabArt* provider); + wxAuiTabArt* GetArtProvider(); + wxAuiNotebook* GetNotebook() const; + #if wxUSE_MENUS wxMenu* GetWindowMenu() const { return m_pWindowMenu; }; void SetWindowMenu(wxMenu* pMenu); @@ -69,20 +74,21 @@ public: virtual bool ProcessEvent(wxEvent& event); wxAuiMDIChildFrame *GetActiveChild() const; - inline void SetActiveChild(wxAuiMDIChildFrame* pChildFrame); + void SetActiveChild(wxAuiMDIChildFrame* pChildFrame); - wxAuiTabMDIClientWindow *GetClientWindow() const; - virtual wxAuiTabMDIClientWindow *OnCreateClient(); + 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: - wxAuiTabMDIClientWindow *m_pClientWindow; - wxAuiMDIChildFrame *m_pActiveChild; + wxAuiMDIClientWindow* m_pClientWindow; + wxAuiMDIChildFrame* m_pActiveChild; + wxEvent* m_pLastEvt; #if wxUSE_MENUS wxMenu *m_pWindowMenu; @@ -139,6 +145,12 @@ public: virtual void SetTitle(const wxString& title); virtual wxString GetTitle() const; + 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(); @@ -171,9 +183,6 @@ public: virtual wxToolBar *GetToolBar() const { return (wxToolBar*)NULL; } #endif - // no icon - void SetIcon(const wxIcon& WXUNUSED(icon)) { } - void SetIcons(const wxIconBundle& WXUNUSED(icons)) { } // no maximize etc virtual void Maximize(bool WXUNUSED(maximize) = true) { /* Has no effect */ } @@ -192,20 +201,9 @@ public: void SetMDIParentFrame(wxAuiMDIParentFrame* parent); wxAuiMDIParentFrame* GetMDIParentFrame() const; - -protected: - wxAuiMDIParentFrame *m_pMDIParentFrame; - wxRect m_mdi_newrect; - wxRect m_mdi_currect; - wxString m_title; - -#if wxUSE_MENUS - wxMenuBar *m_pMenuBar; -#endif // wxUSE_MENUS - + 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 DoMoveWindow(int x, int y, int width, int height); @@ -217,23 +215,38 @@ public: void ApplyMDIChildFrameRect(); void DoShow(bool show); +protected: + wxAuiMDIParentFrame* m_pMDIParentFrame; + wxRect m_mdi_newrect; + wxRect m_mdi_currect; + wxString m_title; + wxIcon m_icon; + wxIconBundle m_icon_bundle; + bool m_activate_on_create; + +#if wxUSE_MENUS + wxMenuBar* m_pMenuBar; +#endif // wxUSE_MENUS + + + private: DECLARE_DYNAMIC_CLASS(wxAuiMDIChildFrame) DECLARE_EVENT_TABLE() - friend class wxAuiTabMDIClientWindow; + friend class wxAuiMDIClientWindow; }; //----------------------------------------------------------------------------- -// wxAuiTabMDIClientWindow +// wxAuiMDIClientWindow //----------------------------------------------------------------------------- -class WXDLLIMPEXP_AUI wxAuiTabMDIClientWindow : public wxAuiNotebook +class WXDLLIMPEXP_AUI wxAuiMDIClientWindow : public wxAuiNotebook { public: - wxAuiTabMDIClientWindow(); - wxAuiTabMDIClientWindow(wxAuiMDIParentFrame *parent, long style = 0); - ~wxAuiTabMDIClientWindow(); + wxAuiMDIClientWindow(); + wxAuiMDIClientWindow(wxAuiMDIParentFrame *parent, long style = 0); + ~wxAuiMDIClientWindow(); virtual bool CreateClient(wxAuiMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL); @@ -243,11 +256,12 @@ public: protected: void PageChanged(int old_selection, int new_selection); - void OnPageChanged(wxAuiNotebookEvent& event); + void OnPageClose(wxAuiNotebookEvent& evt); + void OnPageChanged(wxAuiNotebookEvent& evt); void OnSize(wxSizeEvent& evt); private: - DECLARE_DYNAMIC_CLASS(wxAuiTabMDIClientWindow) + DECLARE_DYNAMIC_CLASS(wxAuiMDIClientWindow) DECLARE_EVENT_TABLE() }; #endif // wxUSE_AUI