]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_toplvl.i
Oops, CenteronScreen wasn't really removed, just moved to wxTopLevelWindow
[wxWidgets.git] / wxPython / src / _toplvl.i
index 01f14c5b2750a014823413e53be43badf4ff05d3..3c27d1b5afa102d014eddddb6f219bd598b45330 100644 (file)
@@ -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,
@@ -69,18 +73,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 +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;
@@ -128,10 +126,29 @@ 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
+
+    DocDeclStr(
+        void , CenterOnScreen(int dir = wxBOTH),
+        "Center the window on screen", "");
+    %pythoncode { CentreOnScreen = CenterOnScreen }
 };
 
 
@@ -159,7 +176,7 @@ 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); }
@@ -182,7 +199,6 @@ public:
 
     // sends a size event to the window using its current size -- this has an
     // effect of refreshing the window layout
-    //
     virtual void SendSizeEvent();
 
 
@@ -268,6 +284,14 @@ MustHaveApp(wxDialog);
 
 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
@@ -279,7 +303,7 @@ 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); }
@@ -298,13 +322,23 @@ public:
     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 );
+    wxSizerCreateTextSizer( 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);
 
@@ -320,11 +354,6 @@ public:
 
     static wxVisualAttributes
     GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
-
-    %pythoncode {
-        def SendSizeEvent(self):
-            self.ProcessEvent(wx.SizeEvent((-1,-1)))
-    }
 };
 
 //---------------------------------------------------------------------------
@@ -344,7 +373,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,