1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: SWIG definitions of various window classes
9 // Copyright: (c) 1998 by Total Control Software
10 // Licence: wxWindows license
11 /////////////////////////////////////////////////////////////////////////////
18 #include <wx/minifram.h>
19 #include <wx/splash.h>
22 //----------------------------------------------------------------------
25 %include my_typemaps.i
27 // Import some definitions of other classes, etc.
34 %pragma(python) code = "import wx"
36 //----------------------------------------------------------------------
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);
46 //----------------------------------------------------------------------
49 wxFULLSCREEN_NOMENUBAR,
50 wxFULLSCREEN_NOTOOLBAR,
51 wxFULLSCREEN_NOSTATUSBAR,
52 wxFULLSCREEN_NOBORDER,
53 wxFULLSCREEN_NOCAPTION,
60 //----------------------------------------------------------------------
63 class wxTopLevelWindow : public wxWindow
67 wxTopLevelWindow(wxWindow *parent,
69 const wxString& title,
70 const wxPoint& pos = wxDefaultPosition,
71 const wxSize& size = wxDefaultSize,
72 long style = wxDEFAULT_FRAME_STYLE,
73 const wxString& name = wxPyFrameNameStr);
74 %name(wxPreTopLevelWindow)wxTopLevelWindow();
76 bool Create(wxWindow *parent,
78 const wxString& title,
79 const wxPoint& pos = wxDefaultPosition,
80 const wxSize& size = wxDefaultSize,
81 long style = wxDEFAULT_FRAME_STYLE,
82 const wxString& name = wxPyFrameNameStr);
84 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
85 %pragma(python) addtomethod = "wxPreTopLevelWindow:val._setOORInfo(val)"
87 // maximize = TRUE => maximize, otherwise - restore
88 virtual void Maximize(bool maximize = TRUE);
90 // undo Maximize() or Iconize()
91 virtual void Restore();
93 // iconize = TRUE => iconize, otherwise - restore
94 virtual void Iconize(bool iconize = TRUE);
96 // return TRUE if the frame is maximized
97 virtual bool IsMaximized() const;
99 // return TRUE if the frame is iconized
100 virtual bool IsIconized() const;
102 // get the frame icon
103 wxIcon GetIcon() const;
105 // set the frame icon
106 virtual void SetIcon(const wxIcon& icon);
108 // set the frame icons
109 virtual void SetIcons(const wxIconBundle& icons );
111 // maximize the window to cover entire screen
112 virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
114 // return TRUE if the frame is in fullscreen mode
115 virtual bool IsFullScreen() const;
117 virtual void SetTitle(const wxString& title);
118 virtual wxString GetTitle() const;
121 //----------------------------------------------------------------------
124 class wxFrame : public wxTopLevelWindow {
126 wxFrame(wxWindow* parent, const wxWindowID id, const wxString& title,
127 const wxPoint& pos = wxDefaultPosition,
128 const wxSize& size = wxDefaultSize,
129 long style = wxDEFAULT_FRAME_STYLE,
130 const wxString& name = wxPyFrameNameStr);
131 %name(wxPreFrame)wxFrame();
133 bool Create(wxWindow* parent, const wxWindowID id, const wxString& title,
134 const wxPoint& pos = wxDefaultPosition,
135 const wxSize& size = wxDefaultSize,
136 long style = wxDEFAULT_FRAME_STYLE,
137 const wxString& name = wxPyFrameNameStr);
139 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
140 %pragma(python) addtomethod = "wxPreFrame:val._setOORInfo(val)"
142 wxPoint GetClientAreaOrigin();
144 void SetMenuBar(wxMenuBar *menubar);
145 wxMenuBar *GetMenuBar();
148 // call this to simulate a menu command
149 bool Command(int id);
151 // process menu command: returns TRUE if processed
152 bool ProcessCommand(int id);
154 // create the main status bar
155 wxStatusBar* CreateStatusBar(int number = 1,
156 long style = wxST_SIZEGRIP,
158 const wxString& name = wxPyStatusLineNameStr);
160 // get the main status bar
161 wxStatusBar *GetStatusBar();
163 // sets the main status bar
164 void SetStatusBar(wxStatusBar *statBar);
166 // forward these to status bar
167 virtual void SetStatusText(const wxString &text, int number = 0);
168 virtual void SetStatusWidths(int LCOUNT, int* choices); // uses typemap
169 void PushStatusText(const wxString &text, int number = 0);
170 void PopStatusText(int number = 0);
172 // show help text (typically in the statusbar); show is FALSE
173 // if you are hiding the help, TRUE otherwise
174 virtual void DoGiveHelp(const wxString& text, bool show);
176 // set the status bar pane the help will be shown in
177 void SetStatusBarPane(int n);
178 int GetStatusBarPane() const;
181 // create main toolbar
182 virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL,
184 const wxString& name = wxPyToolBarNameStr);
186 // get/set the main toolbar
187 virtual wxToolBar *GetToolBar() const { return m_frameToolBar; }
188 virtual void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; }
190 // sends a size event to the window using its current size -- this has an
191 // effect of refreshing the window layout
192 virtual void SendSizeEvent();
195 //---------------------------------------------------------------------------
197 class wxDialog : public wxTopLevelWindow {
199 wxDialog(wxWindow* parent,
201 const wxString& title,
202 const wxPoint& pos = wxDefaultPosition,
203 const wxSize& size = wxDefaultSize,
204 long style = wxDEFAULT_DIALOG_STYLE,
205 const wxString& name = wxPyDialogNameStr);
206 %name(wxPreDialog)wxDialog();
208 bool Create(wxWindow* parent,
210 const wxString& title,
211 const wxPoint& pos = wxDefaultPosition,
212 const wxSize& size = wxDefaultSize,
213 long style = wxDEFAULT_DIALOG_STYLE,
214 const wxString& name = wxPyDialogNameStr);
216 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
217 %pragma(python) addtomethod = "wxPreDialog:val._setOORInfo(val)"
219 void Centre(int direction = wxBOTH);
220 void EndModal(int retCode);
221 void SetModal(bool flag);
226 void SetReturnCode(int retCode);
228 wxSizer* CreateTextSizer( const wxString &message );
229 wxSizer* CreateButtonSizer( long flags );
234 //---------------------------------------------------------------------------
236 class wxMiniFrame : public wxFrame {
238 wxMiniFrame(wxWindow* parent, const wxWindowID id, const wxString& title,
239 const wxPoint& pos = wxDefaultPosition,
240 const wxSize& size = wxDefaultSize,
241 long style = wxDEFAULT_FRAME_STYLE,
242 const wxString& name = wxPyFrameNameStr);
243 %name(wxPreMiniFrame)wxMiniFrame();
245 bool Create(wxWindow* parent, const wxWindowID id, const wxString& title,
246 const wxPoint& pos = wxDefaultPosition,
247 const wxSize& size = wxDefaultSize,
248 long style = wxDEFAULT_FRAME_STYLE,
249 const wxString& name = wxPyFrameNameStr);
251 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
252 %pragma(python) addtomethod = "wxPreMiniFrame:val._setOORInfo(val)"
256 //---------------------------------------------------------------------------
259 wxSPLASH_CENTRE_ON_PARENT,
260 wxSPLASH_CENTRE_ON_SCREEN,
267 class wxSplashScreenWindow: public wxWindow
270 wxSplashScreenWindow(const wxBitmap& bitmap,
271 wxWindow* parent, wxWindowID id,
272 const wxPoint& pos = wxDefaultPosition,
273 const wxSize& size = wxDefaultSize,
274 long style = wxNO_BORDER);
276 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
278 void SetBitmap(const wxBitmap& bitmap);
279 wxBitmap& GetBitmap();
283 class wxSplashScreen : public wxFrame {
285 wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds,
286 wxWindow* parent, wxWindowID id,
287 const wxPoint& pos = wxDefaultPosition,
288 const wxSize& size = wxDefaultSize,
289 long style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP);
291 %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
293 long GetSplashStyle() const;
294 wxSplashScreenWindow* GetSplashWindow() const;
295 int GetTimeout() const;
299 //---------------------------------------------------------------------------