X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9416aa89ca06d0fb20b1002e026d2c7ac7aa6a17..bf44306ebca5d26e204ef17851516d844bc2f0a7:/wxPython/src/frames.i?ds=inline diff --git a/wxPython/src/frames.i b/wxPython/src/frames.i index 27b589f068..f115e7f05a 100644 --- a/wxPython/src/frames.i +++ b/wxPython/src/frames.i @@ -16,6 +16,7 @@ %{ #include "helpers.h" #include +#include %} //---------------------------------------------------------------------- @@ -40,54 +41,163 @@ enum { wxFULLSCREEN_NOSTATUSBAR, wxFULLSCREEN_NOBORDER, wxFULLSCREEN_NOCAPTION, - wxFULLSCREEN_ALL + wxFULLSCREEN_ALL, + + wxTOPLEVEL_EX_DIALOG, }; -class wxFrame : public wxWindow { +//---------------------------------------------------------------------- + + +class wxTopLevelWindow : public wxWindow +{ +public: + // construction + wxTopLevelWindow(wxWindow *parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + const char* name = "frame"); + %name(wxPreTopLevelWindow)wxTopLevelWindow(); + + bool Create(wxWindow *parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + const char* name = "frame"); + + + // maximize = TRUE => maximize, otherwise - restore + virtual void Maximize(bool maximize = TRUE); + + // undo Maximize() or Iconize() + virtual void Restore(); + + // iconize = TRUE => iconize, otherwise - restore + virtual void Iconize(bool iconize = TRUE); + + // return TRUE if the frame is maximized + virtual bool IsMaximized() const; + + // return TRUE if the frame is iconized + virtual bool IsIconized() const; + + // get the frame icon + const wxIcon& GetIcon() const; + + // set the frame icon + virtual void SetIcon(const wxIcon& icon); + + + // maximize the window to cover entire screen + virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL); + + // return TRUE if the frame is in fullscreen mode + virtual bool IsFullScreen() const; + + virtual void SetTitle(const wxString& title); + virtual wxString GetTitle() const; +}; + +//---------------------------------------------------------------------- + + +class wxFrame : public wxTopLevelWindow { public: wxFrame(wxWindow* parent, const wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, char* name = "frame"); + %name(wxPreFrame)wxFrame(); - %pragma(python) addtomethod = "__init__:#wx._StdFrameCallbacks(self)" + bool Create(wxWindow* parent, const wxWindowID id, const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + char* name = "frame"); - void Centre(int direction = wxBOTH); + wxPoint GetClientAreaOrigin(); + + void SetMenuBar(wxMenuBar *menubar); + wxMenuBar *GetMenuBar(); + + + // call this to simulate a menu command + bool Command(int id); + + // process menu command: returns TRUE if processed + bool ProcessCommand(int id); + + // create the main status bar wxStatusBar* CreateStatusBar(int number = 1, long style = wxST_SIZEGRIP, wxWindowID id = -1, char* name = "statusBar"); - wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL|wxTB_FLAT, - wxWindowID id = -1, - char* name = "toolBar"); - - const wxIcon& GetIcon(); - wxMenuBar* GetMenuBar(); - wxStatusBar* GetStatusBar(); - wxString GetTitle(); - wxToolBar* GetToolBar(); - void Iconize(bool iconize); - bool IsIconized(); - void Maximize(bool maximize); - bool IsMaximized(); - void Restore(); - void SetAcceleratorTable(const wxAcceleratorTable& accel); - void SetIcon(const wxIcon& icon); - void SetMenuBar(wxMenuBar* menuBar); - void SetStatusBar(wxStatusBar *statusBar); - void SetStatusText(const wxString& text, int number = 0); - void SetStatusWidths(int LCOUNT, int* choices); // uses typemap - void SetTitle(const wxString& title); - void SetToolBar(wxToolBar* toolbar); - void MakeModal(bool modal = TRUE); - wxPoint GetClientAreaOrigin() const; - bool Command(int id); - bool ProcessCommand(int id); - bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL); + + // get the main status bar + wxStatusBar *GetStatusBar(); + + // sets the main status bar + void SetStatusBar(wxStatusBar *statBar); + + // forward these to status bar + virtual void SetStatusText(const wxString &text, int number = 0); + virtual void SetStatusWidths(int LCOUNT, int* choices); // uses typemap + + + // create main toolbar + virtual wxToolBar* CreateToolBar(long style = wxNO_BORDER|wxTB_HORIZONTAL, + wxWindowID id = -1, + const char* name = "toolBar"); + + // get/set the main toolbar + virtual wxToolBar *GetToolBar() const { return m_frameToolBar; } + virtual void SetToolBar(wxToolBar *toolbar) { m_frameToolBar = toolbar; } + +}; + +//--------------------------------------------------------------------------- + +class wxDialog : public wxTopLevelWindow { +public: + wxDialog(wxWindow* parent, + const wxWindowID id, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_DIALOG_STYLE, + const char* name = "dialogBox"); + %name(wxPreDialog)wxDialog(); + + bool Create(wxWindow* parent, + const wxWindowID id, + const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_DIALOG_STYLE, + const char* name = "dialogBox"); + + void Centre(int direction = wxBOTH); + void EndModal(int retCode); + void SetModal(bool flag); + bool IsModal(); + int ShowModal(); + + int GetReturnCode(); + void SetReturnCode(int retCode); + + wxSizer* CreateTextSizer( const wxString &message ); + wxSizer* CreateButtonSizer( long flags ); + }; + //--------------------------------------------------------------------------- class wxMiniFrame : public wxFrame { @@ -97,8 +207,24 @@ public: const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, char* name = "frame"); + %name(wxPreMiniFrame)wxMiniFrame(); - %pragma(python) addtomethod = "__init__:#wx._StdFrameCallbacks(self)" + bool Create(wxWindow* parent, const wxWindowID id, const wxString& title, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxDEFAULT_FRAME_STYLE, + char* name = "frame"); +}; + + +//--------------------------------------------------------------------------- + +class wxTipWindow : public wxFrame +{ +public: + wxTipWindow(wxWindow *parent, + const wxString& text, + wxCoord maxLength = 100); };