X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d55734102e25f5d11bcb4bbac39083320afd3699..f78e4942ec0f3f6abd2992502e2d6c5c2e8e55f6:/wxPython/src/_toplvl.i?ds=sidebyside diff --git a/wxPython/src/_toplvl.i b/wxPython/src/_toplvl.i index d615218244..4032625afe 100644 --- a/wxPython/src/_toplvl.i +++ b/wxPython/src/_toplvl.i @@ -49,7 +49,8 @@ enum wxFRAME_NO_WINDOW_MENU, wxFRAME_NO_TASKBAR, wxFRAME_SHAPED, - + wxFRAME_DRAWER, + // Obsolete wxDIALOG_MODAL, wxDIALOG_MODELESS, @@ -69,18 +70,12 @@ enum 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 +}; //--------------------------------------------------------------------------- @@ -91,13 +86,13 @@ public: // 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; @@ -128,9 +123,23 @@ public: // 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 }; @@ -151,6 +160,7 @@ class wxFrame : public wxTopLevelWindow { public: %pythonAppend wxFrame "self._setOORInfo(self)" %pythonAppend wxFrame() "" + %typemap(out) wxFrame*; // turn off this typemap wxFrame(wxWindow* parent, const wxWindowID id=-1, const wxString& title = wxPyEmptyString, @@ -158,8 +168,12 @@ public: 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=-1, const wxString& title = wxPyEmptyString, const wxPoint& pos = wxDefaultPosition, @@ -177,8 +191,7 @@ public: // 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 @@ -265,6 +278,7 @@ class wxDialog : public wxTopLevelWindow { public: %pythonAppend wxDialog "self._setOORInfo(self)" %pythonAppend wxDialog() "" + %typemap(out) wxDialog*; // turn off this typemap wxDialog(wxWindow* parent, const wxWindowID id=-1, @@ -273,7 +287,10 @@ public: 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=-1, @@ -286,16 +303,16 @@ public: // 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; // 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 ); + wxStdDialogButtonSizer* CreateStdDialogButtonSizer( long flags ); //void SetModal(bool flag); @@ -311,6 +328,11 @@ public: static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + + %pythoncode { + def SendSizeEvent(self): + self.ProcessEvent(wx.SizeEvent((-1,-1))) + } }; //--------------------------------------------------------------------------- @@ -330,7 +352,7 @@ public: 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=-1, const wxString& title = wxPyEmptyString,