X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe763115457e499d731302b73484cd4e9111a52b..dcc1aa238271267e92069d834781ee8fd15007bd:/wxPython/src/msw/windows.py diff --git a/wxPython/src/msw/windows.py b/wxPython/src/msw/windows.py index 7e1f12c815..4da0354318 100644 --- a/wxPython/src/msw/windows.py +++ b/wxPython/src/msw/windows.py @@ -673,14 +673,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 @@ -691,87 +699,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): @@ -792,38 +967,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) @@ -842,6 +1058,7 @@ EVT_SPLITTER_SASH_POS_CHANGED = wx.PyEventBinder( wxEVT_COMMAND_SPLITTER_SASH_PO EVT_SPLITTER_SASH_POS_CHANGING = wx.PyEventBinder( wxEVT_COMMAND_SPLITTER_SASH_POS_CHANGING, 1 ) EVT_SPLITTER_DOUBLECLICKED = wx.PyEventBinder( wxEVT_COMMAND_SPLITTER_DOUBLECLICKED, 1 ) EVT_SPLITTER_UNSPLIT = wx.PyEventBinder( wxEVT_COMMAND_SPLITTER_UNSPLIT, 1 ) +EVT_SPLITTER_DCLICK = EVT_SPLITTER_DOUBLECLICKED #--------------------------------------------------------------------------- @@ -2949,6 +3166,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): @@ -2957,6 +3182,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,) @@ -3047,6 +3278,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): @@ -3055,6 +3294,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