]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_toplvl.i
reSWIGged
[wxWidgets.git] / wxPython / src / _toplvl.i
index 33d3016044c06dd57cb117f769e84b89431bef08..4032625afe2662a5bf8c6e1710ff38d3a2d4dea1 100644 (file)
 
 //---------------------------------------------------------------------------
 
-%{
-    // Put some wx default wxChar* values into wxStrings.
-    DECLARE_DEF_STRING(FrameNameStr);
-    DECLARE_DEF_STRING(DialogNameStr);
-    DECLARE_DEF_STRING(StatusLineNameStr);
-    DECLARE_DEF_STRING(ToolBarNameStr);
-%}
+MAKE_CONST_WXSTRING(FrameNameStr);
+MAKE_CONST_WXSTRING(DialogNameStr);
+MAKE_CONST_WXSTRING(StatusLineNameStr);
+MAKE_CONST_WXSTRING(ToolBarNameStr);
 
 //---------------------------------------------------------------------------
 %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,
+    
+    // Obsolete
+    wxDIALOG_MODAL,
+    wxDIALOG_MODELESS,
+    wxUSER_COLOURS,
+    wxNO_3D,
+};    
+
 enum
 {
     wxFULLSCREEN_NOMENUBAR,
@@ -38,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
+};
 
 //---------------------------------------------------------------------------
 
@@ -59,19 +85,19 @@ public:
 
     // No constructor as it can not be used directly from Python
 
-    // maximize = TRUE => maximize, otherwise - restore
-    virtual void Maximize(bool maximize = TRUE);
+    // 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);
+    // iconize = True => iconize, otherwise - restore
+    virtual void Iconize(bool iconize = true);
 
-    // return TRUE if the frame is maximized
+    // return True if the frame is maximized
     virtual bool IsMaximized() const;
 
-    // return TRUE if the frame is iconized
+    // return True if the frame is iconized
     virtual bool IsIconized() const;
 
     // get the frame icon
@@ -86,17 +112,35 @@ public:
     // 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
+    // return True if the frame is in fullscreen mode
     virtual bool IsFullScreen() const;
 
     virtual void SetTitle(const wxString& title);
     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
+    // 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)
+    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
 };
 
 
@@ -110,19 +154,28 @@ public:
 // 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());
 
-    bool Create(wxWindow* parent, const wxWindowID id, const wxString& title,
+    // 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,
@@ -138,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
@@ -149,7 +201,7 @@ public:
     virtual wxMenuBar *GetMenuBar() const;
 
 
-    // process menu command: returns TRUE if processed
+    // process menu command: returns True if processed
     bool ProcessCommand(int winid);
     %pythoncode { Command = ProcessCommand }
 
@@ -159,7 +211,7 @@ public:
 
     // 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?
@@ -204,36 +256,45 @@ public:
     virtual void SetToolBar(wxToolBar *toolbar);
 
 
-    // show help text (typically in the statusbar); show is FALSE
-    // if you are hiding the help, TRUE otherwise
+    // 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);
+
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 //---------------------------------------------------------------------------
 %newgroup
 
+MustHaveApp(wxDialog);
+
 class wxDialog : public wxTopLevelWindow {
 public:
-    %addtofunc wxDialog   "self._setOORInfo(self)"
-    %addtofunc wxDialog() ""
+    %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,
@@ -242,18 +303,20 @@ 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 );
+    wxSizerCreateTextSizer( 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);
 
-    void SetModal(bool flag);
+    // is the dialog in modal state right now?
     virtual bool IsModal() const;
 
     // Shows the dialog and starts a nested event loop that returns when
@@ -263,15 +326,12 @@ public:
     // 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);
+
+    %pythoncode {
+        def SendSizeEvent(self):
+            self.ProcessEvent(wx.SizeEvent((-1,-1)))
     }
 };
 
@@ -279,19 +339,23 @@ public:
 %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,
@@ -313,10 +377,12 @@ enum {
 };
 
 
+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,
@@ -329,12 +395,14 @@ public:
 };
 
 
+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);