X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dd9f7fea29e3f8bb61861f52984b7943512346ac..db679b8c836e69c111cdc31e62cf92cebe4f938f:/wxPython/src/_panel.i diff --git a/wxPython/src/_panel.i b/wxPython/src/_panel.i index 0fb5d8fa1c..881ceefcec 100644 --- a/wxPython/src/_panel.i +++ b/wxPython/src/_panel.i @@ -22,11 +22,14 @@ %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); @@ -93,13 +125,10 @@ public: // 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 +137,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 +152,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 +188,15 @@ 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); };