X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a0fd79ba38f86507f95972f7c45e3767cf442a1f..3eddc6bc00bcbdea23d52a8724f46ad56768f8b6:/wxPython/src/_window.i?ds=sidebyside diff --git a/wxPython/src/_window.i b/wxPython/src/_window.i index c7b21a2a74..1b8ace169d 100644 --- a/wxPython/src/_window.i +++ b/wxPython/src/_window.i @@ -34,15 +34,27 @@ struct wxVisualAttributes ~wxVisualAttributes() { delete self; } } - // the font used for control label/text inside it - wxFont font; - - // the foreground colour - wxColour colFg; +// // the font used for control label/text inside it +// wxFont font; +// // the foreground colour +// wxColour colFg; +// // the background colour, may be wxNullColour if the controls background +// // colour is not solid +// wxColour colBg; + + // Use our own getters and properties instead of the ones that SWIG will + // generate, so copies of the attributes will be made when they are + // accessed, instead of using a pointer to the one in the object which may + // be temporary. + %extend { + wxFont _get_font() { return self->font; } + wxColour _get_colFg() { return self->colFg; } + wxColour _get_colBg() { return self->colBg; } + } - // the background colour, may be wxNullColour if the controls background - // colour is not solid - wxColour colBg; + %property(font, _get_font) + %property(colFg, _get_colFg) + %property(colBg, _get_colBg) }; @@ -448,21 +460,21 @@ equal to -1. MoveXY); DocDeclStr( - void , SetBestFittingSize(const wxSize& size=wxDefaultSize), + void , SetInitialSize(const wxSize& size=wxDefaultSize), "A 'Smart' SetSize that will fill in default size components with the window's *best size* values. Also set's the minsize for use with sizers.", ""); - + %pythoncode { SetBestFittingSize = wx._deprecated(SetInitialSize, 'Use `SetInitialSize`') } DocDeclStr( virtual void , Raise(), "Raises the window to the top of the window hierarchy. In current -version of wxWidgets this works both for manage and child windows.", ""); +version of wxWidgets this works both for managed and child windows.", ""); DocDeclStr( virtual void , Lower(), "Lowers the window to the bottom of the window hierarchy. In current -version of wxWidgets this works both for manage and child windows.", ""); +version of wxWidgets this works both for managed and child windows.", ""); @@ -571,25 +583,23 @@ some properties of the window change.)", ""); DocDeclStr( - wxSize , GetBestFittingSize() const, + wxSize , GetEffectiveMinSize() const, "This function will merge the window's best size into the window's minimum size, giving priority to the min size components, and returns the results. ", ""); - + %pythoncode { GetBestFittingSize = wx._deprecated(GetEffectiveMinSize, 'Use `GetEffectiveMinSize` instead.') } - DocDeclStr( - wxSize , GetAdjustedBestSize() const, - "This method is similar to GetBestSize, except in one -thing. GetBestSize should return the minimum untruncated size of the -window, while this method will return the largest of BestSize and any -user specified minimum size. ie. it is the minimum size the window -should currently be drawn at, not the minimal size it can possibly -tolerate.", ""); + %pythoncode { + def GetAdjustedBestSize(self): + s = self.GetBestSize() + return wx.Size(max(s.width, self.GetMinWidth()), + max(s.height, self.GetMinHeight())) + GetAdjustedBestSize = wx._deprecated(GetAdjustedBestSize, 'Use `GetEffectiveMinSize` instead.') + } - DocDeclStr( void , Center( int direction = wxBOTH ), "Centers the window. The parameter specifies the direction for @@ -670,12 +680,12 @@ the virtual area of the window outside the given bounds.", ""); "", ""); DocDeclStr( - void , SetMinSize(const wxSize& minSize), + virtual void , SetMinSize(const wxSize& minSize), "A more convenient method than `SetSizeHints` for setting just the min size.", ""); DocDeclStr( - void , SetMaxSize(const wxSize& maxSize), + virtual void , SetMaxSize(const wxSize& maxSize), "A more convenient method than `SetSizeHints` for setting just the max size.", ""); @@ -718,6 +728,11 @@ windows it is more or less independent of the screen window size.", ""); GetVirtualSizeTuple); + DocDeclStr( + virtual wxSize , GetWindowBorderSize() const, + "Return the size of the left/right and top/bottom borders.", ""); + + // TODO: using directors? // // Override these methods for windows that have a virtual size // // independent of their client size. eg. the virtual area of a @@ -772,7 +787,16 @@ window had already been in the specified state.", ""); DocDeclStr( bool , IsEnabled() const, - "Returns true if the window is enabled for input, false otherwise.", ""); + "Returns true if the window is enabled for input, false otherwise. +This method takes into account the enabled state of parent windows up +to the top-level window.", ""); + + DocDeclStr( + bool , IsThisEnabled() const, + "Returns the internal enabled state independent of the parent(s) state, +i.e. the state in which the window would be if all of its parents are +enabled. Use `IsEnabled` to get the effective window state.", ""); + DocDeclStr( virtual bool , IsShownOnScreen() const, @@ -809,6 +833,12 @@ method.", ""); windows are only available on X platforms.", ""); + DocDeclStr( + bool , ToggleWindowStyle(int flag), + "Turn the flag on if it had been turned off before and vice versa, +returns True if the flag is turned on by this function call.", ""); + + DocDeclStr( virtual void , SetExtraStyle(long exStyle), @@ -883,6 +913,12 @@ or None.", ""); "Can this window have focus?", ""); + DocDeclStr( + bool , CanAcceptFocus() const, + "Can this window have focus right now?", ""); + + + DocDeclStr( virtual bool , AcceptsFocusFromKeyboard() const, "Can this window be given focus by keyboard navigation? if not, the @@ -890,13 +926,29 @@ only way to give it focus (provided it accepts it at all) is to click it.", ""); + + DocDeclStr( + bool , CanAcceptFocusFromKeyboard() const, + "Can this window be assigned focus from keyboard right now?", ""); + + + DocDeclStr( + virtual void , SetCanFocus(bool canFocus), + "", ""); + + + + DocDeclAStr( + virtual bool , NavigateIn(int flags = wxNavigationKeyEvent::IsForward), + "NavigateIn(self, int flags=NavigationKeyEvent.IsForward) -> bool", + "Navigates inside this window.", ""); DocDeclAStr( virtual bool , Navigate(int flags = wxNavigationKeyEvent::IsForward), "Navigate(self, int flags=NavigationKeyEvent.IsForward) -> bool", - "Does keyboard navigation from this window to another, by sending a -`wx.NavigationKeyEvent`.", " + "Does keyboard navigation starting from this window to another. This is +equivalient to self.GetParent().NavigateIn().", " :param flags: A combination of the ``IsForward`` or ``IsBackward`` and the ``WinChange`` values in the `wx.NavigationKeyEvent` @@ -964,8 +1016,16 @@ do not change.", ""); wxWindow *, GetGrandParent() const, "Returns the parent of the parent of this window, or None if there isn't one.", ""); - + + %extend { + DocDeclStr(wxWindow *, GetTopLevelParent(), + "Returns the first frame or dialog in this window's parental hierarchy.", "") + { + return wxGetTopLevelParent(self); + } + } + DocDeclStr( virtual bool , IsTopLevel() const, @@ -2063,9 +2123,15 @@ opaque.", ""); self.thisown = pre.thisown pre.thisown = 0 if hasattr(self, '_setOORInfo'): - self._setOORInfo(self) + try: + self._setOORInfo(self) + except TypeError: + pass if hasattr(self, '_setCallbackInfo'): - self._setCallbackInfo(self, self.__class__) + try: + self._setCallbackInfo(self, pre.__class__) + except TypeError: + pass } %pythoncode { @@ -2075,11 +2141,10 @@ opaque.", ""); %property(AcceleratorTable, GetAcceleratorTable, SetAcceleratorTable, doc="See `GetAcceleratorTable` and `SetAcceleratorTable`"); - %property(AdjustedBestSize, GetAdjustedBestSize, doc="See `GetAdjustedBestSize`"); %property(AutoLayout, GetAutoLayout, SetAutoLayout, doc="See `GetAutoLayout` and `SetAutoLayout`"); %property(BackgroundColour, GetBackgroundColour, SetBackgroundColour, doc="See `GetBackgroundColour` and `SetBackgroundColour`"); %property(BackgroundStyle, GetBackgroundStyle, SetBackgroundStyle, doc="See `GetBackgroundStyle` and `SetBackgroundStyle`"); - %property(BestFittingSize, GetBestFittingSize, SetBestFittingSize, doc="See `GetBestFittingSize` and `SetBestFittingSize`"); + %property(EffectiveMinSize, GetEffectiveMinSize, doc="See `GetEffectiveMinSize`"); %property(BestSize, GetBestSize, doc="See `GetBestSize`"); %property(BestVirtualSize, GetBestVirtualSize, doc="See `GetBestVirtualSize`"); %property(Border, GetBorder, doc="See `GetBorder`"); @@ -2100,6 +2165,7 @@ opaque.", ""); %property(Font, GetFont, SetFont, doc="See `GetFont` and `SetFont`"); %property(ForegroundColour, GetForegroundColour, SetForegroundColour, doc="See `GetForegroundColour` and `SetForegroundColour`"); %property(GrandParent, GetGrandParent, doc="See `GetGrandParent`"); + %property(TopLevelParent, GetTopLevelParent, doc="See `GetTopLevelParent`"); %property(Handle, GetHandle, doc="See `GetHandle`"); %property(HelpText, GetHelpText, SetHelpText, doc="See `GetHelpText` and `SetHelpText`"); %property(Id, GetId, SetId, doc="See `GetId` and `SetId`"); @@ -2222,6 +2288,8 @@ wxWindow* wxFindWindowByLabel( const wxString& label, #endif %} +MustHaveApp(wxWindow_FromHWND); + %inline %{ wxWindow* wxWindow_FromHWND(wxWindow* parent, unsigned long _hWnd) { #ifdef __WXMSW__