X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e3e65dac0c4e7ad19e3c270caa1e0eea138e5d8d..7beba2fc73283f5b750227459da57e66bcd475f5:/include/wx/gtk/mdi.h diff --git a/include/wx/gtk/mdi.h b/include/wx/gtk/mdi.h index b53e87c26f..e8f87df94d 100644 --- a/include/wx/gtk/mdi.h +++ b/include/wx/gtk/mdi.h @@ -2,9 +2,8 @@ // Name: mdi.h // Purpose: // Author: Robert Roebling -// Created: 01/02/97 -// Id: -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -36,8 +35,8 @@ class wxMDIChildFrame; // global data //----------------------------------------------------------------------------- -extern const char* wxFrameNameStr; -extern const char* wxStatusLineNameStr; +extern const wxChar* wxFrameNameStr; +extern const wxChar* wxStatusLineNameStr; //----------------------------------------------------------------------------- // wxMDIParentFrame @@ -45,102 +44,125 @@ extern const char* wxStatusLineNameStr; class wxMDIParentFrame: public wxFrame { - DECLARE_DYNAMIC_CLASS(wxMDIParentFrame) - - friend class wxMDIChildFrame; - - public: - - wxMDIParentFrame(void); +public: + wxMDIParentFrame(); wxMDIParentFrame( 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 ); - ~wxMDIParentFrame(void); - 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 ); - + wxWindowID id, const wxString& title, + const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, + const wxString& name = wxFrameNameStr ); + ~wxMDIParentFrame(void); + 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 GetClientSize(int *width, int *height) const; - wxMDIChildFrame *GetActiveChild(void) const; + wxMDIChildFrame *GetActiveChild() const; - wxMDIClientWindow *GetClientWindow(void) const; - virtual wxMDIClientWindow *OnCreateClient(void); + wxMDIClientWindow *GetClientWindow() const; + virtual wxMDIClientWindow *OnCreateClient(); - virtual void Cascade(void) {}; - virtual void Tile(void) {}; - virtual void ArrangeIcons(void) {}; - virtual void ActivateNext(void); - virtual void ActivatePrevious(void); + virtual void Cascade() {} + virtual void Tile() {} + virtual void ArrangeIcons() {} + virtual void ActivateNext(); + virtual void ActivatePrevious(); void OnActivate( wxActivateEvent& event ); void OnSysColourChanged( wxSysColourChangedEvent& event ); - //private: - - wxMDIChildFrame *m_currentChild; - - void SetMDIMenuBar( wxMenuBar *menu_bar ); + // implementation + + wxMDIClientWindow *m_clientWindow; + bool m_justInserted; + virtual void GtkOnSize( int x, int y, int width, int height ); + virtual void OnInternalIdle(); - private: - - wxMDIClientWindow *m_clientWindow; - bool m_parentFrameActive; - wxMenuBar *m_mdiMenuBar; - - DECLARE_EVENT_TABLE() +private: + friend class wxMDIChildFrame; + + DECLARE_DYNAMIC_CLASS(wxMDIParentFrame) + DECLARE_EVENT_TABLE() }; //----------------------------------------------------------------------------- // wxMDIChildFrame //----------------------------------------------------------------------------- -class wxMDIChildFrame: public wxPanel +class wxMDIChildFrame: public wxFrame { - DECLARE_DYNAMIC_CLASS(wxMDIChildFrame) - - public: - - wxMDIChildFrame(void); +public: + wxMDIChildFrame(); wxMDIChildFrame( wxMDIParentFrame *parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr ); - ~wxMDIChildFrame(void); + ~wxMDIChildFrame(); bool Create( wxMDIParentFrame *parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr ); - void SetMenuBar( wxMenuBar *menu_bar ); + + virtual void SetMenuBar( wxMenuBar *menu_bar ); + virtual wxMenuBar *GetMenuBar() const; - // no status bars in wxGTK - virtual bool CreateStatusBar( int WXUNUSED(number) = 1 ) { return FALSE; }; - virtual void SetStatusText( const wxString &WXUNUSED(text), int WXUNUSED(number) ) {}; - virtual void SetStatusWidths( int WXUNUSED(n), int *WXUNUSED(width) ) {}; + virtual void GetClientSize( int *width, int *height ) const; + virtual void AddChild( wxWindowBase *child ); - virtual void Maximize(void) {}; - virtual void Restore(void) {}; - virtual void Activate(void); + virtual void Activate(); - bool Destroy(void); - void OnCloseWindow( wxCloseEvent& event ); - void OnSize( wxSizeEvent &event ); +#if wxUSE_STATUSBAR + // no status bars + virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number) = 1, + long WXUNUSED(style) = 1, + wxWindowID WXUNUSED(id) = 1, + const wxString& WXUNUSED(name) = wxEmptyString) + { return (wxStatusBar*)NULL; } + + virtual wxStatusBar *GetStatusBar() const { return (wxStatusBar*)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 SetSizeHints( int WXUNUSED(minW), int WXUNUSED(minH), + int WXUNUSED(maxW), int WXUNUSED(maxH), + int WXUNUSED(incW), int WXUNUSED(incH) ) {} + +#if wxUSE_TOOLBAR + // no toolbar bars + virtual wxToolBar* CreateToolBar( long WXUNUSED(style), wxWindowID WXUNUSED(id), + const wxString& WXUNUSED(name) ) { return (wxToolBar*)NULL; } + virtual wxToolBar *GetToolBar() const { return (wxToolBar*)NULL; } +#endif + + // no icon + void SetIcon( const wxIcon &icon ) { m_icon = icon; } - public: + // no title + void SetTitle( const wxString &title ) { m_title = title; } + wxString GetTitle() const { return m_title; } - wxString m_title; - wxMenuBar *m_menuBar; + // no maximize etc + virtual void Maximize( bool WXUNUSED(maximize) ) {} + virtual void Restore() {} -// private: + virtual bool IsTopLevel() const { return FALSE; } + + void OnActivate( wxActivateEvent &event ); + + // implementation + wxMenuBar *m_menuBar; GtkNotebookPage *m_page; + bool m_justInserted; - DECLARE_EVENT_TABLE() +private: + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxMDIChildFrame) }; //----------------------------------------------------------------------------- @@ -149,15 +171,14 @@ class wxMDIChildFrame: public wxPanel class wxMDIClientWindow: public wxWindow { - DECLARE_DYNAMIC_CLASS(wxMDIClientWindow) - - public: - - wxMDIClientWindow(void); +public: + wxMDIClientWindow(); wxMDIClientWindow( wxMDIParentFrame *parent, long style = 0 ); - ~wxMDIClientWindow(void); + ~wxMDIClientWindow(); virtual bool CreateClient( wxMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL ); - void AddChild( wxWindow *child ); + +private: + DECLARE_DYNAMIC_CLASS(wxMDIClientWindow) }; #endif // __MDIH__