X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e51483b1285eb816ff6733b4c496772b053fabee..38b2e0de1806b8c5e723cdd04d20ce2b911ed5c4:/wxPython/src/_toplvl.i diff --git a/wxPython/src/_toplvl.i b/wxPython/src/_toplvl.i index 2a42716275..ceeaf5b111 100644 --- a/wxPython/src/_toplvl.i +++ b/wxPython/src/_toplvl.i @@ -49,7 +49,11 @@ enum wxFRAME_NO_WINDOW_MENU, wxFRAME_NO_TASKBAR, wxFRAME_SHAPED, + wxFRAME_DRAWER, + wxFRAME_EX_METAL, + wxDIALOG_EX_METAL, + // Obsolete wxDIALOG_MODAL, wxDIALOG_MODELESS, @@ -85,13 +89,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; @@ -106,7 +110,7 @@ public: virtual void SetIcon(const wxIcon& icon); // set the frame icons - virtual void SetIcons(const wxIconBundle& icons ); + virtual void SetIcons(const wxIconBundle& icons); // maximize the window to cover entire screen virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL); @@ -118,20 +122,33 @@ public: virtual wxString GetTitle() const; // Set the shape of the window to the given region. - // Returns True if the platform supports this feature (and the operation - // is successful.) + // Returns True if the platform supports this feature + // (and the operation 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) + // 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 ; + 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 } }; @@ -147,31 +164,32 @@ public: MustHaveApp(wxFrame); -class wxFrame : public wxTopLevelWindow { +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, + 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=-1, - const wxString& title = wxPyEmptyString, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxDEFAULT_FRAME_STYLE, - const wxString& name = wxPyFrameNameStr); - + 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, + const wxString& name = wxPyFrameNameStr); // frame state // ----------- @@ -180,24 +198,20 @@ public: // if the frame has a toolbar) in client coordinates virtual wxPoint GetClientAreaOrigin() const; - // sends a size event to the window using its current size -- this has an - // effect of refreshing the window layout - // + // sends a size event to the window using its current size: + // this has a side effect of refreshing the window layout virtual void SendSizeEvent(); - // menu bar functions // ------------------ virtual void SetMenuBar(wxMenuBar *menubar); virtual wxMenuBar *GetMenuBar() const; - // process menu command: returns True if processed bool ProcessCommand(int winid); %pythoncode { Command = ProcessCommand } - // status bar functions // -------------------- @@ -206,6 +220,7 @@ public: long style = wxDEFAULT_STATUSBAR_STYLE, wxWindowID winid = 0, const wxString& name = wxPyStatusLineNameStr); + // TODO: with directors? // // return a new status bar // virtual wxStatusBar *OnCreateStatusBar(int number, @@ -221,7 +236,7 @@ public: // forward these to status bar virtual void SetStatusText(const wxString &text, int number = 0); - virtual void SetStatusWidths(int widths, const int* widths_field); //uses typemap above + virtual void SetStatusWidths(int widths, const int* widths_field); // uses typemap above void PushStatusText(const wxString &text, int number = 0); void PopStatusText(int number = 0); @@ -229,7 +244,6 @@ public: void SetStatusBarPane(int n); int GetStatusBarPane() const; - // toolbar functions // ----------------- @@ -237,6 +251,7 @@ public: virtual wxToolBar* CreateToolBar(long style = -1, wxWindowID winid = -1, const wxString& name = wxPyToolBarNameStr); + // TODO: with directors? // // return a new toolbar // virtual wxToolBar *OnCreateToolBar(long style, @@ -247,12 +262,10 @@ public: virtual wxToolBar *GetToolBar() const; virtual void SetToolBar(wxToolBar *toolbar); - // show help text (typically in the statusbar); show is False // if you are hiding the help, True otherwise virtual void DoGiveHelp(const wxString& text, bool show); - // send wxUpdateUIEvents for all menu items in the menubar, // or just for menu if non-NULL void DoMenuUpdates(wxMenu* menu = NULL); @@ -266,47 +279,63 @@ public: MustHaveApp(wxDialog); -class wxDialog : public wxTopLevelWindow { +class wxDialog : public wxTopLevelWindow +{ public: + 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=-1, + 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=-1, + 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); - - // the modal dialogs have a return code - usually the id of the last + // the modal dialogs have a return code - usually the ID of the last // pressed button 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); + //void SetModal( bool flag ); // is the dialog in modal state right now? virtual bool IsModal() const; @@ -320,11 +349,6 @@ public: static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); - - %pythoncode { - def SendSizeEvent(self): - self.ProcessEvent(wx.SizeEvent((-1,-1))) - } }; //--------------------------------------------------------------------------- @@ -333,26 +357,28 @@ public: MustHaveApp(wxMiniFrame); -class wxMiniFrame : public wxFrame { +class wxMiniFrame : public wxFrame +{ public: %pythonAppend wxMiniFrame "self._setOORInfo(self)" %pythonAppend wxMiniFrame() "" - 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(); - - 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, - const wxString& name = wxPyFrameNameStr); + 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); + %RenameCtor(PreMiniFrame, wxMiniFrame()); + 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, + const wxString& name = wxPyFrameNameStr); }; @@ -360,7 +386,8 @@ public: %newgroup -enum { +enum +{ wxSPLASH_CENTRE_ON_PARENT, wxSPLASH_CENTRE_ON_SCREEN, wxSPLASH_NO_CENTRE, @@ -377,10 +404,11 @@ public: %pythonAppend wxSplashScreenWindow "self._setOORInfo(self)" wxSplashScreenWindow(const wxBitmap& bitmap, - wxWindow* parent, wxWindowID id, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxNO_BORDER); + wxWindow* parent, + wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxNO_BORDER); void SetBitmap(const wxBitmap& bitmap); wxBitmap& GetBitmap(); @@ -389,15 +417,18 @@ public: MustHaveApp(wxSplashScreen); -class wxSplashScreen : public wxFrame { +class wxSplashScreen : public wxFrame +{ public: %pythonAppend wxSplashScreen "self._setOORInfo(self)" - wxSplashScreen(const wxBitmap& bitmap, long splashStyle, int milliseconds, - wxWindow* parent, wxWindowID id=-1, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxSIMPLE_BORDER|wxFRAME_NO_TASKBAR|wxSTAY_ON_TOP); + wxSplashScreen(const wxBitmap& bitmap, + long splashStyle, int milliseconds, + wxWindow* parent, + wxWindowID id = -1, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxSIMPLE_BORDER | wxFRAME_NO_TASKBAR | wxSTAY_ON_TOP); long GetSplashStyle() const; wxSplashScreenWindow* GetSplashWindow() const;