]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_window.i
Add wxSVGFileDC
[wxWidgets.git] / wxPython / src / _window.i
index e705a0351b06ce7da150642a7b9b4496944638b1..1b8ace169dfaeaf58c260d37b9077da2735dd839 100644 (file)
@@ -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)
 };
 
 
@@ -457,12 +469,12 @@ window's *best size* values.  Also set's the minsize for use with sizers.", "");
     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.", "");
     
 
     
@@ -716,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
@@ -770,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,
@@ -807,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),
@@ -881,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
@@ -888,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`
@@ -962,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,
@@ -2061,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, pre.__class__)
+            try:
+                self._setCallbackInfo(self, pre.__class__)
+            except TypeError:
+                pass
     }
 
     %pythoncode {
@@ -2073,7 +2141,6 @@ 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`");
@@ -2098,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`");
@@ -2220,6 +2288,8 @@ wxWindow* wxFindWindowByLabel( const wxString& label,
 #endif
 %}
 
+MustHaveApp(wxWindow_FromHWND);
+
 %inline %{
     wxWindow* wxWindow_FromHWND(wxWindow* parent, unsigned long _hWnd) {
 #ifdef __WXMSW__