]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk1/frame.h
more comments
[wxWidgets.git] / include / wx / gtk1 / frame.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: frame.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Created: 01/02/97
6 // Id:
7 // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11
12 #ifndef __GTKFRAMEH__
13 #define __GTKFRAMEH__
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include "wx/defs.h"
20 #include "wx/object.h"
21 #include "wx/window.h"
22 #include "wx/menu.h"
23 #include "wx/statusbr.h"
24 #include "wx/toolbar.h"
25
26 //-----------------------------------------------------------------------------
27 // classes
28 //-----------------------------------------------------------------------------
29
30 class wxMDIChildFrame;
31
32 class wxFrame;
33
34 //-----------------------------------------------------------------------------
35 // global data
36 //-----------------------------------------------------------------------------
37
38 extern const char *wxFrameNameStr;
39
40 //-----------------------------------------------------------------------------
41 // wxFrame
42 //-----------------------------------------------------------------------------
43
44 class wxFrame: public wxWindow
45 {
46 DECLARE_DYNAMIC_CLASS(wxFrame)
47 public:
48
49 wxFrame();
50 wxFrame( wxWindow *parent, wxWindowID id, const wxString &title,
51 const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
52 long style = wxDEFAULT_FRAME_STYLE, const wxString &name = wxFrameNameStr );
53 bool Create( wxWindow *parent, wxWindowID id, const wxString &title,
54 const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
55 long style = wxDEFAULT_FRAME_STYLE, const wxString &name = wxFrameNameStr );
56 ~wxFrame();
57 bool Destroy();
58
59 virtual bool Show( bool show );
60 virtual void Enable( bool enable );
61
62 virtual void GetClientSize( int *width, int *height ) const;
63
64 // set minimal/maxmimal size for the frame
65 virtual void SetSizeHints( int minW, int minH, int maxW, int maxH, int incW = -1 );
66
67 virtual bool CreateStatusBar( int number = 1 );
68 virtual wxStatusBar *GetStatusBar();
69 virtual void SetStatusText( const wxString &text, int number = 0 );
70 virtual void SetStatusWidths( int n, int *width );
71
72 virtual wxToolBar *CreateToolBar( int style = 0,
73 int orientation = wxHORIZONTAL, int rowsOrColumns = 1 );
74 virtual wxToolBar *GetToolBar();
75
76 virtual void SetMenuBar( wxMenuBar *menuBar );
77 virtual wxMenuBar *GetMenuBar();
78
79 void SetTitle( const wxString &title );
80 wxString GetTitle() const { return m_title; }
81
82 void OnActivate( wxActivateEvent &WXUNUSED(event) ) { } // called from docview.cpp
83 void OnSize( wxSizeEvent &event );
84 void OnCloseWindow( wxCloseEvent& event );
85 void OnIdle(wxIdleEvent& event);
86
87 virtual void AddChild( wxWindow *child );
88 virtual void GtkOnSize( int x, int y, int width, int height );
89
90 private:
91 friend wxWindow;
92 friend wxMDIChildFrame;
93
94 // update frame's menus (called from OnIdle)
95 void DoMenuUpdates();
96 void DoMenuUpdates(wxMenu* menu);
97
98 GtkWidget *m_mainWindow;
99 wxMenuBar *m_frameMenuBar;
100 wxStatusBar *m_frameStatusBar;
101 wxToolBar *m_frameToolBar;
102 int m_toolBarHeight;
103 bool m_doingOnSize;
104 bool m_addPrivateChild; // for toolbar (and maybe menubar)
105 wxString m_title;
106
107 DECLARE_EVENT_TABLE()
108 };
109
110 #endif // __GTKFRAMEH__