]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_statusbar.i
Add copy ctor for wxPyCBInputStream and use it to prevent double
[wxWidgets.git] / wxPython / src / _statusbar.i
index 360970e3fafb221d69b1d33c9aeec0db461fcfca..6988a190a5191f10f9124bb7e8e9b10be4cfaec0 100644 (file)
 %newgroup;
 
 
+enum {
+    wxSB_NORMAL,
+    wxSB_FLAT,
+    wxSB_RAISED
+};
+
+
+
+      
 // wxStatusBar: a window near the bottom of the frame used for status info
+MustHaveApp(wxStatusBar);
 class wxStatusBar : public wxWindow
 {
 public:
-    %addtofunc wxStatusBar         "self._setOORInfo(self)"
-    %addtofunc wxStatusBar()       ""
+    %pythonAppend wxStatusBar         "self._setOORInfo(self)"
+    %pythonAppend wxStatusBar()       ""
+    %typemap(out) wxStatusBar*;    // turn off this typemap
     
     wxStatusBar(wxWindow* parent, wxWindowID id = -1,
-                long style = wxST_SIZEGRIP,
+                long style = wxDEFAULT_STATUSBAR_STYLE,
                 const wxString& name = wxPyStatusLineNameStr);
-    %name(PreStatusBar)wxStatusBar();
+    %RenameCtor(PreStatusBar, wxStatusBar());
+
+    // Turn it back on again
+    %typemap(out) wxStatusBar* { $result = wxPyMake_wxObject($1, $owner); }
 
-    bool Create(wxWindow* parent, wxWindowID id,
+    bool Create(wxWindow* parent, wxWindowID id=-1,
                 long style = wxST_SIZEGRIP,
                 const wxString& name = wxPyStatusLineNameStr);
 
@@ -56,17 +70,34 @@ public:
     // minus the sum of fixed width fields) is divided between the fields with
     // negative width according to the abs value of the width (field with width
     // -2 grows twice as much as one with width -1 &c)
-    virtual void SetStatusWidths(int widths, const int* widths_field); // uses typemap in _toplvl.i
+    virtual void SetStatusWidths(int widths, const int* widths_field); 
 
-    // Get the position and size of the field's internal bounding rectangle
-    virtual bool GetFieldRect(int i, wxRect& rect) const;
 
+    // Set the field style. Use either wxSB_NORMAL (default) for a standard 3D 
+    // border around a field, wxSB_FLAT for no border around a field, so that it 
+    // appears flat or wxSB_POPOUT to make the field appear raised.
+    // Setting field styles only works on wxMSW
+    virtual void SetStatusStyles(int styles, const int* styles_field);
+    
+    
+    // Get the position and size of the field's internal bounding rectangle
+    %extend {
+        wxRect GetFieldRect(int i) {
+            wxRect r;
+            self->GetFieldRect(i, r);
+            return r;
+        }
+    }
+    
     // sets the minimal vertical size of the status bar
     virtual void SetMinHeight(int height);
 
     // get the dimensions of the horizontal and vertical borders
     virtual int GetBorderX() const;
     virtual int GetBorderY() const;
+
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };