X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/09f3d4e679f5742c54fb062ede846b77606a9c5b..16d38102e8ad5534d185cc532b9aa8077a75e0a4:/wxPython/src/frames.i diff --git a/wxPython/src/frames.i b/wxPython/src/frames.i index 86c9ad7fe6..f115e7f05a 100644 --- a/wxPython/src/frames.i +++ b/wxPython/src/frames.i @@ -41,11 +41,73 @@ enum { wxFULLSCREEN_NOSTATUSBAR, wxFULLSCREEN_NOBORDER, wxFULLSCREEN_NOCAPTION, - wxFULLSCREEN_ALL + wxFULLSCREEN_ALL, + + wxTOPLEVEL_EX_DIALOG, +}; + + +//---------------------------------------------------------------------- + + +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 wxWindow { + +class wxFrame : public wxTopLevelWindow { public: wxFrame(wxWindow* parent, const wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, @@ -60,41 +122,82 @@ public: 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); - bool IsFullScreen(); + + // 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 {