X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2f4c0a16186cae6d4a780b59314532fab473fb0b..5cd7ab8dd8af0c17ce9dad88830a8d7aefd4f73b:/wxPython/src/msw/windows.py diff --git a/wxPython/src/msw/windows.py b/wxPython/src/msw/windows.py index e9f11374d1..f8ac5d7c47 100644 --- a/wxPython/src/msw/windows.py +++ b/wxPython/src/msw/windows.py @@ -27,6 +27,8 @@ class Panel(core.Window): Create(Window parent, int id, Point pos=DefaultPosition, Size size=DefaultSize, long style=wxTAB_TRAVERSAL|wxNO_BORDER, String name=PanelNameStr) -> bool + + Create the GUI part of the Window for 2-phase creation mode. """ return _windows.Panel_Create(*args, **kwargs) @@ -70,6 +72,8 @@ class ScrolledWindow(Panel): Create(Window parent, int id=-1, Point pos=DefaultPosition, Size size=DefaultSize, long style=wxHSCROLL|wxVSCROLL, String name=PanelNameStr) -> bool + + Create the GUI part of the Window for 2-phase creation mode. """ return _windows.ScrolledWindow_Create(*args, **kwargs) @@ -238,11 +242,19 @@ class TopLevelWindow(core.Window): return _windows.TopLevelWindow_IsFullScreen(*args, **kwargs) def SetTitle(*args, **kwargs): - """SetTitle(String title)""" + """ + SetTitle(String title) + + Sets the window's title. Applicable only to frames and dialogs. + """ return _windows.TopLevelWindow_SetTitle(*args, **kwargs) def GetTitle(*args, **kwargs): - """GetTitle() -> String""" + """ + GetTitle() -> String + + Gets the window's title. Applicable only to frames and dialogs. + """ return _windows.TopLevelWindow_GetTitle(*args, **kwargs) def SetShape(*args, **kwargs): @@ -288,7 +300,13 @@ class Frame(TopLevelWindow): return _windows.Frame_Create(*args, **kwargs) def GetClientAreaOrigin(*args, **kwargs): - """GetClientAreaOrigin() -> Point""" + """ + GetClientAreaOrigin() -> Point + + Get the origin of the client area of the window relative to the + window's top left corner (the client area may be shifted because of + the borders, scrollbars, other decorations...) + """ return _windows.Frame_GetClientAreaOrigin(*args, **kwargs) def SendSizeEvent(*args, **kwargs): @@ -646,6 +664,7 @@ SP_PERMIT_UNSPLIT = _windows.SP_PERMIT_UNSPLIT SP_LIVE_UPDATE = _windows.SP_LIVE_UPDATE SP_3DSASH = _windows.SP_3DSASH SP_3DBORDER = _windows.SP_3DBORDER +SP_NO_XP_THEME = _windows.SP_NO_XP_THEME SP_BORDER = _windows.SP_BORDER SP_3D = _windows.SP_3D SPLIT_HORIZONTAL = _windows.SPLIT_HORIZONTAL @@ -654,12 +673,20 @@ 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'] newobj = _windows.new_SplitterWindow(*args, **kwargs) @@ -672,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): @@ -773,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) @@ -823,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 #--------------------------------------------------------------------------- @@ -1340,11 +1576,25 @@ class VScrolledWindow(Panel): return _windows.VScrolledWindow_ScrollToLine(*args, **kwargs) def ScrollLines(*args, **kwargs): - """ScrollLines(int lines) -> bool""" + """ + ScrollLines(int lines) -> bool + + If the platform and window class supports it, scrolls the window by + the given number of lines down, if lines is positive, or up if lines + is negative. Returns True if the window was scrolled, False if it was + already on top/bottom and nothing was done. + """ return _windows.VScrolledWindow_ScrollLines(*args, **kwargs) def ScrollPages(*args, **kwargs): - """ScrollPages(int pages) -> bool""" + """ + ScrollPages(int pages) -> bool + + If the platform and window class supports it, scrolls the window by + the given number of pages down, if pages is positive, or up if pages + is negative. Returns True if the window was scrolled, False if it was + already on top/bottom and nothing was done. + """ return _windows.VScrolledWindow_ScrollPages(*args, **kwargs) def RefreshLine(*args, **kwargs): @@ -1356,11 +1606,19 @@ class VScrolledWindow(Panel): return _windows.VScrolledWindow_RefreshLines(*args, **kwargs) def HitTestXT(*args, **kwargs): - """HitTestXT(int x, int y) -> int""" + """ + HitTestXT(int x, int y) -> int + + Test where the given (in client coords) point lies + """ return _windows.VScrolledWindow_HitTestXT(*args, **kwargs) def HitTest(*args, **kwargs): - """HitTest(Point pt) -> int""" + """ + HitTest(Point pt) -> int + + Test where the given (in client coords) point lies + """ return _windows.VScrolledWindow_HitTest(*args, **kwargs) def RefreshAll(*args, **kwargs): @@ -1589,6 +1847,7 @@ class TaskBarIcon(core.EvtHandler): """IsOk() -> bool""" return _windows.TaskBarIcon_IsOk(*args, **kwargs) + def __nonzero__(self): return self.IsOk() def IsIconInstalled(*args, **kwargs): """IsIconInstalled() -> bool""" return _windows.TaskBarIcon_IsIconInstalled(*args, **kwargs) @@ -3388,9 +3647,12 @@ _windows.PageSetupDialog_swigregister(PageSetupDialogPtr) class PrintDialogData(core.Object): def __repr__(self): return "<%s.%s; proxy of C++ wxPrintDialogData instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) - def __init__(self, *args, **kwargs): - """__init__() -> PrintDialogData""" - newobj = _windows.new_PrintDialogData(*args, **kwargs) + def __init__(self, *args): + """ + __init__() -> PrintDialogData + __init__(PrintData printData) -> PrintDialogData + """ + newobj = _windows.new_PrintDialogData(*args) self.this = newobj.this self.thisown = 1 del newobj.thisown @@ -3866,9 +4128,12 @@ _windows.PreviewControlBar_swigregister(PreviewControlBarPtr) class PrintPreview(core.Object): def __repr__(self): return "<%s.%s; proxy of C++ wxPrintPreview instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) - def __init__(self, *args, **kwargs): - """__init__(Printout printout, Printout printoutForPrinting, PrintData data=None) -> PrintPreview""" - newobj = _windows.new_PrintPreview(*args, **kwargs) + def __init__(self, *args): + """ + __init__(Printout printout, Printout printoutForPrinting, PrintDialogData data=None) -> PrintPreview + __init__(Printout printout, Printout printoutForPrinting, PrintData data) -> PrintPreview + """ + newobj = _windows.new_PrintPreview(*args) self.this = newobj.this self.thisown = 1 del newobj.thisown @@ -3972,9 +4237,12 @@ _windows.PrintPreview_swigregister(PrintPreviewPtr) class PyPrintPreview(PrintPreview): def __repr__(self): return "<%s.%s; proxy of C++ wxPyPrintPreview instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) - def __init__(self, *args, **kwargs): - """__init__(Printout printout, Printout printoutForPrinting, PrintData data=None) -> PyPrintPreview""" - newobj = _windows.new_PyPrintPreview(*args, **kwargs) + def __init__(self, *args): + """ + __init__(Printout printout, Printout printoutForPrinting, PrintDialogData data=None) -> PyPrintPreview + __init__(Printout printout, Printout printoutForPrinting, PrintData data) -> PyPrintPreview + """ + newobj = _windows.new_PyPrintPreview(*args) self.this = newobj.this self.thisown = 1 del newobj.thisown