X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b02396e86fa089d576b5c70a2067a6559e653a50..bbc3761ee897d2cdae209c60d415ba00fe825554:/wxPython/src/msw/_core.py diff --git a/wxPython/src/msw/_core.py b/wxPython/src/msw/_core.py index 372fa1ee7d..81c9364b07 100644 --- a/wxPython/src/msw/_core.py +++ b/wxPython/src/msw/_core.py @@ -194,14 +194,18 @@ ID_REDO = _core_.ID_REDO ID_HELP = _core_.ID_HELP ID_PRINT = _core_.ID_PRINT ID_PRINT_SETUP = _core_.ID_PRINT_SETUP +ID_PAGE_SETUP = _core_.ID_PAGE_SETUP ID_PREVIEW = _core_.ID_PREVIEW ID_ABOUT = _core_.ID_ABOUT ID_HELP_CONTENTS = _core_.ID_HELP_CONTENTS ID_HELP_COMMANDS = _core_.ID_HELP_COMMANDS ID_HELP_PROCEDURES = _core_.ID_HELP_PROCEDURES ID_HELP_CONTEXT = _core_.ID_HELP_CONTEXT +ID_HELP_INDEX = _core_.ID_HELP_INDEX +ID_HELP_SEARCH = _core_.ID_HELP_SEARCH ID_CLOSE_ALL = _core_.ID_CLOSE_ALL ID_PREFERENCES = _core_.ID_PREFERENCES +ID_EDIT = _core_.ID_EDIT ID_CUT = _core_.ID_CUT ID_COPY = _core_.ID_COPY ID_PASTE = _core_.ID_PASTE @@ -221,6 +225,7 @@ ID_VIEW_SORTDATE = _core_.ID_VIEW_SORTDATE ID_VIEW_SORTNAME = _core_.ID_VIEW_SORTNAME ID_VIEW_SORTSIZE = _core_.ID_VIEW_SORTSIZE ID_VIEW_SORTTYPE = _core_.ID_VIEW_SORTTYPE +ID_FILE = _core_.ID_FILE ID_FILE1 = _core_.ID_FILE1 ID_FILE2 = _core_.ID_FILE2 ID_FILE3 = _core_.ID_FILE3 @@ -272,18 +277,6 @@ 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 -ACCEL_ALT = _core_.ACCEL_ALT -ACCEL_CTRL = _core_.ACCEL_CTRL -ACCEL_SHIFT = _core_.ACCEL_SHIFT -ACCEL_NORMAL = _core_.ACCEL_NORMAL -PD_AUTO_HIDE = _core_.PD_AUTO_HIDE -PD_APP_MODAL = _core_.PD_APP_MODAL -PD_CAN_ABORT = _core_.PD_CAN_ABORT -PD_ELAPSED_TIME = _core_.PD_ELAPSED_TIME -PD_ESTIMATED_TIME = _core_.PD_ESTIMATED_TIME -PD_REMAINING_TIME = _core_.PD_REMAINING_TIME -PD_SMOOTH = _core_.PD_SMOOTH -PD_CAN_SKIP = _core_.PD_CAN_SKIP MENU_TEAROFF = _core_.MENU_TEAROFF MB_DOCKABLE = _core_.MB_DOCKABLE NO_FULL_REPAINT_ON_RESIZE = _core_.NO_FULL_REPAINT_ON_RESIZE @@ -685,6 +678,9 @@ MOD_ALL = _core_.MOD_ALL UPDATE_UI_NONE = _core_.UPDATE_UI_NONE UPDATE_UI_RECURSE = _core_.UPDATE_UI_RECURSE UPDATE_UI_FROMIDLE = _core_.UPDATE_UI_FROMIDLE +Layout_Default = _core_.Layout_Default +Layout_LeftToRight = _core_.Layout_LeftToRight +Layout_RightToLeft = _core_.Layout_RightToLeft #--------------------------------------------------------------------------- class Object(object): @@ -709,10 +705,10 @@ class Object(object): Deletes the C++ object this Python object is a proxy for. """ - val = _core_.Object_Destroy(*args, **kwargs) - args[0].thisown = 0 - return val + args[0].this.own(False) + return _core_.Object_Destroy(*args, **kwargs) + ClassName = property(GetClassName,doc="See `GetClassName`") _core_.Object_swigregister(Object) _wxPySetDictionary = _core_._wxPySetDictionary cvar = _core_.cvar @@ -844,6 +840,22 @@ class Size(object): """ return _core_.Size_DecTo(*args, **kwargs) + def IncBy(*args, **kwargs): + """IncBy(self, int dx, int dy)""" + return _core_.Size_IncBy(*args, **kwargs) + + def DecBy(*args, **kwargs): + """DecBy(self, int dx, int dy)""" + return _core_.Size_DecBy(*args, **kwargs) + + def Scale(*args, **kwargs): + """ + Scale(self, float xscale, float yscale) + + Scales the dimensions of this object by the given factors. + """ + return _core_.Size_Scale(*args, **kwargs) + def Set(*args, **kwargs): """ Set(self, int w, int h) @@ -1179,6 +1191,22 @@ class Rect(object): """SetBottomRight(self, Point p)""" return _core_.Rect_SetBottomRight(*args, **kwargs) + def GetTopRight(*args, **kwargs): + """GetTopRight(self) -> Point""" + return _core_.Rect_GetTopRight(*args, **kwargs) + + def SetTopRight(*args, **kwargs): + """SetTopRight(self, Point p)""" + return _core_.Rect_SetTopRight(*args, **kwargs) + + def GetBottomLeft(*args, **kwargs): + """GetBottomLeft(self) -> Point""" + return _core_.Rect_GetBottomLeft(*args, **kwargs) + + def SetBottomLeft(*args, **kwargs): + """SetBottomLeft(self, Point p)""" + return _core_.Rect_SetBottomLeft(*args, **kwargs) + def GetLeft(*args, **kwargs): """GetLeft(self) -> int""" return _core_.Rect_GetLeft(*args, **kwargs) @@ -1319,21 +1347,37 @@ class Rect(object): """ return _core_.Rect___ne__(*args, **kwargs) - def InsideXY(*args, **kwargs): + def ContainsXY(*args, **kwargs): """ - InsideXY(self, int x, int y) -> bool + ContainsXY(self, int x, int y) -> bool - Return True if the point is (not strcitly) inside the rect. + Return True if the point is inside the rect. """ - return _core_.Rect_InsideXY(*args, **kwargs) + return _core_.Rect_ContainsXY(*args, **kwargs) - def Inside(*args, **kwargs): + def Contains(*args, **kwargs): """ - Inside(self, Point pt) -> bool + Contains(self, Point pt) -> bool - Return True if the point is (not strcitly) inside the rect. + Return True if the point is inside the rect. """ - return _core_.Rect_Inside(*args, **kwargs) + return _core_.Rect_Contains(*args, **kwargs) + + def ContainsRect(*args, **kwargs): + """ + ContainsRect(self, Rect rect) -> bool + + Returns ``True`` if the given rectangle is completely inside this + rectangle or touches its boundary. + """ + return _core_.Rect_ContainsRect(*args, **kwargs) + + #Inside = wx._deprecated(Contains, "Use `Contains` instead.") + #InsideXY = wx._deprecated(ContainsXY, "Use `ContainsXY` instead.") + #InsideRect = wx._deprecated(ContainsRect, "Use `ContainsRect` instead.") + Inside = Contains + InsideXY = ContainsXY + InsideRect = ContainsRect def Intersects(*args, **kwargs): """ @@ -1388,6 +1432,21 @@ class Rect(object): __safe_for_unpickling__ = True def __reduce__(self): return (wx.Rect, self.Get()) + Bottom = property(GetBottom,SetBottom,doc="See `GetBottom` and `SetBottom`") + BottomRight = property(GetBottomRight,SetBottomRight,doc="See `GetBottomRight` and `SetBottomRight`") + BottomLeft = property(GetBottomLeft,SetBottomLeft,doc="See `GetBottomLeft` and `SetBottomLeft`") + Height = property(GetHeight,SetHeight,doc="See `GetHeight` and `SetHeight`") + Left = property(GetLeft,SetLeft,doc="See `GetLeft` and `SetLeft`") + Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") + Right = property(GetRight,SetRight,doc="See `GetRight` and `SetRight`") + Size = property(GetSize,SetSize,doc="See `GetSize` and `SetSize`") + Top = property(GetTop,SetTop,doc="See `GetTop` and `SetTop`") + TopLeft = property(GetTopLeft,SetTopLeft,doc="See `GetTopLeft` and `SetTopLeft`") + TopRight = property(GetTopRight,SetTopRight,doc="See `GetTopRight` and `SetTopRight`") + Width = property(GetWidth,SetWidth,doc="See `GetWidth` and `SetWidth`") + X = property(GetX,SetX,doc="See `GetX` and `SetX`") + Y = property(GetY,SetY,doc="See `GetY` and `SetY`") + Empty = property(IsEmpty,doc="See `IsEmpty`") _core_.Rect_swigregister(Rect) def RectPP(*args, **kwargs): @@ -1441,6 +1500,8 @@ class Point2D(object): Create a w.Point2D object. """ _core_.Point2D_swiginit(self,_core_.new_Point2D(*args, **kwargs)) + __swig_destroy__ = _core_.delete_Point2D + __del__ = lambda self : None; def GetFloor(*args, **kwargs): """ GetFloor() -> (x,y) @@ -1562,6 +1623,10 @@ class Point2D(object): __safe_for_unpickling__ = True def __reduce__(self): return (wx.Point2D, self.Get()) + Floor = property(GetFloor,doc="See `GetFloor`") + Rounded = property(GetRounded,doc="See `GetRounded`") + VectorAngle = property(GetVectorAngle,SetVectorAngle,doc="See `GetVectorAngle` and `SetVectorAngle`") + VectorLength = property(GetVectorLength,SetVectorLength,doc="See `GetVectorLength` and `SetVectorLength`") _core_.Point2D_swigregister(Point2D) def Point2DCopy(*args, **kwargs): @@ -1697,6 +1762,10 @@ class FSFile(Object): """GetStream(self) -> InputStream""" return _core_.FSFile_GetStream(*args, **kwargs) + def DetachStream(*args, **kwargs): + """DetachStream(self)""" + return _core_.FSFile_DetachStream(*args, **kwargs) + def GetMimeType(*args, **kwargs): """GetMimeType(self) -> String""" return _core_.FSFile_GetMimeType(*args, **kwargs) @@ -1713,6 +1782,11 @@ class FSFile(Object): """GetModificationTime(self) -> DateTime""" return _core_.FSFile_GetModificationTime(*args, **kwargs) + Anchor = property(GetAnchor,doc="See `GetAnchor`") + Location = property(GetLocation,doc="See `GetLocation`") + MimeType = property(GetMimeType,doc="See `GetMimeType`") + ModificationTime = property(GetModificationTime,doc="See `GetModificationTime`") + Stream = property(GetStream,doc="See `GetStream`") _core_.FSFile_swigregister(FSFile) class CPPFileSystemHandler(object): @@ -1773,6 +1847,11 @@ class FileSystemHandler(CPPFileSystemHandler): """GetMimeTypeFromExt(self, String location) -> String""" return _core_.FileSystemHandler_GetMimeTypeFromExt(*args, **kwargs) + Anchor = property(GetAnchor,doc="See `GetAnchor`") + LeftLocation = property(GetLeftLocation,doc="See `GetLeftLocation`") + MimeTypeFromExt = property(GetMimeTypeFromExt,doc="See `GetMimeTypeFromExt`") + Protocol = property(GetProtocol,doc="See `GetProtocol`") + RightLocation = property(GetRightLocation,doc="See `GetRightLocation`") _core_.FileSystemHandler_swigregister(FileSystemHandler) class FileSystem(Object): @@ -1809,6 +1888,11 @@ class FileSystem(Object): return _core_.FileSystem_AddHandler(*args, **kwargs) AddHandler = staticmethod(AddHandler) + def RemoveHandler(*args, **kwargs): + """RemoveHandler(CPPFileSystemHandler handler) -> CPPFileSystemHandler""" + return _core_.FileSystem_RemoveHandler(*args, **kwargs) + + RemoveHandler = staticmethod(RemoveHandler) def CleanUpHandlers(*args, **kwargs): """CleanUpHandlers()""" return _core_.FileSystem_CleanUpHandlers(*args, **kwargs) @@ -1824,12 +1908,17 @@ class FileSystem(Object): return _core_.FileSystem_URLToFileName(*args, **kwargs) URLToFileName = staticmethod(URLToFileName) + Path = property(GetPath,doc="See `GetPath`") _core_.FileSystem_swigregister(FileSystem) def FileSystem_AddHandler(*args, **kwargs): """FileSystem_AddHandler(CPPFileSystemHandler handler)""" return _core_.FileSystem_AddHandler(*args, **kwargs) +def FileSystem_RemoveHandler(*args, **kwargs): + """FileSystem_RemoveHandler(CPPFileSystemHandler handler) -> CPPFileSystemHandler""" + return _core_.FileSystem_RemoveHandler(*args, **kwargs) + def FileSystem_CleanUpHandlers(*args): """FileSystem_CleanUpHandlers()""" return _core_.FileSystem_CleanUpHandlers(*args) @@ -1951,6 +2040,8 @@ def MemoryFSHandler_RemoveFile(*args, **kwargs): IMAGE_ALPHA_TRANSPARENT = _core_.IMAGE_ALPHA_TRANSPARENT IMAGE_ALPHA_THRESHOLD = _core_.IMAGE_ALPHA_THRESHOLD IMAGE_ALPHA_OPAQUE = _core_.IMAGE_ALPHA_OPAQUE +IMAGE_QUALITY_NORMAL = _core_.IMAGE_QUALITY_NORMAL +IMAGE_QUALITY_HIGH = _core_.IMAGE_QUALITY_HIGH #--------------------------------------------------------------------------- class ImageHandler(Object): @@ -2002,6 +2093,10 @@ class ImageHandler(Object): """SetMimeType(self, String mimetype)""" return _core_.ImageHandler_SetMimeType(*args, **kwargs) + Extension = property(GetExtension,SetExtension,doc="See `GetExtension` and `SetExtension`") + MimeType = property(GetMimeType,SetMimeType,doc="See `GetMimeType` and `SetMimeType`") + Name = property(GetName,SetName,doc="See `GetName` and `SetName`") + Type = property(GetType,SetType,doc="See `GetType` and `SetType`") _core_.ImageHandler_swigregister(ImageHandler) class PyImageHandler(ImageHandler): @@ -2225,20 +2320,61 @@ class Image(Object): Destroys the image data. """ - val = _core_.Image_Destroy(*args, **kwargs) - args[0].thisown = 0 - return val + args[0].this.own(False) + return _core_.Image_Destroy(*args, **kwargs) def Scale(*args, **kwargs): """ - Scale(self, int width, int height) -> Image + Scale(self, int width, int height, int quality=IMAGE_QUALITY_NORMAL) -> Image Returns a scaled version of the image. This is also useful for scaling bitmaps in general as the only other way to scale bitmaps is to blit a - `wx.MemoryDC` into another `wx.MemoryDC`. + `wx.MemoryDC` into another `wx.MemoryDC`. The ``quality`` parameter + specifies what method to use for resampling the image. It can be + either wx.IMAGE_QUALITY_NORMAL, which uses the normal default scaling + method of pixel replication, or wx.IMAGE_QUALITY_HIGH which uses + bicubic and box averaging resampling methods for upsampling and + downsampling respectively. """ return _core_.Image_Scale(*args, **kwargs) + def ResampleBox(*args, **kwargs): + """ResampleBox(self, int width, int height) -> Image""" + return _core_.Image_ResampleBox(*args, **kwargs) + + def ResampleBicubic(*args, **kwargs): + """ResampleBicubic(self, int width, int height) -> Image""" + return _core_.Image_ResampleBicubic(*args, **kwargs) + + def Blur(*args, **kwargs): + """ + Blur(self, int radius) -> Image + + Blurs the image in both horizontal and vertical directions by the + specified pixel ``radius``. This should not be used when using a + single mask colour for transparency. + """ + return _core_.Image_Blur(*args, **kwargs) + + def BlurHorizontal(*args, **kwargs): + """ + BlurHorizontal(self, int radius) -> Image + + Blurs the image in the horizontal direction only. This should not be + used when using a single mask colour for transparency. + + """ + return _core_.Image_BlurHorizontal(*args, **kwargs) + + def BlurVertical(*args, **kwargs): + """ + BlurVertical(self, int radius) -> Image + + Blurs the image in the vertical direction only. This should not be + used when using a single mask colour for transparency. + """ + return _core_.Image_BlurVertical(*args, **kwargs) + def ShrinkBy(*args, **kwargs): """ ShrinkBy(self, int xFactor, int yFactor) -> Image @@ -2249,7 +2385,7 @@ class Image(Object): def Rescale(*args, **kwargs): """ - Rescale(self, int width, int height) -> Image + Rescale(self, int width, int height, int quality=IMAGE_QUALITY_NORMAL) -> Image Changes the size of the image in-place by scaling it: after a call to this function, the image will have the given width and height. @@ -2513,14 +2649,15 @@ class Image(Object): """ return _core_.Image_LoadMimeStream(*args, **kwargs) - def Ok(*args, **kwargs): + def IsOk(*args, **kwargs): """ - Ok(self) -> bool + IsOk(self) -> bool Returns true if image data is present. """ - return _core_.Image_Ok(*args, **kwargs) + return _core_.Image_IsOk(*args, **kwargs) + Ok = IsOk def GetWidth(*args, **kwargs): """ GetWidth(self) -> int @@ -2642,11 +2779,23 @@ class Image(Object): return _core_.Image_SetAlphaData(*args, **kwargs) def GetAlphaBuffer(*args, **kwargs): - """GetAlphaBuffer(self) -> PyObject""" + """ + GetAlphaBuffer(self) -> PyObject + + Returns a writable Python buffer object that is pointing at the Alpha + data buffer inside the wx.Image. You need to ensure that you do not + use this buffer object after the image has been destroyed. + """ return _core_.Image_GetAlphaBuffer(*args, **kwargs) def SetAlphaBuffer(*args, **kwargs): - """SetAlphaBuffer(self, buffer alpha)""" + """ + SetAlphaBuffer(self, buffer alpha) + + Sets the internal image alpha pointer to point at a Python buffer + object. This can save making an extra copy of the data but you must + ensure that the buffer object lives as long as the wx.Image does. + """ return _core_.Image_SetAlphaBuffer(*args, **kwargs) def SetMaskColour(*args, **kwargs): @@ -2886,7 +3035,16 @@ class Image(Object): return _core_.Image_HSVtoRGB(*args, **kwargs) HSVtoRGB = staticmethod(HSVtoRGB) - def __nonzero__(self): return self.Ok() + def __nonzero__(self): return self.IsOk() + AlphaBuffer = property(GetAlphaBuffer,SetAlphaBuffer,doc="See `GetAlphaBuffer` and `SetAlphaBuffer`") + AlphaData = property(GetAlphaData,SetAlphaData,doc="See `GetAlphaData` and `SetAlphaData`") + Data = property(GetData,SetData,doc="See `GetData` and `SetData`") + DataBuffer = property(GetDataBuffer,SetDataBuffer,doc="See `GetDataBuffer` and `SetDataBuffer`") + Height = property(GetHeight,doc="See `GetHeight`") + MaskBlue = property(GetMaskBlue,doc="See `GetMaskBlue`") + MaskGreen = property(GetMaskGreen,doc="See `GetMaskGreen`") + MaskRed = property(GetMaskRed,doc="See `GetMaskRed`") + Width = property(GetWidth,doc="See `GetWidth`") _core_.Image_swigregister(Image) def ImageFromMime(*args, **kwargs): @@ -3031,6 +3189,40 @@ def Image_HSVtoRGB(*args, **kwargs): """ return _core_.Image_HSVtoRGB(*args, **kwargs) + +def _ImageFromBuffer(*args, **kwargs): + """_ImageFromBuffer(int width, int height, buffer data, buffer alpha=None) -> Image""" + return _core_._ImageFromBuffer(*args, **kwargs) +def ImageFromBuffer(width, height, dataBuffer, alphaBuffer=None): + """ + Creates a `wx.Image` from the data in dataBuffer. The dataBuffer + parameter must be a Python object that implements the buffer interface, + such as a string, array, etc. The dataBuffer object is expected to + contain a series of RGB bytes and be width*height*3 bytes long. A buffer + object can optionally be supplied for the image's alpha channel data, and + it is expected to be width*height bytes long. + + The wx.Image will be created with its data and alpha pointers initialized + to the memory address pointed to by the buffer objects, thus saving the + time needed to copy the image data from the buffer object to the wx.Image. + While this has advantages, it also has the shoot-yourself-in-the-foot + risks associated with sharing a C pointer between two objects. + + To help alleviate the risk a reference to the data and alpha buffer + objects are kept with the wx.Image, so that they won't get deleted until + after the wx.Image is deleted. However please be aware that it is not + guaranteed that an object won't move its memory buffer to a new location + when it needs to resize its contents. If that happens then the wx.Image + will end up referring to an invalid memory location and could cause the + application to crash. Therefore care should be taken to not manipulate + the objects used for the data and alpha buffers in a way that would cause + them to change size. + """ + image = _core_._ImageFromBuffer(width, height, dataBuffer, alphaBuffer) + image._buffer = dataBuffer + image._alpha = alphaBuffer + return image + def InitAllImageHandlers(): """ The former functionality of InitAllImageHanders is now done internal to @@ -3250,6 +3442,8 @@ class EvtHandler(Object): def __init__(self, *args, **kwargs): """__init__(self) -> EvtHandler""" _core_.EvtHandler_swiginit(self,_core_.new_EvtHandler(*args, **kwargs)) + self._setOORInfo(self) + def GetNextHandler(*args, **kwargs): """GetNextHandler(self) -> EvtHandler""" return _core_.EvtHandler_GetNextHandler(*args, **kwargs) @@ -3286,6 +3480,18 @@ class EvtHandler(Object): """ProcessPendingEvents(self)""" return _core_.EvtHandler_ProcessPendingEvents(*args, **kwargs) + def AllowReentrance(*args, **kwargs): + """AllowReentrance(self, bool allow=True)""" + return _core_.EvtHandler_AllowReentrance(*args, **kwargs) + + def IsReentranceAllowed(*args, **kwargs): + """IsReentranceAllowed(self) -> bool""" + return _core_.EvtHandler_IsReentranceAllowed(*args, **kwargs) + + def IsEventHandlingInProgress(*args, **kwargs): + """IsEventHandlingInProgress(self) -> bool""" + return _core_.EvtHandler_IsEventHandlingInProgress(*args, **kwargs) + def Connect(*args, **kwargs): """Connect(self, int id, int lastId, int eventType, PyObject func)""" return _core_.EvtHandler_Connect(*args, **kwargs) @@ -3339,6 +3545,9 @@ class EvtHandler(Object): id = source.GetId() return event.Unbind(self, id, id2) + EvtHandlerEnabled = property(GetEvtHandlerEnabled,SetEvtHandlerEnabled,doc="See `GetEvtHandlerEnabled` and `SetEvtHandlerEnabled`") + NextHandler = property(GetNextHandler,SetNextHandler,doc="See `GetNextHandler` and `SetNextHandler`") + PreviousHandler = property(GetPreviousHandler,SetPreviousHandler,doc="See `GetPreviousHandler` and `SetPreviousHandler`") _core_.EvtHandler_swigregister(EvtHandler) #--------------------------------------------------------------------------- @@ -3501,6 +3710,7 @@ wxEVT_SHOW = _core_.wxEVT_SHOW wxEVT_ICONIZE = _core_.wxEVT_ICONIZE wxEVT_MAXIMIZE = _core_.wxEVT_MAXIMIZE wxEVT_MOUSE_CAPTURE_CHANGED = _core_.wxEVT_MOUSE_CAPTURE_CHANGED +wxEVT_MOUSE_CAPTURE_LOST = _core_.wxEVT_MOUSE_CAPTURE_LOST wxEVT_PAINT = _core_.wxEVT_PAINT wxEVT_ERASE_BACKGROUND = _core_.wxEVT_ERASE_BACKGROUND wxEVT_NC_PAINT = _core_.wxEVT_NC_PAINT @@ -3577,6 +3787,7 @@ EVT_WINDOW_CREATE = wx.PyEventBinder( wxEVT_CREATE ) EVT_WINDOW_DESTROY = wx.PyEventBinder( wxEVT_DESTROY ) EVT_SET_CURSOR = wx.PyEventBinder( wxEVT_SET_CURSOR ) EVT_MOUSE_CAPTURE_CHANGED = wx.PyEventBinder( wxEVT_MOUSE_CAPTURE_CHANGED ) +EVT_MOUSE_CAPTURE_LOST = wx.PyEventBinder( wxEVT_MOUSE_CAPTURE_LOST ) EVT_LEFT_DOWN = wx.PyEventBinder( wxEVT_LEFT_DOWN ) EVT_LEFT_UP = wx.PyEventBinder( wxEVT_LEFT_UP ) @@ -3858,6 +4069,11 @@ class Event(Object): """Clone(self) -> Event""" return _core_.Event_Clone(*args, **kwargs) + EventObject = property(GetEventObject,SetEventObject,doc="See `GetEventObject` and `SetEventObject`") + EventType = property(GetEventType,SetEventType,doc="See `GetEventType` and `SetEventType`") + Id = property(GetId,SetId,doc="See `GetId` and `SetId`") + Skipped = property(GetSkipped,doc="See `GetSkipped`") + Timestamp = property(GetTimestamp,SetTimestamp,doc="See `GetTimestamp` and `SetTimestamp`") _core_.Event_swigregister(Event) #--------------------------------------------------------------------------- @@ -4021,6 +4237,12 @@ class CommandEvent(Event): """Clone(self) -> Event""" return _core_.CommandEvent_Clone(*args, **kwargs) + ClientData = property(GetClientData,SetClientData,doc="See `GetClientData` and `SetClientData`") + ClientObject = property(GetClientObject,SetClientObject,doc="See `GetClientObject` and `SetClientObject`") + ExtraLong = property(GetExtraLong,SetExtraLong,doc="See `GetExtraLong` and `SetExtraLong`") + Int = property(GetInt,SetInt,doc="See `GetInt` and `SetInt`") + Selection = property(GetSelection,doc="See `GetSelection`") + String = property(GetString,SetString,doc="See `GetString` and `SetString`") _core_.CommandEvent_swigregister(CommandEvent) #--------------------------------------------------------------------------- @@ -4120,6 +4342,8 @@ class ScrollEvent(CommandEvent): """SetPosition(self, int pos)""" return _core_.ScrollEvent_SetPosition(*args, **kwargs) + Orientation = property(GetOrientation,SetOrientation,doc="See `GetOrientation` and `SetOrientation`") + Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") _core_.ScrollEvent_swigregister(ScrollEvent) #--------------------------------------------------------------------------- @@ -4166,6 +4390,8 @@ class ScrollWinEvent(Event): """SetPosition(self, int pos)""" return _core_.ScrollWinEvent_SetPosition(*args, **kwargs) + Orientation = property(GetOrientation,SetOrientation,doc="See `GetOrientation` and `SetOrientation`") + Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") _core_.ScrollWinEvent_swigregister(ScrollWinEvent) #--------------------------------------------------------------------------- @@ -4581,6 +4807,14 @@ class MouseEvent(Event): m_wheelRotation = property(_core_.MouseEvent_m_wheelRotation_get, _core_.MouseEvent_m_wheelRotation_set) m_wheelDelta = property(_core_.MouseEvent_m_wheelDelta_get, _core_.MouseEvent_m_wheelDelta_set) m_linesPerAction = property(_core_.MouseEvent_m_linesPerAction_get, _core_.MouseEvent_m_linesPerAction_set) + Button = property(GetButton,doc="See `GetButton`") + LinesPerAction = property(GetLinesPerAction,doc="See `GetLinesPerAction`") + LogicalPosition = property(GetLogicalPosition,doc="See `GetLogicalPosition`") + Position = property(GetPosition,doc="See `GetPosition`") + WheelDelta = property(GetWheelDelta,doc="See `GetWheelDelta`") + WheelRotation = property(GetWheelRotation,doc="See `GetWheelRotation`") + X = property(GetX,doc="See `GetX`") + Y = property(GetY,doc="See `GetY`") _core_.MouseEvent_swigregister(MouseEvent) #--------------------------------------------------------------------------- @@ -4642,6 +4876,9 @@ class SetCursorEvent(Event): """ return _core_.SetCursorEvent_HasCursor(*args, **kwargs) + Cursor = property(GetCursor,SetCursor,doc="See `GetCursor` and `SetCursor`") + X = property(GetX,doc="See `GetX`") + Y = property(GetY,doc="See `GetY`") _core_.SetCursorEvent_swigregister(SetCursorEvent) #--------------------------------------------------------------------------- @@ -4809,7 +5046,6 @@ class KeyEvent(Event): """ return _core_.KeyEvent_GetKeyCode(*args, **kwargs) - KeyCode = GetKeyCode def GetUnicodeKey(*args, **kwargs): """ GetUnicodeKey(self) -> int @@ -4894,6 +5130,14 @@ class KeyEvent(Event): m_scanCode = property(_core_.KeyEvent_m_scanCode_get, _core_.KeyEvent_m_scanCode_set) m_rawCode = property(_core_.KeyEvent_m_rawCode_get, _core_.KeyEvent_m_rawCode_set) m_rawFlags = property(_core_.KeyEvent_m_rawFlags_get, _core_.KeyEvent_m_rawFlags_set) + KeyCode = property(GetKeyCode,doc="See `GetKeyCode`") + Modifiers = property(GetModifiers,doc="See `GetModifiers`") + Position = property(GetPosition,doc="See `GetPosition`") + RawKeyCode = property(GetRawKeyCode,doc="See `GetRawKeyCode`") + RawKeyFlags = property(GetRawKeyFlags,doc="See `GetRawKeyFlags`") + UnicodeKey = property(GetUnicodeKey,SetUnicodeKey,doc="See `GetUnicodeKey` and `SetUnicodeKey`") + X = property(GetX,doc="See `GetX`") + Y = property(GetY,doc="See `GetY`") _core_.KeyEvent_swigregister(KeyEvent) #--------------------------------------------------------------------------- @@ -4948,6 +5192,8 @@ class SizeEvent(Event): m_size = property(_core_.SizeEvent_m_size_get, _core_.SizeEvent_m_size_set) m_rect = property(_core_.SizeEvent_m_rect_get, _core_.SizeEvent_m_rect_set) + Rect = property(GetRect,SetRect,doc="See `GetRect` and `SetRect`") + Size = property(GetSize,SetSize,doc="See `GetSize` and `SetSize`") _core_.SizeEvent_swigregister(SizeEvent) #--------------------------------------------------------------------------- @@ -4989,6 +5235,8 @@ class MoveEvent(Event): m_pos = property(GetPosition, SetPosition) m_rect = property(GetRect, SetRect) + Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") + Rect = property(GetRect,SetRect,doc="See `GetRect` and `SetRect`") _core_.MoveEvent_swigregister(MoveEvent) #--------------------------------------------------------------------------- @@ -5058,6 +5306,7 @@ class EraseEvent(Event): """ return _core_.EraseEvent_GetDC(*args, **kwargs) + DC = property(GetDC,doc="See `GetDC`") _core_.EraseEvent_swigregister(EraseEvent) #--------------------------------------------------------------------------- @@ -5098,15 +5347,21 @@ class FocusEvent(Event): """SetWindow(self, Window win)""" return _core_.FocusEvent_SetWindow(*args, **kwargs) + Window = property(GetWindow,SetWindow,doc="See `GetWindow` and `SetWindow`") _core_.FocusEvent_swigregister(FocusEvent) #--------------------------------------------------------------------------- class ChildFocusEvent(CommandEvent): """ - wx.ChildFocusEvent notifies the parent that a child has received the - focus. Unlike `wx.FocusEvent` it is propagated up the window - heirarchy. + A child focus event is sent to a (parent-)window when one of its child + windows gains focus, so that the window could restore the focus back + to its corresponding child if it loses it now and regains later. + + Notice that child window is the direct child of the window receiving + the event, and so may not be the actual widget recieving focus if it + is further down the containment heirarchy. Use `wx.Window.FindFocus` + to get the widget that is actually receiving focus. """ thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr @@ -5121,10 +5376,12 @@ class ChildFocusEvent(CommandEvent): """ GetWindow(self) -> Window - The window which has just received the focus. + The window, or (grand)parent of the window which has just received the + focus. """ return _core_.ChildFocusEvent_GetWindow(*args, **kwargs) + Window = property(GetWindow,doc="See `GetWindow`") _core_.ChildFocusEvent_swigregister(ChildFocusEvent) #--------------------------------------------------------------------------- @@ -5164,6 +5421,7 @@ class ActivateEvent(Event): """ return _core_.ActivateEvent_GetActive(*args, **kwargs) + Active = property(GetActive,doc="See `GetActive`") _core_.ActivateEvent_swigregister(ActivateEvent) #--------------------------------------------------------------------------- @@ -5235,6 +5493,8 @@ class MenuEvent(Event): """ return _core_.MenuEvent_GetMenu(*args, **kwargs) + Menu = property(GetMenu,doc="See `GetMenu`") + MenuId = property(GetMenuId,doc="See `GetMenuId`") _core_.MenuEvent_swigregister(MenuEvent) #--------------------------------------------------------------------------- @@ -5324,6 +5584,7 @@ class CloseEvent(Event): """ return _core_.CloseEvent_CanVeto(*args, **kwargs) + LoggingOff = property(GetLoggingOff,SetLoggingOff,doc="See `GetLoggingOff` and `SetLoggingOff`") _core_.CloseEvent_swigregister(CloseEvent) #--------------------------------------------------------------------------- @@ -5347,6 +5608,7 @@ class ShowEvent(Event): """GetShow(self) -> bool""" return _core_.ShowEvent_GetShow(*args, **kwargs) + Show = property(GetShow,SetShow,doc="See `GetShow` and `SetShow`") _core_.ShowEvent_swigregister(ShowEvent) #--------------------------------------------------------------------------- @@ -5437,6 +5699,9 @@ class DropFilesEvent(Event): """ return _core_.DropFilesEvent_GetFiles(*args, **kwargs) + Files = property(GetFiles,doc="See `GetFiles`") + NumberOfFiles = property(GetNumberOfFiles,doc="See `GetNumberOfFiles`") + Position = property(GetPosition,doc="See `GetPosition`") _core_.DropFilesEvent_swigregister(DropFilesEvent) #--------------------------------------------------------------------------- @@ -5696,6 +5961,10 @@ class UpdateUIEvent(CommandEvent): return _core_.UpdateUIEvent_GetMode(*args, **kwargs) GetMode = staticmethod(GetMode) + Checked = property(GetChecked,Check,doc="See `GetChecked`") + Enabled = property(GetEnabled,Enable,doc="See `GetEnabled`") + Shown = property(GetShown,Show,doc="See `GetShown`") + Text = property(GetText,SetText,doc="See `GetText` and `SetText`") _core_.UpdateUIEvent_swigregister(UpdateUIEvent) def UpdateUIEvent_SetUpdateInterval(*args, **kwargs): @@ -5839,10 +6108,52 @@ class MouseCaptureChangedEvent(Event): """ return _core_.MouseCaptureChangedEvent_GetCapturedWindow(*args, **kwargs) + CapturedWindow = property(GetCapturedWindow,doc="See `GetCapturedWindow`") _core_.MouseCaptureChangedEvent_swigregister(MouseCaptureChangedEvent) #--------------------------------------------------------------------------- +class MouseCaptureLostEvent(Event): + """ + A mouse capture lost event is sent to a window that obtained mouse + capture, which was subsequently loss due to "external" event, for + example when a dialog box is shown or if another application captures + the mouse. + + If this happens, this event is sent to all windows that are on the + capture stack (i.e. a window that called `wx.Window.CaptureMouse`, but + didn't call `wx.Window.ReleaseMouse` yet). The event is *not* sent + if the capture changes because of a call to CaptureMouse or + ReleaseMouse. + + This event is currently emitted under Windows only. + + """ + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') + __repr__ = _swig_repr + def __init__(self, *args, **kwargs): + """ + __init__(self, int winid=0) -> MouseCaptureLostEvent + + A mouse capture lost event is sent to a window that obtained mouse + capture, which was subsequently loss due to "external" event, for + example when a dialog box is shown or if another application captures + the mouse. + + If this happens, this event is sent to all windows that are on the + capture stack (i.e. a window that called `wx.Window.CaptureMouse`, but + didn't call `wx.Window.ReleaseMouse` yet). The event is *not* sent + if the capture changes because of a call to CaptureMouse or + ReleaseMouse. + + This event is currently emitted under Windows only. + + """ + _core_.MouseCaptureLostEvent_swiginit(self,_core_.new_MouseCaptureLostEvent(*args, **kwargs)) +_core_.MouseCaptureLostEvent_swigregister(MouseCaptureLostEvent) + +#--------------------------------------------------------------------------- + class DisplayChangedEvent(Event): """ An EVT_DISPLAY_CHANGED event is sent to all windows when the display @@ -5888,6 +6199,7 @@ class PaletteChangedEvent(Event): """GetChangedWindow(self) -> Window""" return _core_.PaletteChangedEvent_GetChangedWindow(*args, **kwargs) + ChangedWindow = property(GetChangedWindow,SetChangedWindow,doc="See `GetChangedWindow` and `SetChangedWindow`") _core_.PaletteChangedEvent_swigregister(PaletteChangedEvent) #--------------------------------------------------------------------------- @@ -5920,6 +6232,7 @@ class QueryNewPaletteEvent(Event): """GetPaletteRealized(self) -> bool""" return _core_.QueryNewPaletteEvent_GetPaletteRealized(*args, **kwargs) + PaletteRealized = property(GetPaletteRealized,SetPaletteRealized,doc="See `GetPaletteRealized` and `SetPaletteRealized`") _core_.QueryNewPaletteEvent_swigregister(QueryNewPaletteEvent) #--------------------------------------------------------------------------- @@ -6027,6 +6340,8 @@ class NavigationKeyEvent(Event): IsForward = _core_.NavigationKeyEvent_IsForward WinChange = _core_.NavigationKeyEvent_WinChange FromTab = _core_.NavigationKeyEvent_FromTab + CurrentFocus = property(GetCurrentFocus,SetCurrentFocus,doc="See `GetCurrentFocus` and `SetCurrentFocus`") + Direction = property(GetDirection,SetDirection,doc="See `GetDirection` and `SetDirection`") _core_.NavigationKeyEvent_swigregister(NavigationKeyEvent) #--------------------------------------------------------------------------- @@ -6054,6 +6369,7 @@ class WindowCreateEvent(CommandEvent): """ return _core_.WindowCreateEvent_GetWindow(*args, **kwargs) + Window = property(GetWindow,doc="See `GetWindow`") _core_.WindowCreateEvent_swigregister(WindowCreateEvent) class WindowDestroyEvent(CommandEvent): @@ -6093,6 +6409,7 @@ class WindowDestroyEvent(CommandEvent): """ return _core_.WindowDestroyEvent_GetWindow(*args, **kwargs) + Window = property(GetWindow,doc="See `GetWindow`") _core_.WindowDestroyEvent_swigregister(WindowDestroyEvent) #--------------------------------------------------------------------------- @@ -6128,6 +6445,7 @@ class ContextMenuEvent(CommandEvent): """ return _core_.ContextMenuEvent_SetPosition(*args, **kwargs) + Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") _core_.ContextMenuEvent_swigregister(ContextMenuEvent) #--------------------------------------------------------------------------- @@ -6396,6 +6714,7 @@ class DateEvent(CommandEvent): """ return _core_.DateEvent_SetDate(*args, **kwargs) + Date = property(GetDate,SetDate,doc="See `GetDate` and `SetDate`") _core_.DateEvent_swigregister(DateEvent) wxEVT_DATE_CHANGED = _core_.wxEVT_DATE_CHANGED @@ -6563,6 +6882,14 @@ class PyApp(EvtHandler): """ return _core_.PyApp_Exit(*args, **kwargs) + def GetLayoutDirection(*args, **kwargs): + """ + GetLayoutDirection(self) -> int + + Return the layout direction for the current locale. + """ + return _core_.PyApp_GetLayoutDirection(*args, **kwargs) + def ExitMainLoop(*args, **kwargs): """ ExitMainLoop(self) @@ -6763,6 +7090,39 @@ class PyApp(EvtHandler): return _core_.PyApp_GetComCtl32Version(*args, **kwargs) GetComCtl32Version = staticmethod(GetComCtl32Version) + def IsDisplayAvailable(*args, **kwargs): + """ + IsDisplayAvailable() -> bool + + Tests if it is possible to create a GUI in the current environment. + This will mean different things on the different platforms. + + * On X Windows systems this function will return ``False`` if it is + not able to open a connection to the X display, which can happen + if $DISPLAY is not set, or is not set correctly. + + * On Mac OS X a ``False`` return value will mean that wx is not + able to access the window manager, which can happen if logged in + remotely or if running from the normal version of python instead + of the framework version, (i.e., pythonw.) + + * On MS Windows... + + """ + return _core_.PyApp_IsDisplayAvailable(*args, **kwargs) + + IsDisplayAvailable = staticmethod(IsDisplayAvailable) + AppName = property(GetAppName,SetAppName,doc="See `GetAppName` and `SetAppName`") + AssertMode = property(GetAssertMode,SetAssertMode,doc="See `GetAssertMode` and `SetAssertMode`") + ClassName = property(GetClassName,SetClassName,doc="See `GetClassName` and `SetClassName`") + ExitOnFrameDelete = property(GetExitOnFrameDelete,SetExitOnFrameDelete,doc="See `GetExitOnFrameDelete` and `SetExitOnFrameDelete`") + LayoutDirection = property(GetLayoutDirection,doc="See `GetLayoutDirection`") + PrintMode = property(GetPrintMode,SetPrintMode,doc="See `GetPrintMode` and `SetPrintMode`") + TopWindow = property(GetTopWindow,SetTopWindow,doc="See `GetTopWindow` and `SetTopWindow`") + Traits = property(GetTraits,doc="See `GetTraits`") + UseBestVisual = property(GetUseBestVisual,SetUseBestVisual,doc="See `GetUseBestVisual` and `SetUseBestVisual`") + VendorName = property(GetVendorName,SetVendorName,doc="See `GetVendorName` and `SetVendorName`") + Active = property(IsActive) _core_.PyApp_swigregister(PyApp) def PyApp_IsMainLoopRunning(*args): @@ -6823,6 +7183,27 @@ def PyApp_GetComCtl32Version(*args): """ return _core_.PyApp_GetComCtl32Version(*args) +def PyApp_IsDisplayAvailable(*args): + """ + PyApp_IsDisplayAvailable() -> bool + + Tests if it is possible to create a GUI in the current environment. + This will mean different things on the different platforms. + + * On X Windows systems this function will return ``False`` if it is + not able to open a connection to the X display, which can happen + if $DISPLAY is not set, or is not set correctly. + + * On Mac OS X a ``False`` return value will mean that wx is not + able to access the window manager, which can happen if logged in + remotely or if running from the normal version of python instead + of the framework version, (i.e., pythonw.) + + * On MS Windows... + + """ + return _core_.PyApp_IsDisplayAvailable(*args) + #--------------------------------------------------------------------------- @@ -6992,7 +7373,7 @@ class PyOnDemandOutputWindow: #---------------------------------------------------------------------- _defRedirect = (wx.Platform == '__WXMSW__' or wx.Platform == '__WXMAC__') - + class App(wx.PyApp): """ The ``wx.App`` class represents the application and is used to: @@ -7050,22 +7431,26 @@ class App(wx.PyApp): initialization to ensure that the system, toolkit and wxWidgets are fully initialized. """ + wx.PyApp.__init__(self) - if wx.Platform == "__WXMAC__": - try: - import MacOS - if not MacOS.WMAvailable(): - print """\ -This program needs access to the screen. Please run with 'pythonw', -not 'python', and only when you are logged in on the main display of -your Mac.""" - _sys.exit(1) - except SystemExit: - raise - except: - pass + # make sure we can create a GUI + if not self.IsDisplayAvailable(): + + if wx.Platform == "__WXMAC__": + msg = """This program needs access to the screen. +Please run with 'pythonw', not 'python', and only when you are logged +in on the main display of your Mac.""" + + elif wx.Platform == "__WXGTK__": + msg ="Unable to access the X Display, is $DISPLAY set properly?" + + else: + msg = "Unable to create GUI" + # TODO: more description is needed for wxMSW... + raise SystemExit(msg) + # This has to be done before OnInit self.SetUseBestVisual(useBestVisual) @@ -7110,8 +7495,8 @@ your Mac.""" destroy(self) def Destroy(self): + self.this.own(False) wx.PyApp.Destroy(self) - self.thisown = 0 def SetTopWindow(self, frame): """Set the \"main\" top level window""" @@ -7300,6 +7685,11 @@ _core_.EventLoopActivator_swigregister(EventLoopActivator) #--------------------------------------------------------------------------- +ACCEL_ALT = _core_.ACCEL_ALT +ACCEL_CTRL = _core_.ACCEL_CTRL +ACCEL_SHIFT = _core_.ACCEL_SHIFT +ACCEL_NORMAL = _core_.ACCEL_NORMAL +ACCEL_CMD = _core_.ACCEL_CMD class AcceleratorEntry(object): """ A class used to define items in an `wx.AcceleratorTable`. wxPython @@ -7329,6 +7719,16 @@ class AcceleratorEntry(object): """ return _core_.AcceleratorEntry_Set(*args, **kwargs) + def Create(*args, **kwargs): + """ + Create(String str) -> AcceleratorEntry + + Create accelerator corresponding to the specified string, or None if + it coulnd't be parsed. + """ + return _core_.AcceleratorEntry_Create(*args, **kwargs) + + Create = staticmethod(Create) def GetFlags(*args, **kwargs): """ GetFlags(self) -> int @@ -7353,8 +7753,43 @@ class AcceleratorEntry(object): """ return _core_.AcceleratorEntry_GetCommand(*args, **kwargs) + def IsOk(*args, **kwargs): + """IsOk(self) -> bool""" + return _core_.AcceleratorEntry_IsOk(*args, **kwargs) + + def ToString(*args, **kwargs): + """ + ToString(self) -> String + + Returns a string representation for the this accelerator. The string + is formatted using the - format where maybe a + hyphen-separed list of "shift|alt|ctrl" + + """ + return _core_.AcceleratorEntry_ToString(*args, **kwargs) + + def FromString(*args, **kwargs): + """ + FromString(self, String str) -> bool + + Returns true if the given string correctly initialized this object. + """ + return _core_.AcceleratorEntry_FromString(*args, **kwargs) + + Command = property(GetCommand,doc="See `GetCommand`") + Flags = property(GetFlags,doc="See `GetFlags`") + KeyCode = property(GetKeyCode,doc="See `GetKeyCode`") _core_.AcceleratorEntry_swigregister(AcceleratorEntry) +def AcceleratorEntry_Create(*args, **kwargs): + """ + AcceleratorEntry_Create(String str) -> AcceleratorEntry + + Create accelerator corresponding to the specified string, or None if + it coulnd't be parsed. + """ + return _core_.AcceleratorEntry_Create(*args, **kwargs) + class AcceleratorTable(Object): """ An accelerator table allows the application to specify a table of @@ -7376,10 +7811,11 @@ class AcceleratorTable(Object): _core_.AcceleratorTable_swiginit(self,_core_.new_AcceleratorTable(*args, **kwargs)) __swig_destroy__ = _core_.delete_AcceleratorTable __del__ = lambda self : None; - def Ok(*args, **kwargs): - """Ok(self) -> bool""" - return _core_.AcceleratorTable_Ok(*args, **kwargs) + def IsOk(*args, **kwargs): + """IsOk(self) -> bool""" + return _core_.AcceleratorTable_IsOk(*args, **kwargs) + Ok = IsOk _core_.AcceleratorTable_swigregister(AcceleratorTable) @@ -7466,9 +7902,8 @@ class Window(EvtHandler): Returns True if the window has either been successfully deleted, or it has been added to the list of windows pending real deletion. """ - val = _core_.Window_Destroy(*args, **kwargs) - args[0].thisown = 0 - return val + args[0].this.own(False) + return _core_.Window_Destroy(*args, **kwargs) def DestroyChildren(*args, **kwargs): """ @@ -7591,6 +8026,32 @@ class Window(EvtHandler): return _core_.Window_PrevControlId(*args, **kwargs) PrevControlId = staticmethod(PrevControlId) + def GetLayoutDirection(*args, **kwargs): + """ + GetLayoutDirection(self) -> int + + Get the layout direction (LTR or RTL) for this window. Returns + ``wx.Layout_Default`` if layout direction is not supported. + """ + return _core_.Window_GetLayoutDirection(*args, **kwargs) + + def SetLayoutDirection(*args, **kwargs): + """ + SetLayoutDirection(self, int dir) + + Set the layout direction (LTR or RTL) for this window. + """ + return _core_.Window_SetLayoutDirection(*args, **kwargs) + + def AdjustForLayoutDirection(*args, **kwargs): + """ + AdjustForLayoutDirection(self, int x, int width, int widthTotal) -> int + + Mirror coordinates for RTL layout if this window uses it and if the + mirroring is not done automatically like Win32. + """ + return _core_.Window_AdjustForLayoutDirection(*args, **kwargs) + def SetSize(*args, **kwargs): """ SetSize(self, Size size) @@ -8142,6 +8603,16 @@ class Window(EvtHandler): """ return _core_.Window_IsEnabled(*args, **kwargs) + def IsShownOnScreen(*args, **kwargs): + """ + IsShownOnScreen(self) -> bool + + Returns ``True`` if the window is physically visible on the screen, + i.e. it is shown and all its parents up to the toplevel window are + shown as well. + """ + return _core_.Window_IsShownOnScreen(*args, **kwargs) + def SetWindowStyleFlag(*args, **kwargs): """ SetWindowStyleFlag(self, long style) @@ -8277,31 +8748,6 @@ class Window(EvtHandler): """ return _core_.Window_AcceptsFocusFromKeyboard(*args, **kwargs) - def GetDefaultItem(*args, **kwargs): - """ - GetDefaultItem(self) -> Window - - Get the default child of this parent, i.e. the one which is activated - by pressing such as the OK button on a wx.Dialog. - """ - return _core_.Window_GetDefaultItem(*args, **kwargs) - - def SetDefaultItem(*args, **kwargs): - """ - SetDefaultItem(self, Window child) -> Window - - Set this child as default, return the old default. - """ - return _core_.Window_SetDefaultItem(*args, **kwargs) - - def SetTmpDefaultItem(*args, **kwargs): - """ - SetTmpDefaultItem(self, Window win) - - Set this child as temporary default - """ - return _core_.Window_SetTmpDefaultItem(*args, **kwargs) - def Navigate(*args, **kwargs): """ Navigate(self, int flags=NavigationKeyEvent.IsForward) -> bool @@ -8442,14 +8888,16 @@ class Window(EvtHandler): SetEventHandler(self, EvtHandler handler) Sets the event handler for this window. An event handler is an object - that is capable of processing the events sent to a window. By default, - the window is its own event handler, but an application may wish to - substitute another, for example to allow central implementation of - event-handling for a variety of different window classes. + that is capable of processing the events sent to a window. (In other + words, is able to dispatch the events to handler function.) By + default, the window is its own event handler, but an application may + wish to substitute another, for example to allow central + implementation of event-handling for a variety of different window + classes. It is usually better to use `wx.Window.PushEventHandler` since this sets up a chain of event handlers, where an event not handled by one event - handler is handed to the next one in the chain. + handler is handed off to the next one in the chain. """ return _core_.Window_SetEventHandler(*args, **kwargs) @@ -8459,15 +8907,19 @@ class Window(EvtHandler): Pushes this event handler onto the event handler stack for the window. An event handler is an object that is capable of processing the events - sent to a window. By default, the window is its own event handler, but - an application may wish to substitute another, for example to allow - central implementation of event-handling for a variety of different - window classes. + sent to a window. (In other words, is able to dispatch the events to + handler function.) By default, the window is its own event handler, + but an application may wish to substitute another, for example to + allow central implementation of event-handling for a variety of + different window classes. wx.Window.PushEventHandler allows an application to set up a chain of event handlers, where an event not handled by one event handler is - handed to the next one in the chain. Use `wx.Window.PopEventHandler` to - remove the event handler. + handed to the next one in the chain. Use `wx.Window.PopEventHandler` + to remove the event handler. Ownership of the handler is *not* given + to the window, so you should be sure to pop the handler before the + window is destroyed and either let PopEventHandler destroy it, or call + its Destroy method yourself. """ return _core_.Window_PushEventHandler(*args, **kwargs) @@ -8477,7 +8929,7 @@ class Window(EvtHandler): Removes and returns the top-most event handler on the event handler stack. If deleteHandler is True then the wx.EvtHandler object will be - destroyed after it is popped. + destroyed after it is popped, and ``None`` will be returned instead. """ return _core_.Window_PopEventHandler(*args, **kwargs) @@ -8486,7 +8938,7 @@ class Window(EvtHandler): RemoveEventHandler(self, EvtHandler handler) -> bool Find the given handler in the event handler chain and remove (but not - delete) it from the event handler chain, return True if it was found + delete) it from the event handler chain, returns True if it was found and False otherwise (this also results in an assert failure so this function should only be called when the handler is supposed to be there.) @@ -8674,7 +9126,13 @@ class Window(EvtHandler): mouse and when the mouse is released the capture returns to the window which had had captured it previously and it is only really released if there were no previous window. In particular, this means that you must - release the mouse as many times as you capture it. + release the mouse as many times as you capture it, unless the window + receives the `wx.MouseCaptureLostEvent` event. + + Any application which captures the mouse in the beginning of some + operation *must* handle `wx.MouseCaptureLostEvent` and cancel this + operation when it receives the event. The event handler must not + recapture mouse. """ return _core_.Window_CaptureMouse(*args, **kwargs) @@ -8730,7 +9188,7 @@ class Window(EvtHandler): window instead of waiting for the EVT_PAINT event to happen, (normally this would usually only happen when the flow of control returns to the event loop.) Notice that this function doesn't refresh the window and - does nothing if the window has been already repainted. Use Refresh + does nothing if the window has been already repainted. Use `Refresh` first if you want to immediately redraw the window (or some portion of it) unconditionally. """ @@ -8763,6 +9221,16 @@ class Window(EvtHandler): """ return _core_.Window_Freeze(*args, **kwargs) + def IsFrozen(*args, **kwargs): + """ + IsFrozen(self) -> bool + + Returns ``True`` if the window has been frozen and not thawed yet. + + :see: `Freeze` and `Thaw` + """ + return _core_.Window_IsFrozen(*args, **kwargs) + def Thaw(*args, **kwargs): """ Thaw(self) @@ -8783,6 +9251,17 @@ class Window(EvtHandler): """ return _core_.Window_PrepareDC(*args, **kwargs) + def IsDoubleBuffered(*args, **kwargs): + """ + IsDoubleBuffered(self) -> bool + + Returns ``True`` if the window contents is double-buffered by the + system, i.e. if any drawing done on the window is really done on a + temporary backing surface and transferred to the screen all at once + later. + """ + return _core_.Window_IsDoubleBuffered(*args, **kwargs) + def GetUpdateRegion(*args, **kwargs): """ GetUpdateRegion(self) -> Region @@ -9165,6 +9644,10 @@ class Window(EvtHandler): """ return _core_.Window_PopupMenu(*args, **kwargs) + def HasMultiplePages(*args, **kwargs): + """HasMultiplePages(self) -> bool""" + return _core_.Window_HasMultiplePages(*args, **kwargs) + def GetHandle(*args, **kwargs): """ GetHandle(self) -> long @@ -9553,6 +10036,32 @@ class Window(EvtHandler): """ return _core_.Window_ShouldInheritColours(*args, **kwargs) + def CanSetTransparent(*args, **kwargs): + """ + CanSetTransparent(self) -> bool + + Returns ``True`` if the platform supports setting the transparency for + this window. Note that this method will err on the side of caution, + so it is possible that this will return ``False`` when it is in fact + possible to set the transparency. + + NOTE: On X-windows systems the X server must have the composite + extension loaded, and there must be a composite manager program (such + as xcompmgr) running. + """ + return _core_.Window_CanSetTransparent(*args, **kwargs) + + def SetTransparent(*args, **kwargs): + """ + SetTransparent(self, byte alpha) -> bool + + Attempt to set the transparency of this window to the ``alpha`` value, + returns True on success. The ``alpha`` value is an integer in the + range of 0 to 255, where 0 is fully transparent and 255 is fully + opaque. + """ + return _core_.Window_SetTransparent(*args, **kwargs) + def PostCreate(self, pre): """ Phase 3 of the 2-phase create @@ -9567,8 +10076,65 @@ class Window(EvtHandler): self._setCallbackInfo(self, self.__class__) def SendSizeEvent(self): - self.GetEventhandler().ProcessEvent(wx.SizeEvent((-1,-1))) - + self.GetEventHandler().ProcessEvent(wx.SizeEvent((-1,-1))) + + AcceleratorTable = property(GetAcceleratorTable,SetAcceleratorTable,doc="See `GetAcceleratorTable` and `SetAcceleratorTable`") + AdjustedBestSize = property(GetAdjustedBestSize,doc="See `GetAdjustedBestSize`") + AutoLayout = property(GetAutoLayout,SetAutoLayout,doc="See `GetAutoLayout` and `SetAutoLayout`") + BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") + BackgroundStyle = property(GetBackgroundStyle,SetBackgroundStyle,doc="See `GetBackgroundStyle` and `SetBackgroundStyle`") + BestFittingSize = property(GetBestFittingSize,SetBestFittingSize,doc="See `GetBestFittingSize` and `SetBestFittingSize`") + BestSize = property(GetBestSize,doc="See `GetBestSize`") + BestVirtualSize = property(GetBestVirtualSize,doc="See `GetBestVirtualSize`") + Border = property(GetBorder,doc="See `GetBorder`") + Caret = property(GetCaret,SetCaret,doc="See `GetCaret` and `SetCaret`") + CharHeight = property(GetCharHeight,doc="See `GetCharHeight`") + CharWidth = property(GetCharWidth,doc="See `GetCharWidth`") + Children = property(GetChildren,doc="See `GetChildren`") + ClientAreaOrigin = property(GetClientAreaOrigin,doc="See `GetClientAreaOrigin`") + ClientRect = property(GetClientRect,SetClientRect,doc="See `GetClientRect` and `SetClientRect`") + ClientSize = property(GetClientSize,SetClientSize,doc="See `GetClientSize` and `SetClientSize`") + Constraints = property(GetConstraints,SetConstraints,doc="See `GetConstraints` and `SetConstraints`") + ContainingSizer = property(GetContainingSizer,SetContainingSizer,doc="See `GetContainingSizer` and `SetContainingSizer`") + Cursor = property(GetCursor,SetCursor,doc="See `GetCursor` and `SetCursor`") + DefaultAttributes = property(GetDefaultAttributes,doc="See `GetDefaultAttributes`") + DropTarget = property(GetDropTarget,SetDropTarget,doc="See `GetDropTarget` and `SetDropTarget`") + EventHandler = property(GetEventHandler,SetEventHandler,doc="See `GetEventHandler` and `SetEventHandler`") + ExtraStyle = property(GetExtraStyle,SetExtraStyle,doc="See `GetExtraStyle` and `SetExtraStyle`") + Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") + ForegroundColour = property(GetForegroundColour,SetForegroundColour,doc="See `GetForegroundColour` and `SetForegroundColour`") + GrandParent = property(GetGrandParent,doc="See `GetGrandParent`") + Handle = property(GetHandle,doc="See `GetHandle`") + HelpText = property(GetHelpText,SetHelpText,doc="See `GetHelpText` and `SetHelpText`") + Id = property(GetId,SetId,doc="See `GetId` and `SetId`") + Label = property(GetLabel,SetLabel,doc="See `GetLabel` and `SetLabel`") + LayoutDirection = property(GetLayoutDirection,SetLayoutDirection,doc="See `GetLayoutDirection` and `SetLayoutDirection`") + MaxHeight = property(GetMaxHeight,doc="See `GetMaxHeight`") + MaxSize = property(GetMaxSize,SetMaxSize,doc="See `GetMaxSize` and `SetMaxSize`") + MaxWidth = property(GetMaxWidth,doc="See `GetMaxWidth`") + MinHeight = property(GetMinHeight,doc="See `GetMinHeight`") + MinSize = property(GetMinSize,SetMinSize,doc="See `GetMinSize` and `SetMinSize`") + MinWidth = property(GetMinWidth,doc="See `GetMinWidth`") + Name = property(GetName,SetName,doc="See `GetName` and `SetName`") + Parent = property(GetParent,doc="See `GetParent`") + Position = property(GetPosition,SetPosition,doc="See `GetPosition` and `SetPosition`") + Rect = property(GetRect,SetRect,doc="See `GetRect` and `SetRect`") + ScreenPosition = property(GetScreenPosition,doc="See `GetScreenPosition`") + ScreenRect = property(GetScreenRect,doc="See `GetScreenRect`") + Size = property(GetSize,SetSize,doc="See `GetSize` and `SetSize`") + Sizer = property(GetSizer,SetSizer,doc="See `GetSizer` and `SetSizer`") + ThemeEnabled = property(GetThemeEnabled,SetThemeEnabled,doc="See `GetThemeEnabled` and `SetThemeEnabled`") + ToolTip = property(GetToolTip,SetToolTip,doc="See `GetToolTip` and `SetToolTip`") + UpdateClientRect = property(GetUpdateClientRect,doc="See `GetUpdateClientRect`") + UpdateRegion = property(GetUpdateRegion,doc="See `GetUpdateRegion`") + Validator = property(GetValidator,SetValidator,doc="See `GetValidator` and `SetValidator`") + VirtualSize = property(GetVirtualSize,SetVirtualSize,doc="See `GetVirtualSize` and `SetVirtualSize`") + WindowStyle = property(GetWindowStyle,SetWindowStyle,doc="See `GetWindowStyle` and `SetWindowStyle`") + WindowStyleFlag = property(GetWindowStyleFlag,SetWindowStyleFlag,doc="See `GetWindowStyleFlag` and `SetWindowStyleFlag`") + WindowVariant = property(GetWindowVariant,SetWindowVariant,doc="See `GetWindowVariant` and `SetWindowVariant`") + Shown = property(IsShown,Show,doc="See `IsShown` and `Show`") + Enabled = property(IsEnabled,Enable,doc="See `IsEnabled` and `Enable`") + TopLevel = property(IsTopLevel,doc="See `IsTopLevel`") _core_.Window_swigregister(Window) def PreWindow(*args, **kwargs): @@ -9758,6 +10324,7 @@ class Validator(EvtHandler): return _core_.Validator_SetBellOnError(*args, **kwargs) SetBellOnError = staticmethod(SetBellOnError) + Window = property(GetWindow,SetWindow,doc="See `GetWindow` and `SetWindow`") _core_.Validator_swigregister(Validator) def Validator_IsSilent(*args): @@ -9797,7 +10364,10 @@ class Menu(EvtHandler): self._setOORInfo(self) def Append(*args, **kwargs): - """Append(self, int id, String text, String help=EmptyString, int kind=ITEM_NORMAL) -> MenuItem""" + """ + Append(self, int id, String text=EmptyString, String help=EmptyString, + int kind=ITEM_NORMAL) -> MenuItem + """ return _core_.Menu_Append(*args, **kwargs) def AppendSeparator(*args, **kwargs): @@ -9838,7 +10408,7 @@ class Menu(EvtHandler): def Insert(*args, **kwargs): """ - Insert(self, size_t pos, int id, String text, String help=EmptyString, + Insert(self, size_t pos, int id, String text=EmptyString, String help=EmptyString, int kind=ITEM_NORMAL) -> MenuItem """ return _core_.Menu_Insert(*args, **kwargs) @@ -9860,7 +10430,10 @@ class Menu(EvtHandler): return _core_.Menu_InsertMenu(*args, **kwargs) def Prepend(*args, **kwargs): - """Prepend(self, int id, String text, String help=EmptyString, int kind=ITEM_NORMAL) -> MenuItem""" + """ + Prepend(self, int id, String text=EmptyString, String help=EmptyString, + int kind=ITEM_NORMAL) -> MenuItem + """ return _core_.Menu_Prepend(*args, **kwargs) def PrependSeparator(*args, **kwargs): @@ -9901,29 +10474,16 @@ class Menu(EvtHandler): Deletes the C++ object this Python object is a proxy for. """ - val = _core_.Menu_Destroy(*args, **kwargs) - args[0].thisown = 0 - return val + args[0].this.own(False) + return _core_.Menu_Destroy(*args, **kwargs) def DestroyId(*args, **kwargs): - """ - DestroyId(self, int id) -> bool - - Deletes the C++ object this Python object is a proxy for. - """ - val = _core_.Menu_DestroyId(*args, **kwargs) - args[0].thisown = 0 - return val + """DestroyId(self, int id) -> bool""" + return _core_.Menu_DestroyId(*args, **kwargs) def DestroyItem(*args, **kwargs): - """ - DestroyItem(self, MenuItem item) -> bool - - Deletes the C++ object this Python object is a proxy for. - """ - val = _core_.Menu_DestroyItem(*args, **kwargs) - args[0].thisown = 0 - return val + """DestroyItem(self, MenuItem item) -> bool""" + return _core_.Menu_DestroyItem(*args, **kwargs) def GetMenuItemCount(*args, **kwargs): """GetMenuItemCount(self) -> size_t""" @@ -10033,6 +10593,15 @@ class Menu(EvtHandler): """GetParent(self) -> Menu""" return _core_.Menu_GetParent(*args, **kwargs) + EventHandler = property(GetEventHandler,SetEventHandler,doc="See `GetEventHandler` and `SetEventHandler`") + HelpString = property(GetHelpString,SetHelpString,doc="See `GetHelpString` and `SetHelpString`") + InvokingWindow = property(GetInvokingWindow,SetInvokingWindow,doc="See `GetInvokingWindow` and `SetInvokingWindow`") + MenuBar = property(GetMenuBar,doc="See `GetMenuBar`") + MenuItemCount = property(GetMenuItemCount,doc="See `GetMenuItemCount`") + MenuItems = property(GetMenuItems,doc="See `GetMenuItems`") + Parent = property(GetParent,SetParent,doc="See `GetParent` and `SetParent`") + Style = property(GetStyle,doc="See `GetStyle`") + Title = property(GetTitle,SetTitle,doc="See `GetTitle` and `SetTitle`") _core_.Menu_swigregister(Menu) DefaultValidator = cvar.DefaultValidator @@ -10147,6 +10716,10 @@ class MenuBar(Window): """Detach(self)""" return _core_.MenuBar_Detach(*args, **kwargs) + def UpdateMenus(*args, **kwargs): + """UpdateMenus(self)""" + return _core_.MenuBar_UpdateMenus(*args, **kwargs) + def SetAutoWindowMenu(*args, **kwargs): """SetAutoWindowMenu(bool enable)""" return _core_.MenuBar_SetAutoWindowMenu(*args, **kwargs) @@ -10157,6 +10730,22 @@ class MenuBar(Window): return _core_.MenuBar_GetAutoWindowMenu(*args, **kwargs) GetAutoWindowMenu = staticmethod(GetAutoWindowMenu) + def GetMenus(self): + """Return a list of (menu, label) items for the menus in the MenuBar. """ + return [(self.GetMenu(i), self.GetLabelTop(i)) + for i in range(self.GetMenuCount())] + + def SetMenus(self, items): + """Clear and add new menus to the MenuBar from a list of (menu, label) items. """ + for i in range(self.GetMenuCount()-1, -1, -1): + self.Remove(i) + for m, l in items: + self.Append(m, l) + + Frame = property(GetFrame,doc="See `GetFrame`") + Menu = property(GetMenu,doc="See `GetMenu`") + MenuCount = property(GetMenuCount,doc="See `GetMenuCount`") + Menus = property(GetMenus,SetMenus,doc="See `GetMenus` and `SetMenus`") _core_.MenuBar_swigregister(MenuBar) def MenuBar_SetAutoWindowMenu(*args, **kwargs): @@ -10352,6 +10941,20 @@ class MenuItem(Object): """ResetOwnerDrawn(self)""" return _core_.MenuItem_ResetOwnerDrawn(*args, **kwargs) + Accel = property(GetAccel,SetAccel,doc="See `GetAccel` and `SetAccel`") + BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") + Bitmap = property(GetBitmap,SetBitmap,doc="See `GetBitmap` and `SetBitmap`") + DisabledBitmap = property(GetDisabledBitmap,SetDisabledBitmap,doc="See `GetDisabledBitmap` and `SetDisabledBitmap`") + Font = property(GetFont,SetFont,doc="See `GetFont` and `SetFont`") + Help = property(GetHelp,SetHelp,doc="See `GetHelp` and `SetHelp`") + Id = property(GetId,SetId,doc="See `GetId` and `SetId`") + Kind = property(GetKind,SetKind,doc="See `GetKind` and `SetKind`") + Label = property(GetLabel,doc="See `GetLabel`") + MarginWidth = property(GetMarginWidth,SetMarginWidth,doc="See `GetMarginWidth` and `SetMarginWidth`") + Menu = property(GetMenu,SetMenu,doc="See `GetMenu` and `SetMenu`") + SubMenu = property(GetSubMenu,SetSubMenu,doc="See `GetSubMenu` and `SetSubMenu`") + Text = property(GetText,SetText,doc="See `GetText` and `SetText`") + TextColour = property(GetTextColour,SetTextColour,doc="See `GetTextColour` and `SetTextColour`") _core_.MenuItem_swigregister(MenuItem) def MenuItem_GetLabelFromText(*args, **kwargs): @@ -10395,6 +10998,22 @@ class Control(Window): """ return _core_.Control_Create(*args, **kwargs) + def GetAlignment(*args, **kwargs): + """ + GetAlignment(self) -> int + + Get the control alignment (left/right/centre, top/bottom/centre) + """ + return _core_.Control_GetAlignment(*args, **kwargs) + + def GetLabelText(*args, **kwargs): + """ + GetLabelText(self) -> String + + Get just the text of the label, without mnemonic characters ('&') + """ + return _core_.Control_GetLabelText(*args, **kwargs) + def Command(*args, **kwargs): """ Command(self, CommandEvent event) @@ -10406,14 +11025,6 @@ class Control(Window): """ return _core_.Control_Command(*args, **kwargs) - def GetLabel(*args, **kwargs): - """ - GetLabel(self) -> String - - Return a control's text. - """ - return _core_.Control_GetLabel(*args, **kwargs) - def GetClassDefaultAttributes(*args, **kwargs): """ GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes @@ -10432,6 +11043,8 @@ class Control(Window): return _core_.Control_GetClassDefaultAttributes(*args, **kwargs) GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes) + Alignment = property(GetAlignment,doc="See `GetAlignment`") + LabelText = property(GetLabelText,doc="See `GetLabelText`") _core_.Control_swigregister(Control) ControlNameStr = cvar.ControlNameStr @@ -10632,6 +11245,21 @@ class ItemContainer(object): """ return _core_.ItemContainer_Select(*args, **kwargs) + def GetItems(self): + """Return a list of the strings in the control""" + return [self.GetString(i) for i in xrange(self.GetCount())] + + def SetItems(self, items): + """Clear and set the strings in the control from a list""" + self.Clear() + for i in items: + self.Append(i) + + Count = property(GetCount,doc="See `GetCount`") + Items = property(GetItems,SetItems,doc="See `GetItems` and `SetItems`") + Selection = property(GetSelection,SetSelection,doc="See `GetSelection` and `SetSelection`") + StringSelection = property(GetStringSelection,SetStringSelection,doc="See `GetStringSelection` and `SetStringSelection`") + Strings = property(GetStrings,doc="See `GetStrings`") _core_.ItemContainer_swigregister(ItemContainer) #--------------------------------------------------------------------------- @@ -10951,6 +11579,19 @@ class SizerItem(Object): """ return _core_.SizerItem_SetUserData(*args, **kwargs) + Border = property(GetBorder,SetBorder,doc="See `GetBorder` and `SetBorder`") + Flag = property(GetFlag,SetFlag,doc="See `GetFlag` and `SetFlag`") + MinSize = property(GetMinSize,doc="See `GetMinSize`") + MinSizeWithBorder = property(GetMinSizeWithBorder,doc="See `GetMinSizeWithBorder`") + Position = property(GetPosition,doc="See `GetPosition`") + Proportion = property(GetProportion,SetProportion,doc="See `GetProportion` and `SetProportion`") + Ratio = property(GetRatio,SetRatio,doc="See `GetRatio` and `SetRatio`") + Rect = property(GetRect,doc="See `GetRect`") + Size = property(GetSize,doc="See `GetSize`") + Sizer = property(GetSizer,SetSizer,doc="See `GetSizer` and `SetSizer`") + Spacer = property(GetSpacer,SetSpacer,doc="See `GetSpacer` and `SetSpacer`") + UserData = property(GetUserData,SetUserData,doc="See `GetUserData` and `SetUserData`") + Window = property(GetWindow,SetWindow,doc="See `GetWindow` and `SetWindow`") _core_.SizerItem_swigregister(SizerItem) def SizerItemWindow(*args, **kwargs): @@ -10988,8 +11629,8 @@ class Sizer(Object): wx.Sizer is the abstract base class used for laying out subwindows in a window. You cannot use wx.Sizer directly; instead, you will have to use one of the sizer classes derived from it such as `wx.BoxSizer`, - `wx.StaticBoxSizer`, `wx.NotebookSizer`, `wx.GridSizer`, `wx.FlexGridSizer` - and `wx.GridBagSizer`. + `wx.StaticBoxSizer`, `wx.GridSizer`, `wx.FlexGridSizer` and + `wx.GridBagSizer`. The concept implemented by sizers in wxWidgets is closely related to layout tools in other GUI toolkits, such as Java's AWT, the GTK @@ -11090,6 +11731,57 @@ class Sizer(Object): """_SetItemMinSize(self, PyObject item, Size size)""" return _core_.Sizer__SetItemMinSize(*args, **kwargs) + def _ReplaceWin(*args, **kwargs): + """_ReplaceWin(self, Window oldwin, Window newwin, bool recursive=False) -> bool""" + return _core_.Sizer__ReplaceWin(*args, **kwargs) + + def _ReplaceSizer(*args, **kwargs): + """_ReplaceSizer(self, Sizer oldsz, Sizer newsz, bool recursive=False) -> bool""" + return _core_.Sizer__ReplaceSizer(*args, **kwargs) + + def _ReplaceItem(*args, **kwargs): + """_ReplaceItem(self, size_t index, SizerItem newitem) -> bool""" + return _core_.Sizer__ReplaceItem(*args, **kwargs) + + def Replace(self, olditem, item, recursive=False): + """ + Detaches the given ``olditem`` from the sizer and replaces it with + ``item`` which can be a window, sizer, or `wx.SizerItem`. The + detached child is destroyed only if it is not a window, (because + windows are owned by their parent, not the sizer.) The + ``recursive`` parameter can be used to search for the given + element recursivly in subsizers. + + This method does not cause any layout or resizing to take place, + call `Layout` to do so. + + Returns ``True`` if the child item was found and removed. + """ + if isinstance(olditem, wx.Window): + return self._ReplaceWin(olditem, item, recursive) + elif isinstnace(olditem, wx.Sizer): + return self._ReplaceSizer(olditem, item, recursive) + elif isinstnace(olditem, int): + return self._ReplaceItem(olditem, item) + else: + raise TypeError("Expected Window, Sizer, or integer for first parameter.") + + def SetContainingWindow(*args, **kwargs): + """ + SetContainingWindow(self, Window window) + + Set (or unset) the window this sizer is used in. + """ + return _core_.Sizer_SetContainingWindow(*args, **kwargs) + + def GetContainingWindow(*args, **kwargs): + """ + GetContainingWindow(self) -> Window + + Get the window this sizer is used in. + """ + return _core_.Sizer_GetContainingWindow(*args, **kwargs) + def SetItemMinSize(self, item, *args): """ SetItemMinSize(self, item, Size size) @@ -11141,6 +11833,50 @@ class Sizer(Object): item = (item, ) self.Add(*item) + def AddSpacer(self, *args, **kw): + """AddSpacer(int size) --> SizerItem + + Add a spacer that is (size,size) pixels. + """ + if args and type(args[0]) == int: + return self.Add( (args[0],args[0] ), 0) + else: # otherwise stay compatible with old AddSpacer + return self.Add(*args, **kw) + def PrependSpacer(self, *args, **kw): + """PrependSpacer(int size) --> SizerItem + + Prepend a spacer that is (size, size) pixels.""" + if args and type(args[0]) == int: + return self.Prepend( (args[0],args[0] ), 0) + else: # otherwise stay compatible with old PrependSpacer + return self.Prepend(*args, **kw) + def InsertSpacer(self, index, *args, **kw): + """InsertSpacer(int index, int size) --> SizerItem + + Insert a spacer at position index that is (size, size) pixels.""" + if args and type(args[0]) == int: + return self.Insert( index, (args[0],args[0] ), 0) + else: # otherwise stay compatible with old InsertSpacer + return self.Insert(index, *args, **kw) + + + def AddStretchSpacer(self, prop=1): + """AddStretchSpacer(int prop=1) --> SizerItem + + Add a stretchable spacer.""" + return self.Add((0,0), prop) + def PrependStretchSpacer(self, prop=1): + """PrependStretchSpacer(int prop=1) --> SizerItem + + Prepend a stretchable spacer.""" + return self.Prepend((0,0), prop) + def InsertStretchSpacer(self, index, prop=1): + """InsertStretchSpacer(int index, int prop=1) --> SizerItem + + Insert a stretchable spacer.""" + return self.Insert(index, (0,0), prop) + + # for backwards compatibility only, please do not use in new code def AddWindow(self, *args, **kw): """Compatibility alias for `Add`.""" @@ -11148,9 +11884,6 @@ class Sizer(Object): def AddSizer(self, *args, **kw): """Compatibility alias for `Add`.""" return self.Add(*args, **kw) - def AddSpacer(self, *args, **kw): - """Compatibility alias for `Add`.""" - return self.Add(*args, **kw) def PrependWindow(self, *args, **kw): """Compatibility alias for `Prepend`.""" @@ -11158,9 +11891,6 @@ class Sizer(Object): def PrependSizer(self, *args, **kw): """Compatibility alias for `Prepend`.""" return self.Prepend(*args, **kw) - def PrependSpacer(self, *args, **kw): - """Compatibility alias for `Prepend`.""" - return self.Prepend(*args, **kw) def InsertWindow(self, *args, **kw): """Compatibility alias for `Insert`.""" @@ -11168,9 +11898,6 @@ class Sizer(Object): def InsertSizer(self, *args, **kw): """Compatibility alias for `Insert`.""" return self.Insert(*args, **kw) - def InsertSpacer(self, *args, **kw): - """Compatibility alias for `Insert`.""" - return self.Insert(*args, **kw) def RemoveWindow(self, *args, **kw): """Compatibility alias for `Remove`.""" @@ -11387,6 +12114,11 @@ class Sizer(Object): """ return _core_.Sizer_ShowItems(*args, **kwargs) + Children = property(GetChildren,doc="See `GetChildren`") + ContainingWindow = property(GetContainingWindow,SetContainingWindow,doc="See `GetContainingWindow` and `SetContainingWindow`") + MinSize = property(GetMinSize,SetMinSize,doc="See `GetMinSize` and `SetMinSize`") + Position = property(GetPosition,doc="See `GetPosition`") + Size = property(GetSize,doc="See `GetSize`") _core_.Sizer_swigregister(Sizer) class PySizer(Sizer): @@ -11488,6 +12220,7 @@ class BoxSizer(Sizer): """ return _core_.BoxSizer_SetOrientation(*args, **kwargs) + Orientation = property(GetOrientation,SetOrientation,doc="See `GetOrientation` and `SetOrientation`") _core_.BoxSizer_swigregister(BoxSizer) #--------------------------------------------------------------------------- @@ -11520,6 +12253,7 @@ class StaticBoxSizer(BoxSizer): """ return _core_.StaticBoxSizer_GetStaticBox(*args, **kwargs) + StaticBox = property(GetStaticBox,doc="See `GetStaticBox`") _core_.StaticBoxSizer_swigregister(StaticBoxSizer) #--------------------------------------------------------------------------- @@ -11638,6 +12372,10 @@ class GridSizer(Sizer): cols = (nitems + rows - 1) / rows return (rows, cols) + Cols = property(GetCols,SetCols,doc="See `GetCols` and `SetCols`") + HGap = property(GetHGap,SetHGap,doc="See `GetHGap` and `SetHGap`") + Rows = property(GetRows,SetRows,doc="See `GetRows` and `SetRows`") + VGap = property(GetVGap,SetVGap,doc="See `GetVGap` and `SetVGap`") _core_.GridSizer_swigregister(GridSizer) #--------------------------------------------------------------------------- @@ -11770,8 +12508,6 @@ class FlexGridSizer(GridSizer): ========================== ================================================= Note that this method does not trigger relayout. - - """ return _core_.FlexGridSizer_SetNonFlexibleGrowMode(*args, **kwargs) @@ -11804,6 +12540,10 @@ class FlexGridSizer(GridSizer): """ return _core_.FlexGridSizer_GetColWidths(*args, **kwargs) + ColWidths = property(GetColWidths,doc="See `GetColWidths`") + FlexibleDirection = property(GetFlexibleDirection,SetFlexibleDirection,doc="See `GetFlexibleDirection` and `SetFlexibleDirection`") + NonFlexibleGrowMode = property(GetNonFlexibleGrowMode,SetNonFlexibleGrowMode,doc="See `GetNonFlexibleGrowMode` and `SetNonFlexibleGrowMode`") + RowHeights = property(GetRowHeights,doc="See `GetRowHeights`") _core_.FlexGridSizer_swigregister(FlexGridSizer) class StdDialogButtonSizer(BoxSizer): @@ -11871,6 +12611,11 @@ class StdDialogButtonSizer(BoxSizer): """GetHelpButton(self) -> wxButton""" return _core_.StdDialogButtonSizer_GetHelpButton(*args, **kwargs) + AffirmativeButton = property(GetAffirmativeButton,SetAffirmativeButton,doc="See `GetAffirmativeButton` and `SetAffirmativeButton`") + ApplyButton = property(GetApplyButton,doc="See `GetApplyButton`") + CancelButton = property(GetCancelButton,SetCancelButton,doc="See `GetCancelButton` and `SetCancelButton`") + HelpButton = property(GetHelpButton,doc="See `GetHelpButton`") + NegativeButton = property(GetNegativeButton,SetNegativeButton,doc="See `GetNegativeButton` and `SetNegativeButton`") _core_.StdDialogButtonSizer_swigregister(StdDialogButtonSizer) #--------------------------------------------------------------------------- @@ -12140,6 +12885,10 @@ class GBSizerItem(SizerItem): """ return _core_.GBSizerItem_SetGBSizer(*args, **kwargs) + EndPos = property(GetEndPos,doc="See `GetEndPos`") + GBSizer = property(GetGBSizer,SetGBSizer,doc="See `GetGBSizer` and `SetGBSizer`") + Pos = property(GetPos,SetPos,doc="See `GetPos` and `SetPos`") + Span = property(GetSpan,SetSpan,doc="See `GetSpan` and `SetSpan`") _core_.GBSizerItem_swigregister(GBSizerItem) DefaultSpan = cvar.DefaultSpan @@ -12551,6 +13300,14 @@ class IndividualLayoutConstraint(Object): """ return _core_.IndividualLayoutConstraint_GetEdge(*args, **kwargs) + Done = property(GetDone,SetDone,doc="See `GetDone` and `SetDone`") + Margin = property(GetMargin,SetMargin,doc="See `GetMargin` and `SetMargin`") + MyEdge = property(GetMyEdge,doc="See `GetMyEdge`") + OtherEdge = property(GetOtherEdge,doc="See `GetOtherEdge`") + OtherWindow = property(GetOtherWindow,doc="See `GetOtherWindow`") + Percent = property(GetPercent,doc="See `GetPercent`") + Relationship = property(GetRelationship,SetRelationship,doc="See `GetRelationship` and `SetRelationship`") + Value = property(GetValue,SetValue,doc="See `GetValue` and `SetValue`") _core_.IndividualLayoutConstraint_swigregister(IndividualLayoutConstraint) class LayoutConstraints(Object): @@ -12739,7 +13496,7 @@ def CallAfter(callable, *args, **kw): method calls from non-GUI threads. Any extra positional or keyword args are passed on to the callable when it is called. - :see: `wx.FutureCall` + :see: `wx.CallLater` """ app = wx.GetApp() assert app is not None, 'No wx.App created yet' @@ -12758,7 +13515,7 @@ def CallAfter(callable, *args, **kw): #---------------------------------------------------------------------------- -class FutureCall: +class CallLater: """ A convenience class for `wx.Timer`, that calls the given callable object once after the given amount of milliseconds, passing any @@ -12769,7 +13526,7 @@ class FutureCall: then there is no need to hold a reference to this object. It will hold a reference to itself while the timer is running (the timer has a reference to self.Notify) but the cycle will be broken when - the timer completes, automatically cleaning up the wx.FutureCall + the timer completes, automatically cleaning up the wx.CallLater object. :see: `wx.CallAfter` @@ -12855,7 +13612,12 @@ class FutureCall: # if it wasn't restarted, then cleanup wx.CallAfter(self.Stop) + Interval = property(GetInterval) + Result = property(GetResult) + +class FutureCall(CallLater): + """A compatibility alias for `CallLater`.""" #---------------------------------------------------------------------------- # Control which items in this module should be documented by epydoc. @@ -12868,7 +13630,7 @@ class FutureCall: class __DocFilter: """ A filter for epydoc that only allows non-Ptr classes and - fucntions, in order to reduce the clutter in the API docs. + functions, in order to reduce the clutter in the API docs. """ def __init__(self, globals): self._globals = globals @@ -12876,10 +13638,22 @@ class __DocFilter: def __call__(self, name): import types obj = self._globals.get(name, None) + + # only document classes and function if type(obj) not in [type, types.ClassType, types.FunctionType, types.BuiltinFunctionType]: return False + + # skip other things that are private or will be documented as part of somethign else if name.startswith('_') or name.startswith('EVT') or name.endswith('_swigregister') or name.endswith('Ptr') : return False + + # skip functions that are duplicates of static functions in a class + if name.find('_') != -1: + cls = self._globals.get(name.split('_')[0], None) + methname = name.split('_')[1] + if hasattr(cls, methname) and type(getattr(cls, methname)) is types.FunctionType: + return False + return True #----------------------------------------------------------------------------