//---------------------------------------------------------------------------
%newgroup
+enum
+{
+ wxSTAY_ON_TOP,
+ wxICONIZE,
+ wxMINIMIZE,
+ wxMAXIMIZE,
+ wxCLOSE_BOX,
+ wxTHICK_FRAME,
+ wxSYSTEM_MENU,
+ wxMINIMIZE_BOX,
+ wxMAXIMIZE_BOX,
+ wxTINY_CAPTION_HORIZ,
+ wxTINY_CAPTION_VERT,
+ wxRESIZE_BOX,
+ wxRESIZE_BORDER,
+
+ wxDIALOG_NO_PARENT,
+
+ wxDEFAULT_FRAME_STYLE,
+ wxDEFAULT_DIALOG_STYLE,
+
+ wxFRAME_TOOL_WINDOW,
+ wxFRAME_FLOAT_ON_PARENT,
+ wxFRAME_NO_WINDOW_MENU,
+ wxFRAME_NO_TASKBAR,
+ wxFRAME_SHAPED,
+ wxFRAME_DRAWER,
+
+ wxFRAME_EX_METAL,
+ wxDIALOG_EX_METAL,
+
+ // Obsolete
+ wxDIALOG_MODAL,
+ wxDIALOG_MODELESS,
+ wxUSER_COLOURS,
+ wxNO_3D,
+};
+
enum
{
wxFULLSCREEN_NOMENUBAR,
wxTOPLEVEL_EX_DIALOG,
};
-
-
-%typemap(in) (int widths, int* widths_field) {
- $1 = PyList_Size($input);
- $2 = int_LIST_helper($input);
- if ($2 == NULL) SWIG_fail;
-}
-
-%typemap(freearg) (int widths, int* widths_field) {
- if ($2) delete [] $2;
-}
-
+// Styles for RequestUserAttention
+enum
+{
+ wxUSER_ATTENTION_INFO = 1,
+ wxUSER_ATTENTION_ERROR = 2
+};
//---------------------------------------------------------------------------
// No constructor as it can not be used directly from Python
// maximize = True => maximize, otherwise - restore
- virtual void Maximize(bool maximize = True);
+ virtual void Maximize(bool maximize = true);
// undo Maximize() or Iconize()
virtual void Restore();
// iconize = True => iconize, otherwise - restore
- virtual void Iconize(bool iconize = True);
+ virtual void Iconize(bool iconize = true);
// return True if the frame is maximized
virtual bool IsMaximized() const;
// is successful.)
virtual bool SetShape(const wxRegion& region);
+
+ // Attracts the users attention to this window if the application is
+ // inactive (should be called when a background event occurs)
+ virtual void RequestUserAttention(int flags = wxUSER_ATTENTION_INFO);
+
+ // Is this the active frame (highlighted in the taskbar)?
+ virtual bool IsActive();
+
+#ifdef __WXMAC__
+ void MacSetMetalAppearance( bool on ) ;
+ bool MacGetMetalAppearance() const ;
+#else
+ %extend {
+ // TODO: Should they raise not implemented or just NOP???
+ void MacSetMetalAppearance( bool on ) { /*wxPyRaiseNotImplemented();*/ }
+ bool MacGetMetalAppearance() const { /*wxPyRaiseNotImplemented();*/ return false; }
+ }
+#endif
+
+ DocDeclStr(
+ void , CenterOnScreen(int dir = wxBOTH),
+ "Center the window on screen", "");
+ %pythoncode { CentreOnScreen = CenterOnScreen }
};
// is accounted for in client size calculations - all others should be taken
// care of manually.
+MustHaveApp(wxFrame);
+
class wxFrame : public wxTopLevelWindow {
public:
- %addtofunc wxFrame "self._setOORInfo(self)"
- %addtofunc wxFrame() ""
+ %pythonAppend wxFrame "self._setOORInfo(self)"
+ %pythonAppend wxFrame() ""
+ %typemap(out) wxFrame*; // turn off this typemap
- wxFrame(wxWindow* parent, const wxWindowID id, const wxString& title,
+ wxFrame(wxWindow* parent, const wxWindowID id=-1,
+ const wxString& title = wxPyEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxPyFrameNameStr);
- %name(PreFrame)wxFrame();
+ %RenameCtor(PreFrame, wxFrame());
+
+ // Turn it back on again
+ %typemap(out) wxFrame* { $result = wxPyMake_wxObject($1, $owner); }
- bool Create(wxWindow* parent, const wxWindowID id, const wxString& title,
+
+ bool Create(wxWindow* parent, const wxWindowID id=-1,
+ const wxString& title = wxPyEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
// sends a size event to the window using its current size -- this has an
// effect of refreshing the window layout
- //
- virtual void SendSizeEvent() { }
+ virtual void SendSizeEvent();
// menu bar functions
// create the main status bar by calling OnCreateStatusBar()
virtual wxStatusBar* CreateStatusBar(int number = 1,
- long style = wxST_SIZEGRIP,
+ long style = wxDEFAULT_STATUSBAR_STYLE,
wxWindowID winid = 0,
const wxString& name = wxPyStatusLineNameStr);
// TODO: with directors?
// send wxUpdateUIEvents for all menu items in the menubar,
// or just for menu if non-NULL
void DoMenuUpdates(wxMenu* menu = NULL);
+
+ static wxVisualAttributes
+ GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
};
//---------------------------------------------------------------------------
%newgroup
+MustHaveApp(wxDialog);
+
class wxDialog : public wxTopLevelWindow {
public:
- %addtofunc wxDialog "self._setOORInfo(self)"
- %addtofunc wxDialog() ""
+
+ enum
+ {
+ // all flags allowed in wxDialogBase::CreateButtonSizer()
+ ButtonSizerFlags = wxOK|wxCANCEL|wxYES|wxNO|wxHELP|wxNO_DEFAULT
+ };
+
+
+ %pythonAppend wxDialog "self._setOORInfo(self)"
+ %pythonAppend wxDialog() ""
+ %typemap(out) wxDialog*; // turn off this typemap
wxDialog(wxWindow* parent,
- const wxWindowID id,
- const wxString& title,
+ const wxWindowID id=-1,
+ const wxString& title = wxPyEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE,
const wxString& name = wxPyDialogNameStr);
- %name(PreDialog)wxDialog();
+ %RenameCtor(PreDialog, wxDialog());
+
+ // Turn it back on again
+ %typemap(out) wxDialog* { $result = wxPyMake_wxObject($1, $owner); }
bool Create(wxWindow* parent,
- const wxWindowID id,
- const wxString& title,
+ const wxWindowID id=-1,
+ const wxString& title = wxPyEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE,
// the modal dialogs have a return code - usually the id of the last
// pressed button
- void SetReturnCode(int returnCode) { m_returnCode = returnCode; }
- int GetReturnCode() const { return m_returnCode; }
+ void SetReturnCode(int returnCode);
+ int GetReturnCode() const;
+
+ // The identifier for the affirmative button
+ void SetAffirmativeId(int affirmativeId);
+ int GetAffirmativeId() const;
+
+ // Identifier for Esc key translation
+ void SetEscapeId(int escapeId);
+ int GetEscapeId() const;
// splits text up at newlines and places the
// lines into a vertical wxBoxSizer
- wxSizer *CreateTextSizer( const wxString &message );
+ wxSizer* CreateTextSizer( const wxString &message );
// places buttons into a horizontal wxBoxSizer
- wxSizer *CreateButtonSizer( long flags );
-
+ wxSizer* CreateButtonSizer( long flags,
+ bool separated = false,
+ wxCoord distance = 0 );
+ wxStdDialogButtonSizer* CreateStdDialogButtonSizer( long flags );
//void SetModal(bool flag);
// may be called to terminate the dialog with the given return code
virtual void EndModal(int retCode);
- // returns True if we're in a modal loop
- %extend {
- bool IsModalShowing() {
- #ifdef __WXGTK__
- return self->m_modalShowing;
- #else
- return self->IsModalShowing();
- #endif
- }
- }
+ static wxVisualAttributes
+ GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
};
//---------------------------------------------------------------------------
%newgroup
+MustHaveApp(wxMiniFrame);
+
class wxMiniFrame : public wxFrame {
public:
- %addtofunc wxMiniFrame "self._setOORInfo(self)"
- %addtofunc wxMiniFrame() ""
+ %pythonAppend wxMiniFrame "self._setOORInfo(self)"
+ %pythonAppend wxMiniFrame() ""
- wxMiniFrame(wxWindow* parent, const wxWindowID id, const wxString& title,
+ wxMiniFrame(wxWindow* parent, const wxWindowID id=-1,
+ const wxString& title = wxPyEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
const wxString& name = wxPyFrameNameStr);
- %name(PreMiniFrame)wxMiniFrame();
+ %RenameCtor(PreMiniFrame, wxMiniFrame());
- bool Create(wxWindow* parent, const wxWindowID id, const wxString& title,
+ bool Create(wxWindow* parent, const wxWindowID id=-1,
+ const wxString& title = wxPyEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE,
};
+MustHaveApp(wxSplashScreenWindow);
+
class wxSplashScreenWindow: public wxWindow
{
public:
- %addtofunc wxSplashScreenWindow "self._setOORInfo(self)"
+ %pythonAppend wxSplashScreenWindow "self._setOORInfo(self)"
wxSplashScreenWindow(const wxBitmap& bitmap,
wxWindow* parent, wxWindowID id,
};
+MustHaveApp(wxSplashScreen);
+
class wxSplashScreen : public wxFrame {
public:
- %addtofunc wxSplashScreen "self._setOORInfo(self)"
+ %pythonAppend wxSplashScreen "self._setOORInfo(self)"
wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds,
- wxWindow* parent, wxWindowID id,
+ wxWindow* parent, wxWindowID id=-1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP);