]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_panel.i
fixes for the dummy classes (used when wxUSE_GRAPHICS_CONTEXT is 0)
[wxWidgets.git] / wxPython / src / _panel.i
index 0fb5d8fa1c8102e9f9ec5db7062a72d5595a7520..6dc14e0f6f2fa676ebcd88d6b812beaa0e008f00 100644 (file)
 %newgroup
 
 
+MustHaveApp(wxPanel);
+
 class wxPanel : public wxWindow
 {
 public:
-    %addtofunc wxPanel         "self._setOORInfo(self)"
-    %addtofunc wxPanel()       ""
+    %pythonAppend wxPanel         "self._setOORInfo(self)"
+    %pythonAppend wxPanel()       ""
+    %typemap(out) wxPanel*;    // turn off this typemap
 
     wxPanel(wxWindow* parent,
             const wxWindowID id=-1,
@@ -34,10 +37,13 @@ public:
             const wxSize& size = wxDefaultSize,
             long style = wxTAB_TRAVERSAL | wxNO_BORDER,
             const wxString& name = wxPyPanelNameStr);
-    %name(PrePanel)wxPanel();
+    %RenameCtor(PrePanel, wxPanel());
+
+    // Turn it back on again
+    %typemap(out) wxPanel* { $result = wxPyMake_wxObject($1, $owner); }
 
     bool Create(wxWindow* parent,
-                const wxWindowID id,
+                const wxWindowID id=-1,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 long style = wxTAB_TRAVERSAL | wxNO_BORDER,
@@ -45,6 +51,26 @@ public:
 
     void InitDialog();
 
+
+    DocDeclStr(
+        virtual void , SetFocus(),
+        "Overrides `wx.Window.SetFocus`.  This method uses the (undocumented)
+mix-in class wxControlContainer which manages the focus and TAB logic
+for controls which usually have child controls.  In practice, if you
+call this method and the panel has at least one child window, then the
+focus will be given to the child window.", "
+:see: `wx.FocusEvent`, `wx.Window.SetFocus`, `SetFocusIgnoringChildren`");
+    
+
+    DocDeclStr(
+        virtual void , SetFocusIgnoringChildren(),
+        "In contrast to `SetFocus` (see above) this will set the focus to the
+panel even of there are child windows in the panel. This is only
+rarely needed.", "");
+    
+
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
 };
 
 //---------------------------------------------------------------------------
@@ -55,11 +81,14 @@ public:
 //       derive from it and wxPanel.  But what to do about wxGTK where this
 //       is not True?
 
+MustHaveApp(wxScrolledWindow);
+
 class wxScrolledWindow : public wxPanel
 {
 public:
-    %addtofunc wxScrolledWindow         "self._setOORInfo(self)"
-    %addtofunc wxScrolledWindow()       ""
+    %pythonAppend wxScrolledWindow         "self._setOORInfo(self)"
+    %pythonAppend wxScrolledWindow()       ""
+    %typemap(out) wxScrolledWindow*;    // turn off this typemap
 
     wxScrolledWindow(wxWindow* parent,
                      const wxWindowID id = -1,
@@ -67,7 +96,10 @@ public:
                      const wxSize& size = wxDefaultSize,
                      long style = wxHSCROLL | wxVSCROLL,
                      const wxString& name = wxPyPanelNameStr);
-    %name(PreScrolledWindow)wxScrolledWindow();
+    %RenameCtor(PreScrolledWindow, wxScrolledWindow());
+
+    // Turn it back on again
+    %typemap(out) wxScrolledWindow* { $result = wxPyMake_wxObject($1, $owner); }
 
     bool Create(wxWindow* parent,
                 const wxWindowID id = -1,
@@ -81,7 +113,7 @@ public:
     virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY,
                                int noUnitsX, int noUnitsY,
                                int xPos = 0, int yPos = 0,
-                               bool noRefresh = False );
+                               bool noRefresh = false );
 
     // scroll to the given (in logical coords) position
     virtual void Scroll(int x, int y);
@@ -90,16 +122,17 @@ public:
     int GetScrollPageSize(int orient) const;
     void SetScrollPageSize(int orient, int pageSize);
 
+//     // get the number of lines the window can scroll, 
+//     // returns 0 if no scrollbars are there.
+//     int GetScrollLines( int orient ) const;
+    
     // Set the x, y scrolling increments.
     void SetScrollRate( int xstep, int ystep );
 
-    %feature("autodoc") GetScrollPixelsPerUnit
-    "GetScrollPixelsPerUnit() -> (xUnit, yUnit)";
-    %feature("docstring") GetScrollPixelsPerUnit "
-        get the size of one logical unit in physical ones
-        "
-    virtual void GetScrollPixelsPerUnit(int *OUTPUT,
-                                        int *OUTPUT) const;
+    DocDeclAStr(
+        virtual void, GetScrollPixelsPerUnit(int *OUTPUT, int *OUTPUT) const,
+        "GetScrollPixelsPerUnit() -> (xUnit, yUnit)",
+        "Get the size of one logical unit in physical units.", "");
 
     // Enable/disable Windows scrolling in either direction. If True, wxWindows
     // scrolls the canvas and only a bit of the canvas is invalidated; no
@@ -108,9 +141,12 @@ public:
     // actually scroll a non-constant distance
     virtual void EnableScrolling(bool x_scrolling, bool y_scrolling);
 
-    // Get the view start
-    virtual void GetViewStart(int *OUTPUT, int *OUTPUT) const;
 
+    DocDeclAStr( 
+        virtual void, GetViewStart(int *OUTPUT, int *OUTPUT) const,
+        "GetViewStart() -> (x,y)",
+        "Get the view start", "");
+    
     // Set the scale factor, used in PrepareDC
     void SetScale(double xs, double ys);
     double GetScaleX() const;
@@ -120,12 +156,21 @@ public:
     %nokwargs CalcScrolledPosition;
     %nokwargs CalcUnscrolledPosition;
     
-    // translate between scrolled and unscrolled coordinates
-    void CalcScrolledPosition(int x, int y, int *OUTPUT, int *OUTPUT) const;
+    DocStr(CalcScrolledPosition, "Translate between scrolled and unscrolled coordinates.", "");
     wxPoint CalcScrolledPosition(const wxPoint& pt) const;
-    void CalcUnscrolledPosition(int x, int y, int *OUTPUT, int *OUTPUT) const;
+    DocDeclA(
+        void, CalcScrolledPosition(int x, int y, int *OUTPUT, int *OUTPUT) const,
+        "CalcScrolledPosition(int x, int y) -> (sx, sy)");
+
+    
+    DocStr(CalcUnscrolledPosition, "Translate between scrolled and unscrolled coordinates.", "");
     wxPoint CalcUnscrolledPosition(const wxPoint& pt) const;
+    DocDeclA(
+        void, CalcUnscrolledPosition(int x, int y, int *OUTPUT, int *OUTPUT) const,
+        "CalcUnscrolledPosition(int x, int y) -> (ux, uy)");
 
+
+    
 // TODO: use directors?
 //     virtual void DoCalcScrolledPosition(int x, int y, int *xx, int *yy) const;
 //     virtual void DoCalcUnscrolledPosition(int x, int y, int *xx, int *yy) const;
@@ -147,6 +192,20 @@ public:
     void SetTargetRect(const wxRect& rect);
     wxRect GetTargetRect() const;
 #endif
+
+    // TODO: directorize this?
+    DocDeclStr(
+        virtual void , DoPrepareDC( wxDC & dc ),
+        "Normally what is called by `PrepareDC`.", "");
+
+    
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+    
+    %property(ScaleX, GetScaleX, doc="See `GetScaleX`");
+    %property(ScaleY, GetScaleY, doc="See `GetScaleY`");
+    %property(TargetWindow, GetTargetWindow, SetTargetWindow, doc="See `GetTargetWindow` and `SetTargetWindow`");
+    %property(ViewStart, GetViewStart, doc="See `GetViewStart`");
 };