]> git.saurik.com Git - wxWidgets.git/blame - wxPython/src/frames.i
some more test code for the toolbar
[wxWidgets.git] / wxPython / src / frames.i
CommitLineData
9c039d08
RD
1/////////////////////////////////////////////////////////////////////////////
2// Name: frames.i
3// Purpose: SWIG definitions of various window classes
4//
5// Author: Robin Dunn
6//
7// Created: 8/27/98
8// RCS-ID: $Id$
9// Copyright: (c) 1998 by Total Control Software
10// Licence: wxWindows license
11/////////////////////////////////////////////////////////////////////////////
12
13
14%module frames
15
16%{
17#include "helpers.h"
9c039d08 18#include <wx/minifram.h>
b5a5d647 19#include <wx/splash.h>
9c039d08
RD
20%}
21
22//----------------------------------------------------------------------
23
24%include typemaps.i
25%include my_typemaps.i
26
27// Import some definitions of other classes, etc.
28%import _defs.i
29%import misc.i
30%import gdi.i
31%import windows.i
32%import stattool.i
33
b8b8dda7 34%pragma(python) code = "import wx"
9c039d08
RD
35
36//----------------------------------------------------------------------
37
137b5242
RD
38%{
39 // Put some wx default wxChar* values into wxStrings.
40 DECLARE_DEF_STRING(FrameNameStr);
41 DECLARE_DEF_STRING(DialogNameStr);
42 DECLARE_DEF_STRING(StatusLineNameStr);
43 DECLARE_DEF_STRING(ToolBarNameStr);
44%}
45
46//----------------------------------------------------------------------
47
f6bcfd97
BP
48enum {
49 wxFULLSCREEN_NOMENUBAR,
50 wxFULLSCREEN_NOTOOLBAR,
51 wxFULLSCREEN_NOSTATUSBAR,
52 wxFULLSCREEN_NOBORDER,
53 wxFULLSCREEN_NOCAPTION,
ecc08ead
RD
54 wxFULLSCREEN_ALL,
55
56 wxTOPLEVEL_EX_DIALOG,
f6bcfd97
BP
57};
58
59
ecc08ead
RD
60//----------------------------------------------------------------------
61
62
63class wxTopLevelWindow : public wxWindow
64{
65public:
66 // construction
67 wxTopLevelWindow(wxWindow *parent,
68 wxWindowID id,
69 const wxString& title,
70 const wxPoint& pos = wxDefaultPosition,
71 const wxSize& size = wxDefaultSize,
72 long style = wxDEFAULT_FRAME_STYLE,
137b5242 73 const wxString& name = wxPyFrameNameStr);
ecc08ead
RD
74 %name(wxPreTopLevelWindow)wxTopLevelWindow();
75
76 bool Create(wxWindow *parent,
77 wxWindowID id,
78 const wxString& title,
79 const wxPoint& pos = wxDefaultPosition,
80 const wxSize& size = wxDefaultSize,
81 long style = wxDEFAULT_FRAME_STYLE,
137b5242 82 const wxString& name = wxPyFrameNameStr);
ecc08ead 83
0122b7e3 84 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
17c0e08c 85 %pragma(python) addtomethod = "wxPreTopLevelWindow:val._setOORInfo(val)"
ecc08ead
RD
86
87 // maximize = TRUE => maximize, otherwise - restore
88 virtual void Maximize(bool maximize = TRUE);
89
90 // undo Maximize() or Iconize()
91 virtual void Restore();
92
93 // iconize = TRUE => iconize, otherwise - restore
94 virtual void Iconize(bool iconize = TRUE);
95
96 // return TRUE if the frame is maximized
97 virtual bool IsMaximized() const;
98
99 // return TRUE if the frame is iconized
100 virtual bool IsIconized() const;
101
102 // get the frame icon
c5943253 103 wxIcon GetIcon() const;
ecc08ead
RD
104
105 // set the frame icon
106 virtual void SetIcon(const wxIcon& icon);
107
0e9b78ce
RD
108 // set the frame icons
109 virtual void SetIcons(const wxIconBundle& icons );
ecc08ead
RD
110
111 // maximize the window to cover entire screen
112 virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
113
114 // return TRUE if the frame is in fullscreen mode
115 virtual bool IsFullScreen() const;
116
117 virtual void SetTitle(const wxString& title);
118 virtual wxString GetTitle() const;
1542ea39
RD
119
120 // Set the shape of the window to the given region.
121 // Returns TRUE if the platform supports this feature (and the operation
122 // is successful.)
123 virtual bool SetShape(const wxRegion& region);
124
ecc08ead
RD
125};
126
127//----------------------------------------------------------------------
128
129
130class wxFrame : public wxTopLevelWindow {
9c039d08
RD
131public:
132 wxFrame(wxWindow* parent, const wxWindowID id, const wxString& title,
b68dc582
RD
133 const wxPoint& pos = wxDefaultPosition,
134 const wxSize& size = wxDefaultSize,
9c039d08 135 long style = wxDEFAULT_FRAME_STYLE,
137b5242 136 const wxString& name = wxPyFrameNameStr);
09f3d4e6 137 %name(wxPreFrame)wxFrame();
9c039d08 138
09f3d4e6
RD
139 bool Create(wxWindow* parent, const wxWindowID id, const wxString& title,
140 const wxPoint& pos = wxDefaultPosition,
141 const wxSize& size = wxDefaultSize,
142 long style = wxDEFAULT_FRAME_STYLE,
137b5242 143 const wxString& name = wxPyFrameNameStr);
9c039d08 144
0122b7e3 145 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
17c0e08c 146 %pragma(python) addtomethod = "wxPreFrame:val._setOORInfo(val)"
0122b7e3 147
ecc08ead
RD
148 wxPoint GetClientAreaOrigin();
149
150 void SetMenuBar(wxMenuBar *menubar);
151 wxMenuBar *GetMenuBar();
152
153
ecc08ead
RD
154 // process menu command: returns TRUE if processed
155 bool ProcessCommand(int id);
1e4a197e 156 %pragma(python) addtoclass = "Command = ProcessCommand"
ecc08ead
RD
157
158 // create the main status bar
9c039d08
RD
159 wxStatusBar* CreateStatusBar(int number = 1,
160 long style = wxST_SIZEGRIP,
161 wxWindowID id = -1,
137b5242 162 const wxString& name = wxPyStatusLineNameStr);
ecc08ead
RD
163
164 // get the main status bar
165 wxStatusBar *GetStatusBar();
166
167 // sets the main status bar
168 void SetStatusBar(wxStatusBar *statBar);
169
170 // forward these to status bar
171 virtual void SetStatusText(const wxString &text, int number = 0);
172 virtual void SetStatusWidths(int LCOUNT, int* choices); // uses typemap
94e36a51
RD
173 void PushStatusText(const wxString &text, int number = 0);
174 void PopStatusText(int number = 0);
175
176 // show help text (typically in the statusbar); show is FALSE
177 // if you are hiding the help, TRUE otherwise
178 virtual void DoGiveHelp(const wxString& text, bool show);
179
180 // set the status bar pane the help will be shown in
181 void SetStatusBarPane(int n);
182 int GetStatusBarPane() const;
ecc08ead
RD
183
184
185 // create main toolbar
3ef86e32 186 virtual wxToolBar* CreateToolBar(long style = -1, //wxNO_BORDER|wxTB_HORIZONTAL,
ecc08ead 187 wxWindowID id = -1,
137b5242 188 const wxString& name = wxPyToolBarNameStr);
ecc08ead
RD
189
190 // get/set the main toolbar
191 virtual wxToolBar *GetToolBar() const { return m_frameToolBar; }
192 virtual void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
193
f725aedb
RD
194 // sends a size event to the window using its current size -- this has an
195 // effect of refreshing the window layout
196 virtual void SendSizeEvent();
3ef86e32
RD
197
198
199 // send wxUpdateUIEvents for all menu items in the menubar,
200 // or just for menu if non-NULL
201 void DoMenuUpdates(wxMenu* menu = NULL);
202
203 // do the UI update processing for this window
204 virtual void UpdateWindowUI(long flags = wxUPDATE_UI_NONE);
9c039d08
RD
205};
206
ecc08ead
RD
207//---------------------------------------------------------------------------
208
209class wxDialog : public wxTopLevelWindow {
210public:
211 wxDialog(wxWindow* parent,
212 const wxWindowID id,
213 const wxString& title,
214 const wxPoint& pos = wxDefaultPosition,
215 const wxSize& size = wxDefaultSize,
216 long style = wxDEFAULT_DIALOG_STYLE,
137b5242 217 const wxString& name = wxPyDialogNameStr);
ecc08ead
RD
218 %name(wxPreDialog)wxDialog();
219
220 bool Create(wxWindow* parent,
221 const wxWindowID id,
222 const wxString& title,
223 const wxPoint& pos = wxDefaultPosition,
224 const wxSize& size = wxDefaultSize,
225 long style = wxDEFAULT_DIALOG_STYLE,
137b5242 226 const wxString& name = wxPyDialogNameStr);
ecc08ead 227
0122b7e3 228 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
17c0e08c 229 %pragma(python) addtomethod = "wxPreDialog:val._setOORInfo(val)"
0122b7e3 230
ecc08ead
RD
231 void Centre(int direction = wxBOTH);
232 void EndModal(int retCode);
233 void SetModal(bool flag);
234 bool IsModal();
235 int ShowModal();
236
237 int GetReturnCode();
238 void SetReturnCode(int retCode);
239
240 wxSizer* CreateTextSizer( const wxString &message );
241 wxSizer* CreateButtonSizer( long flags );
242
243};
244
245
9c039d08
RD
246//---------------------------------------------------------------------------
247
9c039d08
RD
248class wxMiniFrame : public wxFrame {
249public:
250 wxMiniFrame(wxWindow* parent, const wxWindowID id, const wxString& title,
b68dc582
RD
251 const wxPoint& pos = wxDefaultPosition,
252 const wxSize& size = wxDefaultSize,
9c039d08 253 long style = wxDEFAULT_FRAME_STYLE,
137b5242 254 const wxString& name = wxPyFrameNameStr);
09f3d4e6 255 %name(wxPreMiniFrame)wxMiniFrame();
9c039d08 256
09f3d4e6
RD
257 bool Create(wxWindow* parent, const wxWindowID id, const wxString& title,
258 const wxPoint& pos = wxDefaultPosition,
259 const wxSize& size = wxDefaultSize,
260 long style = wxDEFAULT_FRAME_STYLE,
137b5242 261 const wxString& name = wxPyFrameNameStr);
0122b7e3
RD
262
263 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
17c0e08c 264 %pragma(python) addtomethod = "wxPreMiniFrame:val._setOORInfo(val)"
9c039d08 265};
b8b8dda7
RD
266
267
268//---------------------------------------------------------------------------
b8b8dda7 269
b5a5d647
RD
270enum {
271 wxSPLASH_CENTRE_ON_PARENT,
272 wxSPLASH_CENTRE_ON_SCREEN,
273 wxSPLASH_NO_CENTRE,
274 wxSPLASH_TIMEOUT,
275 wxSPLASH_NO_TIMEOUT,
276};
277
278
279class wxSplashScreenWindow: public wxWindow
280{
281public:
282 wxSplashScreenWindow(const wxBitmap& bitmap,
283 wxWindow* parent, wxWindowID id,
284 const wxPoint& pos = wxDefaultPosition,
285 const wxSize& size = wxDefaultSize,
286 long style = wxNO_BORDER);
287
aacd7bb6
RD
288 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
289
b5a5d647
RD
290 void SetBitmap(const wxBitmap& bitmap);
291 wxBitmap& GetBitmap();
292};
293
294
295class wxSplashScreen : public wxFrame {
296public:
297 wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds,
298 wxWindow* parent, wxWindowID id,
299 const wxPoint& pos = wxDefaultPosition,
300 const wxSize& size = wxDefaultSize,
479101ca 301 long style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP);
b5a5d647 302
aacd7bb6
RD
303 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
304
b5a5d647
RD
305 long GetSplashStyle() const;
306 wxSplashScreenWindow* GetSplashWindow() const;
307 int GetTimeout() const;
308};
309
310
311//---------------------------------------------------------------------------
312
4f3449b4 313
b8b8dda7
RD
314
315
316
9c039d08 317