~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)
};
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.", "");
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
"", "");
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.", "");
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
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,
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),
long , GetExtraStyle() const,
"Returns the extra style bits for the window.", "");
+ DocDeclStr(
+ bool , HasExtraStyle(int exFlag) const,
+ "Returns ``True`` if the given extra flag is set.", "");
DocDeclStr(
"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
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`
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,
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 {
%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`");
%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`");
#endif
%}
+MustHaveApp(wxWindow_FromHWND);
+
%inline %{
wxWindow* wxWindow_FromHWND(wxWindow* parent, unsigned long _hWnd) {
#ifdef __WXMSW__