]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/gtk/windows.py
Fixes so bg colors in a notebook on XP are visible again
[wxWidgets.git] / wxPython / src / gtk / windows.py
index d94eb8a3bee2ae789af1dfce692e583b940874dc..d0c85c2bb9e2d3859a7b3d4a284106d9c4e02e98 100644 (file)
@@ -668,14 +668,22 @@ SPLIT_DRAG_NONE = _windows.SPLIT_DRAG_NONE
 SPLIT_DRAG_DRAGGING = _windows.SPLIT_DRAG_DRAGGING
 SPLIT_DRAG_LEFT_DOWN = _windows.SPLIT_DRAG_LEFT_DOWN
 class SplitterWindow(core.Window):
+    """
+    wx.SplitterWindow manages up to two subwindows or panes,
+    with an optional vertical or horizontal split which can be
+    used with the mouse or programmatically.
+
+    """
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxSplitterWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
         """
         __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=SP_3D, String name=SplitterNameStr) -> SplitterWindow
+
+        Constructor.  Creates and shows a SplitterWindow.
         """
-        if kwargs.has_key('point'): kwargs['pos'] = kwargs['point']
+        if kwargs.has_key('point'): kwargs['pos'] = kwargs['point'];del kwargs['point']
         newobj = _windows.new_SplitterWindow(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
@@ -686,87 +694,254 @@ class SplitterWindow(core.Window):
         """
         Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
             long style=SP_3D, String name=SplitterNameStr) -> bool
+
+        Create the GUI part of the SplitterWindow for the 2-phase create.
         """
         return _windows.SplitterWindow_Create(*args, **kwargs)
 
     def GetWindow1(*args, **kwargs):
-        """GetWindow1() -> Window"""
+        """
+        GetWindow1() -> Window
+
+        Gets the only or left/top pane.
+        """
         return _windows.SplitterWindow_GetWindow1(*args, **kwargs)
 
     def GetWindow2(*args, **kwargs):
-        """GetWindow2() -> Window"""
+        """
+        GetWindow2() -> Window
+
+        Gets the right/bottom pane.
+        """
         return _windows.SplitterWindow_GetWindow2(*args, **kwargs)
 
     def SetSplitMode(*args, **kwargs):
-        """SetSplitMode(int mode)"""
+        """
+        SetSplitMode(int mode)
+
+        Sets the split mode.  The mode can be wx.SPLIT_VERTICAL or
+        wx.SPLIT_HORIZONTAL.  This only sets the internal variable;
+        does not update the display.
+        """
         return _windows.SplitterWindow_SetSplitMode(*args, **kwargs)
 
     def GetSplitMode(*args, **kwargs):
-        """GetSplitMode() -> int"""
+        """
+        GetSplitMode() -> int
+
+        Gets the split mode
+        """
         return _windows.SplitterWindow_GetSplitMode(*args, **kwargs)
 
     def Initialize(*args, **kwargs):
-        """Initialize(Window window)"""
+        """
+        Initialize(Window window)
+
+        Initializes the splitter window to have one pane.  This
+        should be called if you wish to initially view only a single
+        pane in the splitter window.
+        """
         return _windows.SplitterWindow_Initialize(*args, **kwargs)
 
     def SplitVertically(*args, **kwargs):
-        """SplitVertically(Window window1, Window window2, int sashPosition=0) -> bool"""
+        """
+        SplitVertically(Window window1, Window window2, int sashPosition=0) -> bool
+
+        Initializes the left and right panes of the splitter window.
+
+            window1       The left pane.
+            window2       The right pane.
+            sashPosition  The initial position of the sash. If this
+                          value is positive, it specifies the size
+                          of the left pane. If it is negative, it is
+                          absolute value gives the size of the right
+                          pane. Finally, specify 0 (default) to
+                          choose the default position (half of the
+                          total window width).
+
+        Returns True if successful, False otherwise (the window was
+        already split).
+
+        SplitVertically should be called if you wish to initially
+        view two panes. It can also be called at any subsequent
+        time, but the application should check that the window is
+        not currently split using IsSplit.
+        """
         return _windows.SplitterWindow_SplitVertically(*args, **kwargs)
 
     def SplitHorizontally(*args, **kwargs):
-        """SplitHorizontally(Window window1, Window window2, int sashPosition=0) -> bool"""
+        """
+        SplitHorizontally(Window window1, Window window2, int sashPosition=0) -> bool
+
+        Initializes the top and bottom panes of the splitter window.
+
+            window1       The top pane.
+            window2       The bottom pane.
+            sashPosition  The initial position of the sash. If this
+                          value is positive, it specifies the size
+                          of the upper pane. If it is negative, it
+                          is absolute value gives the size of the
+                          lower pane. Finally, specify 0 (default)
+                          to choose the default position (half of
+                          the total window height).
+
+        Returns True if successful, False otherwise (the window was
+        already split).
+
+        SplitHorizontally should be called if you wish to initially
+        view two panes. It can also be called at any subsequent
+        time, but the application should check that the window is
+        not currently split using IsSplit.
+        """
         return _windows.SplitterWindow_SplitHorizontally(*args, **kwargs)
 
     def Unsplit(*args, **kwargs):
-        """Unsplit(Window toRemove=None) -> bool"""
+        """
+        Unsplit(Window toRemove=None) -> bool
+
+        Unsplits the window.  Pass the pane to remove, or None to
+        remove the right or bottom pane.  Returns True if
+        successful, False otherwise (the window was not split).
+
+        This function will not actually delete the pane being
+        removed; it sends EVT_SPLITTER_UNSPLIT which can be handled
+        for the desired behaviour. By default, the pane being
+        removed is only hidden.
+        """
         return _windows.SplitterWindow_Unsplit(*args, **kwargs)
 
     def ReplaceWindow(*args, **kwargs):
-        """ReplaceWindow(Window winOld, Window winNew) -> bool"""
+        """
+        ReplaceWindow(Window winOld, Window winNew) -> bool
+
+        This function replaces one of the windows managed by the
+        SplitterWindow with another one. It is in general better to
+        use it instead of calling Unsplit() and then resplitting the
+        window back because it will provoke much less flicker. It is
+        valid to call this function whether the splitter has two
+        windows or only one.
+
+        Both parameters should be non-None and winOld must specify
+        one of the windows managed by the splitter. If the
+        parameters are incorrect or the window couldn't be replaced,
+        False is returned. Otherwise the function will return True,
+        but please notice that it will not Destroy the replaced
+        window and you may wish to do it yourself.
+        """
         return _windows.SplitterWindow_ReplaceWindow(*args, **kwargs)
 
+    def UpdateSize(*args, **kwargs):
+        """
+        UpdateSize()
+
+        Causes any pending sizing of the sash and child panes to
+        take place immediately.
+
+        Such resizing normally takes place in idle time, in order to
+        wait for layout to be completed. However, this can cause
+        unacceptable flicker as the panes are resized after the
+        window has been shown. To work around this, you can perform
+        window layout (for example by sending a size event to the
+        parent window), and then call this function, before showing
+        the top-level window.
+        """
+        return _windows.SplitterWindow_UpdateSize(*args, **kwargs)
+
     def IsSplit(*args, **kwargs):
-        """IsSplit() -> bool"""
+        """
+        IsSplit() -> bool
+
+        Is the window split?
+        """
         return _windows.SplitterWindow_IsSplit(*args, **kwargs)
 
     def SetSashSize(*args, **kwargs):
-        """SetSashSize(int width)"""
+        """
+        SetSashSize(int width)
+
+        Sets the sash size
+        """
         return _windows.SplitterWindow_SetSashSize(*args, **kwargs)
 
     def SetBorderSize(*args, **kwargs):
-        """SetBorderSize(int width)"""
+        """
+        SetBorderSize(int width)
+
+        Sets the border size
+        """
         return _windows.SplitterWindow_SetBorderSize(*args, **kwargs)
 
     def GetSashSize(*args, **kwargs):
-        """GetSashSize() -> int"""
+        """
+        GetSashSize() -> int
+
+        Gets the sash size
+        """
         return _windows.SplitterWindow_GetSashSize(*args, **kwargs)
 
     def GetBorderSize(*args, **kwargs):
-        """GetBorderSize() -> int"""
+        """
+        GetBorderSize() -> int
+
+        Gets the border size
+        """
         return _windows.SplitterWindow_GetBorderSize(*args, **kwargs)
 
     def SetSashPosition(*args, **kwargs):
-        """SetSashPosition(int position, bool redraw=True)"""
+        """
+        SetSashPosition(int position, bool redraw=True)
+
+        Sets the sash position, in pixels.  If redraw is Ttrue then
+        the panes are resized and the sash and border are redrawn.
+        """
         return _windows.SplitterWindow_SetSashPosition(*args, **kwargs)
 
     def GetSashPosition(*args, **kwargs):
-        """GetSashPosition() -> int"""
+        """
+        GetSashPosition() -> int
+
+        Returns the surrent sash position.
+        """
         return _windows.SplitterWindow_GetSashPosition(*args, **kwargs)
 
     def SetMinimumPaneSize(*args, **kwargs):
-        """SetMinimumPaneSize(int min)"""
+        """
+        SetMinimumPaneSize(int min)
+
+        Sets the minimum pane size in pixels.
+
+        The default minimum pane size is zero, which means that
+        either pane can be reduced to zero by dragging the sash,
+        thus removing one of the panes. To prevent this behaviour (and
+        veto out-of-range sash dragging), set a minimum size,
+        for example 20 pixels. If the wx.SP_PERMIT_UNSPLIT style is
+        used when a splitter window is created, the window may be
+        unsplit even if minimum size is non-zero.
+        """
         return _windows.SplitterWindow_SetMinimumPaneSize(*args, **kwargs)
 
     def GetMinimumPaneSize(*args, **kwargs):
-        """GetMinimumPaneSize() -> int"""
+        """
+        GetMinimumPaneSize() -> int
+
+        Gets the minimum pane size in pixels.
+        """
         return _windows.SplitterWindow_GetMinimumPaneSize(*args, **kwargs)
 
     def SashHitTest(*args, **kwargs):
-        """SashHitTest(int x, int y, int tolerance=5) -> bool"""
+        """
+        SashHitTest(int x, int y, int tolerance=5) -> bool
+
+        Tests for x, y over the sash
+        """
         return _windows.SplitterWindow_SashHitTest(*args, **kwargs)
 
     def SizeWindows(*args, **kwargs):
-        """SizeWindows()"""
+        """
+        SizeWindows()
+
+        Resizes subwindows
+        """
         return _windows.SplitterWindow_SizeWindows(*args, **kwargs)
 
     def SetNeedUpdating(*args, **kwargs):
@@ -787,38 +962,79 @@ _windows.SplitterWindow_swigregister(SplitterWindowPtr)
 SplitterNameStr = cvar.SplitterNameStr
 
 def PreSplitterWindow(*args, **kwargs):
-    """PreSplitterWindow() -> SplitterWindow"""
+    """
+    PreSplitterWindow() -> SplitterWindow
+
+    Precreate a SplitterWindow for 2-phase creation.
+    """
     val = _windows.new_PreSplitterWindow(*args, **kwargs)
     val.thisown = 1
     return val
 
 class SplitterEvent(core.NotifyEvent):
+    """This class represents the events generated by a splitter control."""
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxSplitterEvent instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
     def __init__(self, *args, **kwargs):
-        """__init__(wxEventType type=wxEVT_NULL, SplitterWindow splitter=(wxSplitterWindow *) NULL) -> SplitterEvent"""
+        """
+        __init__(wxEventType type=wxEVT_NULL, SplitterWindow splitter=(wxSplitterWindow *) NULL) -> SplitterEvent
+
+        This class represents the events generated by a splitter control.
+        """
         newobj = _windows.new_SplitterEvent(*args, **kwargs)
         self.this = newobj.this
         self.thisown = 1
         del newobj.thisown
     def SetSashPosition(*args, **kwargs):
-        """SetSashPosition(int pos)"""
+        """
+        SetSashPosition(int pos)
+
+        This funciton is only meaningful during
+        EVT_SPLITTER_SASH_POS_CHANGING and
+        EVT_SPLITTER_SASH_POS_CHANGED events.  In the case of
+        _CHANGED events, sets the the new sash position. In the case
+        of _CHANGING events, sets the new tracking bar position so
+        visual feedback during dragging will represent that change
+        that will actually take place. Set to -1 from the event
+        handler code to prevent repositioning.
+        """
         return _windows.SplitterEvent_SetSashPosition(*args, **kwargs)
 
     def GetSashPosition(*args, **kwargs):
-        """GetSashPosition() -> int"""
+        """
+        GetSashPosition() -> int
+
+        Returns the new sash position while in
+        EVT_SPLITTER_SASH_POS_CHANGING and
+        EVT_SPLITTER_SASH_POS_CHANGED events.
+        """
         return _windows.SplitterEvent_GetSashPosition(*args, **kwargs)
 
     def GetWindowBeingRemoved(*args, **kwargs):
-        """GetWindowBeingRemoved() -> Window"""
+        """
+        GetWindowBeingRemoved() -> Window
+
+        Returns a pointer to the window being removed when a
+        splitter window is unsplit.
+        """
         return _windows.SplitterEvent_GetWindowBeingRemoved(*args, **kwargs)
 
     def GetX(*args, **kwargs):
-        """GetX() -> int"""
+        """
+        GetX() -> int
+
+        Returns the x coordinate of the double-click point in a
+        EVT_SPLITTER_DCLICK event.
+        """
         return _windows.SplitterEvent_GetX(*args, **kwargs)
 
     def GetY(*args, **kwargs):
-        """GetY() -> int"""
+        """
+        GetY() -> int
+
+        Returns the y coordinate of the double-click point in a
+        EVT_SPLITTER_DCLICK event.
+        """
         return _windows.SplitterEvent_GetY(*args, **kwargs)
 
 
@@ -2933,6 +3149,14 @@ class PyWindow(core.Window):
         """base_RemoveChild(Window child)"""
         return _windows.PyWindow_base_RemoveChild(*args, **kwargs)
 
+    def base_ShouldInheritColours(*args, **kwargs):
+        """base_ShouldInheritColours() -> bool"""
+        return _windows.PyWindow_base_ShouldInheritColours(*args, **kwargs)
+
+    def base_ApplyParentThemeBackground(*args, **kwargs):
+        """base_ApplyParentThemeBackground(Colour c)"""
+        return _windows.PyWindow_base_ApplyParentThemeBackground(*args, **kwargs)
+
 
 class PyWindowPtr(PyWindow):
     def __init__(self, this):
@@ -2941,6 +3165,12 @@ class PyWindowPtr(PyWindow):
         self.__class__ = PyWindow
 _windows.PyWindow_swigregister(PyWindowPtr)
 
+def PrePyWindow(*args, **kwargs):
+    """PrePyWindow() -> PyWindow"""
+    val = _windows.new_PrePyWindow(*args, **kwargs)
+    val.thisown = 1
+    return val
+
 class PyPanel(Panel):
     def __repr__(self):
         return "<%s.%s; proxy of C++ wxPyPanel instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
@@ -3031,6 +3261,14 @@ class PyPanel(Panel):
         """base_RemoveChild(Window child)"""
         return _windows.PyPanel_base_RemoveChild(*args, **kwargs)
 
+    def base_ShouldInheritColours(*args, **kwargs):
+        """base_ShouldInheritColours() -> bool"""
+        return _windows.PyPanel_base_ShouldInheritColours(*args, **kwargs)
+
+    def base_ApplyParentThemeBackground(*args, **kwargs):
+        """base_ApplyParentThemeBackground(Colour c)"""
+        return _windows.PyPanel_base_ApplyParentThemeBackground(*args, **kwargs)
+
 
 class PyPanelPtr(PyPanel):
     def __init__(self, this):
@@ -3039,6 +3277,124 @@ class PyPanelPtr(PyPanel):
         self.__class__ = PyPanel
 _windows.PyPanel_swigregister(PyPanelPtr)
 
+def PrePyPanel(*args, **kwargs):
+    """PrePyPanel() -> PyPanel"""
+    val = _windows.new_PrePyPanel(*args, **kwargs)
+    val.thisown = 1
+    return val
+
+class PyScrolledWindow(ScrolledWindow):
+    def __repr__(self):
+        return "<%s.%s; proxy of C++ wxPyScrolledWindow instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
+    def __init__(self, *args, **kwargs):
+        """
+        __init__(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, 
+            long style=0, String name=PanelNameStr) -> PyScrolledWindow
+        """
+        newobj = _windows.new_PyScrolledWindow(*args, **kwargs)
+        self.this = newobj.this
+        self.thisown = 1
+        del newobj.thisown
+        self._setOORInfo(self); self._setCallbackInfo(self, PyPanel)
+
+    def _setCallbackInfo(*args, **kwargs):
+        """_setCallbackInfo(PyObject self, PyObject _class)"""
+        return _windows.PyScrolledWindow__setCallbackInfo(*args, **kwargs)
+
+    def base_DoMoveWindow(*args, **kwargs):
+        """base_DoMoveWindow(int x, int y, int width, int height)"""
+        return _windows.PyScrolledWindow_base_DoMoveWindow(*args, **kwargs)
+
+    def base_DoSetSize(*args, **kwargs):
+        """base_DoSetSize(int x, int y, int width, int height, int sizeFlags=SIZE_AUTO)"""
+        return _windows.PyScrolledWindow_base_DoSetSize(*args, **kwargs)
+
+    def base_DoSetClientSize(*args, **kwargs):
+        """base_DoSetClientSize(int width, int height)"""
+        return _windows.PyScrolledWindow_base_DoSetClientSize(*args, **kwargs)
+
+    def base_DoSetVirtualSize(*args, **kwargs):
+        """base_DoSetVirtualSize(int x, int y)"""
+        return _windows.PyScrolledWindow_base_DoSetVirtualSize(*args, **kwargs)
+
+    def base_DoGetSize(*args, **kwargs):
+        """base_DoGetSize() -> (width, height)"""
+        return _windows.PyScrolledWindow_base_DoGetSize(*args, **kwargs)
+
+    def base_DoGetClientSize(*args, **kwargs):
+        """base_DoGetClientSize() -> (width, height)"""
+        return _windows.PyScrolledWindow_base_DoGetClientSize(*args, **kwargs)
+
+    def base_DoGetPosition(*args, **kwargs):
+        """base_DoGetPosition() -> (x,y)"""
+        return _windows.PyScrolledWindow_base_DoGetPosition(*args, **kwargs)
+
+    def base_DoGetVirtualSize(*args, **kwargs):
+        """base_DoGetVirtualSize() -> Size"""
+        return _windows.PyScrolledWindow_base_DoGetVirtualSize(*args, **kwargs)
+
+    def base_DoGetBestSize(*args, **kwargs):
+        """base_DoGetBestSize() -> Size"""
+        return _windows.PyScrolledWindow_base_DoGetBestSize(*args, **kwargs)
+
+    def base_InitDialog(*args, **kwargs):
+        """base_InitDialog()"""
+        return _windows.PyScrolledWindow_base_InitDialog(*args, **kwargs)
+
+    def base_TransferDataToWindow(*args, **kwargs):
+        """base_TransferDataToWindow() -> bool"""
+        return _windows.PyScrolledWindow_base_TransferDataToWindow(*args, **kwargs)
+
+    def base_TransferDataFromWindow(*args, **kwargs):
+        """base_TransferDataFromWindow() -> bool"""
+        return _windows.PyScrolledWindow_base_TransferDataFromWindow(*args, **kwargs)
+
+    def base_Validate(*args, **kwargs):
+        """base_Validate() -> bool"""
+        return _windows.PyScrolledWindow_base_Validate(*args, **kwargs)
+
+    def base_AcceptsFocus(*args, **kwargs):
+        """base_AcceptsFocus() -> bool"""
+        return _windows.PyScrolledWindow_base_AcceptsFocus(*args, **kwargs)
+
+    def base_AcceptsFocusFromKeyboard(*args, **kwargs):
+        """base_AcceptsFocusFromKeyboard() -> bool"""
+        return _windows.PyScrolledWindow_base_AcceptsFocusFromKeyboard(*args, **kwargs)
+
+    def base_GetMaxSize(*args, **kwargs):
+        """base_GetMaxSize() -> Size"""
+        return _windows.PyScrolledWindow_base_GetMaxSize(*args, **kwargs)
+
+    def base_AddChild(*args, **kwargs):
+        """base_AddChild(Window child)"""
+        return _windows.PyScrolledWindow_base_AddChild(*args, **kwargs)
+
+    def base_RemoveChild(*args, **kwargs):
+        """base_RemoveChild(Window child)"""
+        return _windows.PyScrolledWindow_base_RemoveChild(*args, **kwargs)
+
+    def base_ShouldInheritColours(*args, **kwargs):
+        """base_ShouldInheritColours() -> bool"""
+        return _windows.PyScrolledWindow_base_ShouldInheritColours(*args, **kwargs)
+
+    def base_ApplyParentThemeBackground(*args, **kwargs):
+        """base_ApplyParentThemeBackground(Colour c)"""
+        return _windows.PyScrolledWindow_base_ApplyParentThemeBackground(*args, **kwargs)
+
+
+class PyScrolledWindowPtr(PyScrolledWindow):
+    def __init__(self, this):
+        self.this = this
+        if not hasattr(self,"thisown"): self.thisown = 0
+        self.__class__ = PyScrolledWindow
+_windows.PyScrolledWindow_swigregister(PyScrolledWindowPtr)
+
+def PrePyScrolledWindow(*args, **kwargs):
+    """PrePyScrolledWindow() -> PyScrolledWindow"""
+    val = _windows.new_PrePyScrolledWindow(*args, **kwargs)
+    val.thisown = 1
+    return val
+
 #---------------------------------------------------------------------------
 
 PRINT_MODE_NONE = _windows.PRINT_MODE_NONE