X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fd2dc343560f42ca95782aae71faa891a26f80ea..023a034e0e622a82e4609a849552ace7cae3bd1b:/wxPython/src/gtk/_core.py?ds=sidebyside diff --git a/wxPython/src/gtk/_core.py b/wxPython/src/gtk/_core.py index e19c4d0806..76190484cf 100644 --- a/wxPython/src/gtk/_core.py +++ b/wxPython/src/gtk/_core.py @@ -206,6 +206,29 @@ ID_NOTOALL = _core_.ID_NOTOALL ID_ABORT = _core_.ID_ABORT ID_RETRY = _core_.ID_RETRY ID_IGNORE = _core_.ID_IGNORE +ID_ADD = _core_.ID_ADD +ID_REMOVE = _core_.ID_REMOVE +ID_UP = _core_.ID_UP +ID_DOWN = _core_.ID_DOWN +ID_HOME = _core_.ID_HOME +ID_REFRESH = _core_.ID_REFRESH +ID_STOP = _core_.ID_STOP +ID_INDEX = _core_.ID_INDEX +ID_BOLD = _core_.ID_BOLD +ID_ITALIC = _core_.ID_ITALIC +ID_JUSTIFY_CENTER = _core_.ID_JUSTIFY_CENTER +ID_JUSTIFY_FILL = _core_.ID_JUSTIFY_FILL +ID_JUSTIFY_RIGHT = _core_.ID_JUSTIFY_RIGHT +ID_JUSTIFY_LEFT = _core_.ID_JUSTIFY_LEFT +ID_UNDERLINE = _core_.ID_UNDERLINE +ID_INDENT = _core_.ID_INDENT +ID_UNINDENT = _core_.ID_UNINDENT +ID_ZOOM_100 = _core_.ID_ZOOM_100 +ID_ZOOM_FIT = _core_.ID_ZOOM_FIT +ID_ZOOM_IN = _core_.ID_ZOOM_IN +ID_ZOOM_OUT = _core_.ID_ZOOM_OUT +ID_UNDELETE = _core_.ID_UNDELETE +ID_REVERT_TO_SAVED = _core_.ID_REVERT_TO_SAVED ID_HIGHEST = _core_.ID_HIGHEST OPEN = _core_.OPEN SAVE = _core_.SAVE @@ -292,6 +315,9 @@ BORDER_RAISED = _core_.BORDER_RAISED BORDER_SUNKEN = _core_.BORDER_SUNKEN BORDER_DOUBLE = _core_.BORDER_DOUBLE BORDER_MASK = _core_.BORDER_MASK +BG_STYLE_SYSTEM = _core_.BG_STYLE_SYSTEM +BG_STYLE_COLOUR = _core_.BG_STYLE_COLOUR +BG_STYLE_CUSTOM = _core_.BG_STYLE_CUSTOM DEFAULT = _core_.DEFAULT DECORATIVE = _core_.DECORATIVE ROMAN = _core_.ROMAN @@ -1588,6 +1614,8 @@ class FSFile(Object): self.this = newobj.this self.thisown = 1 del newobj.thisown + self.thisown = 0 # It will normally be deleted by the user of the wxFileSystem + def __del__(self, destroy=_core_.delete_FSFile): """__del__(self)""" try: @@ -2060,6 +2088,20 @@ class Image(Object): """ return _core_.Image_FindFirstUnusedColour(*args, **kwargs) + def ConvertAlphaToMask(*args, **kwargs): + """ + ConvertAlphaToMask(self, byte threshold=128) -> bool + + If the image has alpha channel, this method converts it to mask. All pixels + with alpha value less than ``threshold`` are replaced with mask colour and the + alpha channel is removed. Mask colour is chosen automatically using + `FindFirstUnusedColour`. + + If the image image doesn't have alpha channel, ConvertAlphaToMask does + nothing. + """ + return _core_.Image_ConvertAlphaToMask(*args, **kwargs) + def SetMaskFromImage(*args, **kwargs): """SetMaskFromImage(self, Image mask, byte mr, byte mg, byte mb) -> bool""" return _core_.Image_SetMaskFromImage(*args, **kwargs) @@ -2553,6 +2595,42 @@ class TIFFHandlerPtr(TIFFHandler): self.__class__ = TIFFHandler _core_.TIFFHandler_swigregister(TIFFHandlerPtr) +QUANTIZE_INCLUDE_WINDOWS_COLOURS = _core_.QUANTIZE_INCLUDE_WINDOWS_COLOURS +QUANTIZE_FILL_DESTINATION_IMAGE = _core_.QUANTIZE_FILL_DESTINATION_IMAGE +class Quantize(object): + """Performs quantization, or colour reduction, on a wxImage.""" + def __init__(self): raise RuntimeError, "No constructor defined" + def __repr__(self): + return "<%s.%s; proxy of C++ wxQuantize instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,) + def Quantize(*args, **kwargs): + """ + Quantize(Image src, Image dest, int desiredNoColours=236, int flags=wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE) -> bool + + Reduce the colours in the source image and put the result into the + destination image, setting the palette in the destination if + needed. Both images may be the same, to overwrite the source image. + """ + return _core_.Quantize_Quantize(*args, **kwargs) + + Quantize = staticmethod(Quantize) + +class QuantizePtr(Quantize): + def __init__(self, this): + self.this = this + if not hasattr(self,"thisown"): self.thisown = 0 + self.__class__ = Quantize +_core_.Quantize_swigregister(QuantizePtr) + +def Quantize_Quantize(*args, **kwargs): + """ + Quantize_Quantize(Image src, Image dest, int desiredNoColours=236, int flags=wxQUANTIZE_INCLUDE_WINDOWS_COLOURS|wxQUANTIZE_FILL_DESTINATION_IMAGE) -> bool + + Reduce the colours in the source image and put the result into the + destination image, setting the palette in the destination if + needed. Both images may be the same, to overwrite the source image. + """ + return _core_.Quantize_Quantize(*args, **kwargs) + #--------------------------------------------------------------------------- class EvtHandler(Object): @@ -3376,6 +3454,20 @@ class MouseEvent(Event): """ShiftDown(self) -> bool""" return _core_.MouseEvent_ShiftDown(*args, **kwargs) + def CmdDown(*args, **kwargs): + """ + CmdDown(self) -> bool + + "Cmd" is a pseudo key which is the same as Control for PC and Unix + platforms but the special "Apple" (a.k.a as "Command") key on + Macs: it makes often sense to use it instead of, say, `ControlDown` + because Cmd key is used for the same thing under Mac as Ctrl + elsewhere. The Ctrl still exists, it's just not used for this + purpose. So for non-Mac platforms this is the same as `ControlDown` + and Macs this is the same as `MetaDown`. + """ + return _core_.MouseEvent_CmdDown(*args, **kwargs) + def LeftDown(*args, **kwargs): """LeftDown(self) -> bool""" return _core_.MouseEvent_LeftDown(*args, **kwargs) @@ -3572,6 +3664,20 @@ class KeyEvent(Event): """ShiftDown(self) -> bool""" return _core_.KeyEvent_ShiftDown(*args, **kwargs) + def CmdDown(*args, **kwargs): + """ + CmdDown(self) -> bool + + "Cmd" is a pseudo key which is the same as Control for PC and Unix + platforms but the special "Apple" (a.k.a as "Command") key on + Macs: it makes often sense to use it instead of, say, `ControlDown` + because Cmd key is used for the same thing under Mac as Ctrl + elsewhere. The Ctrl still exists, it's just not used for this + purpose. So for non-Mac platforms this is the same as `ControlDown` + and Macs this is the same as `MetaDown`. + """ + return _core_.KeyEvent_CmdDown(*args, **kwargs) + def HasModifiers(*args, **kwargs): """HasModifiers(self) -> bool""" return _core_.KeyEvent_HasModifiers(*args, **kwargs) @@ -3581,10 +3687,11 @@ class KeyEvent(Event): return _core_.KeyEvent_GetKeyCode(*args, **kwargs) KeyCode = GetKeyCode - def GetUniChar(*args, **kwargs): - """GetUniChar(self) -> int""" - return _core_.KeyEvent_GetUniChar(*args, **kwargs) + def GetUnicodeKey(*args, **kwargs): + """GetUnicodeKey(self) -> int""" + return _core_.KeyEvent_GetUnicodeKey(*args, **kwargs) + GetUniChar = GetUnicodeKey def GetRawKeyCode(*args, **kwargs): """GetRawKeyCode(self) -> unsigned int""" return _core_.KeyEvent_GetRawKeyCode(*args, **kwargs) @@ -4294,6 +4401,7 @@ class NavigationKeyEvent(Event): """SetCurrentFocus(self, Window win)""" return _core_.NavigationKeyEvent_SetCurrentFocus(*args, **kwargs) + IsBackward = _core_.NavigationKeyEvent_IsBackward IsForward = _core_.NavigationKeyEvent_IsForward WinChange = _core_.NavigationKeyEvent_WinChange @@ -5002,6 +5110,8 @@ class PyOnDemandOutputWindow: def __init__(self, title = "wxPython: stdout/stderr"): self.frame = None self.title = title + self.pos = wx.DefaultPosition + self.size = (450, 300) self.parent = None def SetParent(self, parent): @@ -5010,12 +5120,11 @@ class PyOnDemandOutputWindow: def CreateOutputWindow(self, st): - self.frame = wx.Frame(self.parent, -1, self.title, - style=wx.DEFAULT_FRAME_STYLE | wx.NO_FULL_REPAINT_ON_RESIZE) + self.frame = wx.Frame(self.parent, -1, self.title, self.pos, self.size, + style=wx.DEFAULT_FRAME_STYLE) self.text = wx.TextCtrl(self.frame, -1, "", - style = wx.TE_MULTILINE | wx.TE_READONLY) + style=wx.TE_MULTILINE|wx.TE_READONLY) self.text.AppendText(st) - self.frame.SetSize((450, 300)) self.frame.Show(True) EVT_CLOSE(self.frame, self.OnCloseWindow) @@ -5051,6 +5160,10 @@ class PyOnDemandOutputWindow: wx.CallAfter(self.frame.Close) + def flush(self): + pass + + #---------------------------------------------------------------------- @@ -5189,6 +5302,22 @@ your Mac.""" _sys.stdout, _sys.stderr = self.saveStdio + def SetOutputWindowAttributes(self, title=None, pos=None, size=None): + """ + Set the title, position and/or size of the output window if + the stdio has been redirected. This should be called before + any output would cause the output window to be created. + """ + if self.stdioWin: + if title is not None: + self.stdioWin.title = title + if pos is not None: + self.stdioWin.pos = pos + if size is not None: + self.stdioWin.size = size + + + # change from wx.PyApp_XX to wx.App_XX App_GetMacSupportPCMenuShortcuts = _core_.PyApp_GetMacSupportPCMenuShortcuts @@ -5671,6 +5800,15 @@ class Window(EvtHandler): """ return _core_.Window_MoveXY(*args, **kwargs) + def SetBestFittingSize(*args, **kwargs): + """ + SetBestFittingSize(self, Size size=DefaultSize) + + 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. + """ + return _core_.Window_SetBestFittingSize(*args, **kwargs) + def Raise(*args, **kwargs): """ Raise(self) @@ -5829,6 +5967,26 @@ class Window(EvtHandler): """ return _core_.Window_GetBestSizeTuple(*args, **kwargs) + def InvalidateBestSize(*args, **kwargs): + """ + InvalidateBestSize(self) + + Reset the cached best size value so it will be recalculated the next + time it is needed. + """ + return _core_.Window_InvalidateBestSize(*args, **kwargs) + + def GetBestFittingSize(*args, **kwargs): + """ + GetBestFittingSize(self) -> Size + + 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. + + """ + return _core_.Window_GetBestFittingSize(*args, **kwargs) + def GetAdjustedBestSize(*args, **kwargs): """ GetAdjustedBestSize(self) -> Size @@ -5900,9 +6058,8 @@ class Window(EvtHandler): """ return _core_.Window_FitInside(*args, **kwargs) - def SetSizeHints(*args): + def SetSizeHints(*args, **kwargs): """ - SetSizeHints(self, Size minSize, Size maxSize=DefaultSize, Size incSize=DefaultSize) SetSizeHints(self, int minW, int minH, int maxW=-1, int maxH=-1, int incW=-1, int incH=-1) @@ -5915,11 +6072,25 @@ class Window(EvtHandler): The resizing increments are only significant under Motif or Xt. """ - return _core_.Window_SetSizeHints(*args) + return _core_.Window_SetSizeHints(*args, **kwargs) + + def SetSizeHintsSz(*args, **kwargs): + """ + SetSizeHintsSz(self, Size minSize, Size maxSize=DefaultSize, Size incSize=DefaultSize) + + Allows specification of minimum and maximum window sizes, and window + size increments. If a pair of values is not set (or set to -1), the + default values will be used. If this function is called, the user + will not be able to size the window outside the given bounds (if it is + a top-level window.) Sizers will also inspect the minimum window size + and will use that value if set when calculating layout. + + The resizing increments are only significant under Motif or Xt. + """ + return _core_.Window_SetSizeHintsSz(*args, **kwargs) - def SetVirtualSizeHints(*args): + def SetVirtualSizeHints(*args, **kwargs): """ - SetVirtualSizeHints(self, Size minSize, Size maxSize=DefaultSize) SetVirtualSizeHints(self, int minW, int minH, int maxW=-1, int maxH=-1) Allows specification of minimum and maximum virtual window sizes. If a @@ -5927,7 +6098,18 @@ class Window(EvtHandler): used. If this function is called, the user will not be able to size the virtual area of the window outside the given bounds. """ - return _core_.Window_SetVirtualSizeHints(*args) + return _core_.Window_SetVirtualSizeHints(*args, **kwargs) + + def SetVirtualSizeHintsSz(*args, **kwargs): + """ + SetVirtualSizeHintsSz(self, Size minSize, Size maxSize=DefaultSize) + + Allows specification of minimum and maximum virtual window sizes. If a + pair of values is not set (or set to -1), the default values will be + used. If this function is called, the user will not be able to size + the virtual area of the window outside the given bounds. + """ + return _core_.Window_SetVirtualSizeHintsSz(*args, **kwargs) def GetMaxSize(*args, **kwargs): """GetMaxSize(self) -> Size""" @@ -6245,6 +6427,30 @@ class Window(EvtHandler): """ return _core_.Window_Navigate(*args, **kwargs) + def MoveAfterInTabOrder(*args, **kwargs): + """ + MoveAfterInTabOrder(self, Window win) + + Moves this window in the tab navigation order after the specified + sibling window. This means that when the user presses the TAB key on + that other window, the focus switches to this window. + + The default tab order is the same as creation order. This function + and `MoveBeforeInTabOrder` allow to change it after creating all the + windows. + + """ + return _core_.Window_MoveAfterInTabOrder(*args, **kwargs) + + def MoveBeforeInTabOrder(*args, **kwargs): + """ + MoveBeforeInTabOrder(self, Window win) + + Same as `MoveAfterInTabOrder` except that it inserts this window just + before win instead of putting it right after it. + """ + return _core_.Window_MoveBeforeInTabOrder(*args, **kwargs) + def GetChildren(*args, **kwargs): """ GetChildren(self) -> PyObject @@ -6772,22 +6978,23 @@ class Window(EvtHandler): Sets the background colour of the window. Returns True if the colour was changed. The background colour is usually painted by the default EVT_ERASE_BACKGROUND event handler function under Windows and - automatically under GTK. + automatically under GTK. Using `wx.NullColour` will reset the window + to the default background colour. Note that setting the background colour may not cause an immediate - refresh, so you may wish to call ClearBackground or Refresh after + refresh, so you may wish to call `ClearBackground` or `Refresh` after calling this function. - Use this function with care under GTK+ as the new appearance of the - window might not look equally well when used with themes, i.e GTK+'s - ability to change its look as the user wishes with run-time loadable - modules. + Using this function will disable attempts to use themes for this + window, if the system supports them. Use with care since usually the + themes represent the appearance chosen by the user to be used for all + applications on the system. """ return _core_.Window_SetBackgroundColour(*args, **kwargs) - def SetDefaultBackgroundColour(*args, **kwargs): - """SetDefaultBackgroundColour(self, Colour colour)""" - return _core_.Window_SetDefaultBackgroundColour(*args, **kwargs) + def SetOwnBackgroundColour(*args, **kwargs): + """SetOwnBackgroundColour(self, Colour colour)""" + return _core_.Window_SetOwnBackgroundColour(*args, **kwargs) def SetForegroundColour(*args, **kwargs): """ @@ -6800,9 +7007,9 @@ class Window(EvtHandler): """ return _core_.Window_SetForegroundColour(*args, **kwargs) - def SetDefaultForegroundColour(*args, **kwargs): - """SetDefaultForegroundColour(self, Colour colour)""" - return _core_.Window_SetDefaultForegroundColour(*args, **kwargs) + def SetOwnForegroundColour(*args, **kwargs): + """SetOwnForegroundColour(self, Colour colour)""" + return _core_.Window_SetOwnForegroundColour(*args, **kwargs) def GetBackgroundColour(*args, **kwargs): """ @@ -6822,6 +7029,39 @@ class Window(EvtHandler): """ return _core_.Window_GetForegroundColour(*args, **kwargs) + def SetBackgroundStyle(*args, **kwargs): + """ + SetBackgroundStyle(self, int style) -> bool + + Returns the background style of the window. The background style + indicates how the background of the window is drawn. + + ====================== ======================================== + wx.BG_STYLE_SYSTEM The background colour or pattern should + be determined by the system + wx.BG_STYLE_COLOUR The background should be a solid colour + wx.BG_STYLE_CUSTOM The background will be implemented by the + application. + ====================== ======================================== + + On GTK+, use of wx.BG_STYLE_CUSTOM allows the flicker-free drawing of + a custom background, such as a tiled bitmap. Currently the style has + no effect on other platforms. + + :see: `GetBackgroundStyle`, `SetBackgroundColour` + """ + return _core_.Window_SetBackgroundStyle(*args, **kwargs) + + def GetBackgroundStyle(*args, **kwargs): + """ + GetBackgroundStyle(self) -> int + + Returns the background style of the window. + + :see: `SetBackgroundStyle` + """ + return _core_.Window_GetBackgroundStyle(*args, **kwargs) + def SetCursor(*args, **kwargs): """ SetCursor(self, Cursor cursor) -> bool @@ -6850,9 +7090,9 @@ class Window(EvtHandler): """ return _core_.Window_SetFont(*args, **kwargs) - def SetDefaultFont(*args, **kwargs): - """SetDefaultFont(self, Font font)""" - return _core_.Window_SetDefaultFont(*args, **kwargs) + def SetOwnFont(*args, **kwargs): + """SetOwnFont(self, Font font)""" + return _core_.Window_SetOwnFont(*args, **kwargs) def GetFont(*args, **kwargs): """ @@ -7321,7 +7561,7 @@ class Window(EvtHandler): By 'intelligently' the following is meant: by default, all windows use their own default attributes. However if some of the parent's attributes are explicitly changed (that is, using SetFont and not - SetDefaultFont) and if the corresponding attribute hadn't been + SetOwnFont) and if the corresponding attribute hadn't been explicitly set for this window itself, then this window takes the same value as used by the parent. In addition, if the window overrides ShouldInheritColours to return false, the colours will not be changed @@ -8259,7 +8499,7 @@ class ItemContainer(object): def AppendItems(*args, **kwargs): """ - AppendItems(self, wxArrayString strings) + AppendItems(self, List strings) Apend several items at once to the control. Notice that calling this method may be much faster than appending the items one by one if you @@ -8495,6 +8735,15 @@ class SizerItem(Object): """ return _core_.SizerItem_GetMinSize(*args, **kwargs) + def GetMinSizeWithBorder(*args, **kwargs): + """ + GetMinSizeWithBorder(self) -> Size + + Get the minimum size needed for the item with space for the borders + added, if needed. + """ + return _core_.SizerItem_GetMinSizeWithBorder(*args, **kwargs) + def SetInitSize(*args, **kwargs): """SetInitSize(self, int x, int y)""" return _core_.SizerItem_SetInitSize(*args, **kwargs) @@ -10322,16 +10571,16 @@ __wxPyPtrTypeMap['wxStatusBar95'] = 'wxStatusBar' #---------------------------------------------------------------------------- # Load version numbers from __version__... Ensure that major and minor -# versions are the same for both wxPython and wxWindows. +# versions are the same for both wxPython and wxWidgets. from __version__ import * __version__ = VERSION_STRING -assert MAJOR_VERSION == _core_.MAJOR_VERSION, "wxPython/wxWindows version mismatch" -assert MINOR_VERSION == _core_.MINOR_VERSION, "wxPython/wxWindows version mismatch" +assert MAJOR_VERSION == _core_.MAJOR_VERSION, "wxPython/wxWidgets version mismatch" +assert MINOR_VERSION == _core_.MINOR_VERSION, "wxPython/wxWidgets version mismatch" if RELEASE_VERSION != _core_.RELEASE_VERSION: import warnings - warnings.warn("wxPython/wxWindows release number mismatch") + warnings.warn("wxPython/wxWidgets release number mismatch") #---------------------------------------------------------------------------- @@ -10405,7 +10654,7 @@ def CallAfter(callable, *args, **kw): :see: `wx.FutureCall` """ app = wx.GetApp() - assert app, 'No wxApp created yet' + assert app is not None, 'No wx.App created yet' global _wxPyCallAfterId if _wxPyCallAfterId is None: