X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..1ecc4d808e6100aefda0f4097beeefeeab475ddd:/include/wx/gtk/mdi.h diff --git a/include/wx/gtk/mdi.h b/include/wx/gtk/mdi.h index ff9181d771..95d9df89f4 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 ///////////////////////////////////////////////////////////////////////////// @@ -22,6 +21,7 @@ #include "wx/control.h" #include "wx/panel.h" #include "wx/frame.h" +#include "wx/toolbar.h" //----------------------------------------------------------------------------- // classes @@ -52,48 +52,54 @@ class wxMDIParentFrame: public wxFrame wxMDIParentFrame(void); wxMDIParentFrame( wxWindow *parent, - const wxWindowID id, const wxString& title, + wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - const long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, + long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, const wxString& name = wxFrameNameStr ); ~wxMDIParentFrame(void); bool Create( wxWindow *parent, - const wxWindowID id, const wxString& title, + wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - const long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, + long style = wxDEFAULT_FRAME_STYLE | wxVSCROLL | wxHSCROLL, const wxString& name = wxFrameNameStr ); - void OnSize( wxSizeEvent& event ); - void OnActivate( wxActivateEvent& event ); - void SetMenuBar( wxMenuBar *menu_bar ); - void GetClientSize(int *width, int *height) const; - wxMDIChildFrame *GetActiveChild(void) const; - - wxMDIClientWindow *GetClientWindow(void) const; - virtual wxMDIClientWindow *OnCreateClient(void); + void GetClientSize(int *width, int *height) const; + wxMDIChildFrame *GetActiveChild(void) const; + + wxMDIClientWindow *GetClientWindow(void) const; + virtual wxMDIClientWindow *OnCreateClient(void); - virtual void Cascade(void) {}; - virtual void Tile(void) {}; - virtual void ArrangeIcons(void) {}; - virtual void ActivateNext(void); - virtual void ActivatePrevious(void); - - void OnSysColourChanged(wxSysColourChangedEvent& event); + virtual void Cascade(void) {}; + virtual void Tile(void) {}; + virtual void ArrangeIcons(void) {}; + virtual void ActivateNext(void); + virtual void ActivatePrevious(void); + + void OnActivate( wxActivateEvent& event ); + void OnSysColourChanged( wxSysColourChangedEvent& event ); + + // implementation + + wxMDIChildFrame *m_currentChild; - protected: - wxMDIClientWindow * m_clientWindow; - wxMDIChildFrame * m_currentChild; + void SetMDIMenuBar( wxMenuBar *menu_bar ); + virtual void GtkOnSize( int x, int y, int width, int height ); + + private: + + wxMDIClientWindow *m_clientWindow; bool m_parentFrameActive; + wxMenuBar *m_mdiMenuBar; -// DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() }; //----------------------------------------------------------------------------- // wxMDIChildFrame //----------------------------------------------------------------------------- -class wxMDIChildFrame: public wxPanel +class wxMDIChildFrame: public wxFrame { DECLARE_DYNAMIC_CLASS(wxMDIChildFrame) @@ -101,28 +107,61 @@ class wxMDIChildFrame: public wxPanel wxMDIChildFrame(void); wxMDIChildFrame( wxMDIParentFrame *parent, - const wxWindowID id, const wxString& title, + wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - const long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr ); + long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr ); ~wxMDIChildFrame(void); bool Create( wxMDIParentFrame *parent, - const wxWindowID id, const wxString& title, + wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - const long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr ); - void SetMenuBar( wxMenuBar *menu_bar ); + long style = wxDEFAULT_FRAME_STYLE, const wxString& name = wxFrameNameStr ); + + virtual void SetMenuBar( wxMenuBar *menu_bar ); + virtual wxMenuBar *GetMenuBar(); + + virtual void GetClientSize( int *width, int *height ) const; + virtual void AddChild( wxWindow *child ); - // no status bars in wxGTK - virtual bool CreateStatusBar( const int WXUNUSED(number) = 1 ) { return FALSE; }; - virtual void SetStatusText( const wxString &WXUNUSED(text), const int WXUNUSED(number) ) {}; - virtual void SetStatusWidths( const int WXUNUSED(n), const int *WXUNUSED(width) ) {}; + virtual void Activate(void); + + // no status bars + virtual wxStatusBar* CreateStatusBar( int WXUNUSED(number)=1, long WXUNUSED(style)=1, + wxWindowID WXUNUSED(id)=1, const wxString& WXUNUSED(name)=WXSTRINGCAST NULL ) {return (wxStatusBar*)NULL; } + virtual wxStatusBar *GetStatusBar() { return (wxStatusBar*)NULL; } + virtual void SetStatusText( const wxString &WXUNUSED(text), int WXUNUSED(number) ) {} + virtual void SetStatusWidths( int WXUNUSED(n), int *WXUNUSED(width) ) {} + + // no size hints + virtual void SetSizeHints( int WXUNUSED(minW), int WXUNUSED(minH), int WXUNUSED(maxW), + int WXUNUSED(maxH), int WXUNUSED(incW) ) {} + + // no toolbar bars + virtual wxToolBar* CreateToolBar( long WXUNUSED(style), wxWindowID WXUNUSED(id), + const wxString& WXUNUSED(name) ) { return (wxToolBar*)NULL; } + virtual wxToolBar *GetToolBar() { return (wxToolBar*)NULL; } + + // no icon + void SetIcon( const wxIcon &icon ) { m_icon = icon; } + + // no title + void SetTitle( const wxString &title ) { m_title = title; } + wxString GetTitle() const { return m_title; } + + // no maximize etc + virtual void Maximize(void) {} + virtual void Restore(void) {} - virtual void Maximize(void) {}; - virtual void Restore(void) {}; - virtual void Activate(void); + void OnActivate( wxActivateEvent &event ); public: - wxString m_title; + wxMenuBar *m_menuBar; + +// private: + + GtkNotebookPage *m_page; + + DECLARE_EVENT_TABLE() }; //----------------------------------------------------------------------------- @@ -136,10 +175,9 @@ class wxMDIClientWindow: public wxWindow public: wxMDIClientWindow(void); - wxMDIClientWindow( wxMDIParentFrame *parent, const long style = 0 ); + wxMDIClientWindow( wxMDIParentFrame *parent, long style = 0 ); ~wxMDIClientWindow(void); - virtual bool CreateClient( wxMDIParentFrame *parent, const long style = wxVSCROLL | wxHSCROLL ); - void AddChild( wxWindow *child ); + virtual bool CreateClient( wxMDIParentFrame *parent, long style = wxVSCROLL | wxHSCROLL ); }; #endif // __MDIH__