]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/frame.h
1 /////////////////////////////////////////////////////////////////////////////
4 // Author: Robert Roebling
6 // Copyright: (c) 1998 Robert Roebling, Julian Smart
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
19 #include "wx/object.h"
20 #include "wx/window.h"
23 //-----------------------------------------------------------------------------
25 //-----------------------------------------------------------------------------
27 class wxMDIChildFrame
;
28 class wxMDIClientWindow
;
36 //-----------------------------------------------------------------------------
38 //-----------------------------------------------------------------------------
40 extern const wxChar
*wxFrameNameStr
;
41 extern const wxChar
*wxToolBarNameStr
;
43 //-----------------------------------------------------------------------------
45 //-----------------------------------------------------------------------------
47 class wxFrame
: public wxWindow
49 DECLARE_DYNAMIC_CLASS(wxFrame
)
53 wxFrame( 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 bool Create( wxWindow
*parent
, wxWindowID id
, const wxString
&title
,
57 const wxPoint
&pos
= wxDefaultPosition
, const wxSize
&size
= wxDefaultSize
,
58 long style
= wxDEFAULT_FRAME_STYLE
, const wxString
&name
= wxFrameNameStr
);
62 virtual bool Show( bool show
);
63 virtual void Centre( int direction
= wxBOTH
);
66 virtual wxStatusBar
* CreateStatusBar(int number
=1, long style
= wxST_SIZEGRIP
, wxWindowID id
= 0,
67 const wxString
& name
= wxT("statusBar"));
68 virtual wxStatusBar
*OnCreateStatusBar( int number
, long style
, wxWindowID id
,
69 const wxString
& name
);
70 virtual wxStatusBar
*GetStatusBar() const;
71 inline void SetStatusBar(wxStatusBar
*statusBar
) { m_frameStatusBar
= statusBar
; }
72 virtual void SetStatusText( const wxString
&text
, int number
= 0 );
73 virtual void SetStatusWidths( int n
, const int widths_field
[] );
74 #endif // wxUSE_STATUSBAR
77 virtual wxToolBar
* CreateToolBar( long style
= wxNO_BORDER
|wxTB_HORIZONTAL
, wxWindowID id
= -1,
78 const wxString
& name
= wxToolBarNameStr
);
79 virtual wxToolBar
*OnCreateToolBar( long style
, wxWindowID id
, const wxString
& name
);
80 virtual wxToolBar
*GetToolBar() const;
81 void SetToolBar(wxToolBar
*toolbar
);
82 #endif // wxUSE_TOOLBAR
84 virtual void SetMenuBar( wxMenuBar
*menuBar
);
85 virtual wxMenuBar
*GetMenuBar() const;
87 virtual void SetTitle( const wxString
&title
);
88 virtual wxString
GetTitle() const { return m_title
; }
90 // make the window modal (all other windows unresponsive)
91 virtual void MakeModal(bool modal
= TRUE
);
93 virtual void SetIcon( const wxIcon
&icon
);
94 bool Iconized() const { return IsIconized(); }
95 virtual void Maximize( bool maximize
);
96 virtual void Restore();
97 virtual void Iconize( bool iconize
);
98 virtual bool IsIconized() const;
100 virtual bool IsTopLevel() const { return TRUE
; }
102 virtual void Command( int id
);
104 void OnCloseWindow( wxCloseEvent
& event
);
105 void OnActivate( wxActivateEvent
&WXUNUSED(event
) ) { } // called from docview.cpp
106 void OnSize( wxSizeEvent
&event
);
107 void OnIdle( wxIdleEvent
&event
);
109 void OnMenuHighlight( wxMenuEvent
& event
);
113 virtual void GtkOnSize( int x
, int y
, int width
, int height
);
114 void DoMenuUpdates();
115 void DoMenuUpdates(wxMenu
* menu
, wxWindow
* focusWin
);
116 virtual void OnInternalIdle();
118 wxMenuBar
*m_frameMenuBar
;
120 wxStatusBar
*m_frameStatusBar
;
123 wxToolBar
*m_frameToolBar
;
127 int m_miniEdge
,m_miniTitle
;
128 GtkWidget
*m_mainWidget
;
129 bool m_menuBarDetached
;
130 bool m_toolBarDetached
;
131 bool m_insertInClientArea
; /* not from within OnCreateXXX */
134 // common part of all ctors
137 virtual void DoSetSize(int x
, int y
,
138 int width
, int height
,
139 int sizeFlags
= wxSIZE_AUTO
);
141 virtual void DoSetClientSize(int width
, int height
);
142 virtual void DoGetClientSize( int *width
, int *height
) const;
145 DECLARE_EVENT_TABLE()
148 #endif // __GTKFRAMEH__