From 64bce500c085d5450dff58082fff150a181c1bec Mon Sep 17 00:00:00 2001 From: Roman Rolinsky Date: Tue, 26 Apr 2005 18:49:44 +0000 Subject: [PATCH] Version 0.1.5-1 Added wxWizard, wxWizardPageSimple (only from pull-down menu). Hide command for test window. Replacing classes works better. Added Locate tool. params.py, xxx.py: some window styles were fixed (to correspond more to the docs) xrced.py: subclass bug fixed git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33886 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/wx/tools/XRCed/CHANGES.txt | 11 + wxPython/wx/tools/XRCed/globals.py | 6 +- wxPython/wx/tools/XRCed/images.py | 776 ++++++++++-------- wxPython/wx/tools/XRCed/params.py | 27 +- wxPython/wx/tools/XRCed/src-images/Locate.png | Bin 0 -> 513 bytes .../wx/tools/XRCed/src-images/LocateArmed.png | Bin 0 -> 502 bytes wxPython/wx/tools/XRCed/tree.py | 72 +- wxPython/wx/tools/XRCed/xrced.py | 62 +- wxPython/wx/tools/XRCed/xrced.xrc | 262 +++++- wxPython/wx/tools/XRCed/xxx.py | 48 +- 10 files changed, 857 insertions(+), 407 deletions(-) create mode 100644 wxPython/wx/tools/XRCed/src-images/Locate.png create mode 100644 wxPython/wx/tools/XRCed/src-images/LocateArmed.png diff --git a/wxPython/wx/tools/XRCed/CHANGES.txt b/wxPython/wx/tools/XRCed/CHANGES.txt index 430ce92982..3a0764b634 100644 --- a/wxPython/wx/tools/XRCed/CHANGES.txt +++ b/wxPython/wx/tools/XRCed/CHANGES.txt @@ -1,3 +1,14 @@ +0.1.5-1 +------- + +Added wxWizard, wxWizardPageSimple (only from pull-down menu). + +Hide command for test window. + +Replacing classes works better. + +Added Locate tool. + 0.1.4-1 ------- diff --git a/wxPython/wx/tools/XRCed/globals.py b/wxPython/wx/tools/XRCed/globals.py index 0a9ca2856a..19467981fa 100644 --- a/wxPython/wx/tools/XRCed/globals.py +++ b/wxPython/wx/tools/XRCed/globals.py @@ -6,12 +6,16 @@ from wxPython.wx import * from wxPython.xrc import * +try: + from wxPython.wizard import * +except: + pass import sys # Global constants progname = 'XRCed' -version = '0.1.4-1' +version = '0.1.5-1' # Can be changed to set other default encoding different defaultEncoding = sys.getdefaultencoding() diff --git a/wxPython/wx/tools/XRCed/images.py b/wxPython/wx/tools/XRCed/images.py index a8696676ea..8049fba30c 100644 --- a/wxPython/wx/tools/XRCed/images.py +++ b/wxPython/wx/tools/XRCed/images.py @@ -10,7 +10,7 @@ def getAutoRefreshData(): return \ "\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xfaIDATx\x9c\xb5T\xbb\x0e\x830\x0c<'\x1d\xe8\x9f2\x06X*>\xa0\xea\xd2\ +\x00\xfaIDATH\x89\xb5T\xbb\x0e\x830\x0c<'\x1d\xe8\x9f2\x06X*>\xa0\xea\xd2\ \xd6c\xff\xb4,m:\x01\xc1\x8a\x93@\x95\x932\x90\xc7\x1d\xf6\xd9&2\x165a\xaa\ \xb2\x038\x95^|\x7f?^\xee\x9d\x8d\xa5\xdc\xbb\xa2\x08B\xf2\x17sR\xb4X`~\x1c#\ \x0f\xff<'\x92\x8c F\xde\xf5\x03I\x91\xe7\xe3\xae\x8a\x14{\xd0:W\x94s\t\xd2\ @@ -19,7 +19,7 @@ def getAutoRefreshData(): \xc8\x14\x01\xf1\x08\x0e\x8d\x8a0E\xd3%}\xb7\xfa,\xca6Z\xaaS\xdd\xb4\x1a|H \ \x14\n\xbfi\xdc\xd6<7\xbc\x08JdM\x0e\xcbU\x1a\x18+e@T\x1d\x19\x9b\\\x13\xe0\ \xe7\xa5\xed3\xb3\xd7\xdegS\x14\x1b\r\xda\xf8\x8e\xa1\xb8\x0fbf\xcb\t\xfb\ -\x97\x00\x10\x1f\xcb)\xf2\xdd\x02GP\xbd\xd1~)\x14\xa25\xfeqL\x1d\x00\x00\x00\ +\x97\x00\x10\x1f\xcb)\xf2\xdd\x02GP\xbd\xd1~)\x14\xa25\xbe/\xa7J\x00\x00\x00\ \x00IEND\xaeB`\x82" def getAutoRefreshBitmap(): @@ -37,9 +37,9 @@ def getAutoRefreshIcon(): #---------------------------------------------------------------------- def getCopyData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ +"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xdbIDATx\x9c\xed\x951\x0b\x830\x10\x85\xdf%\x19\xf2sm\xbb\xb8\x14\x04\ +\x00\xdbIDATH\x89\xed\x951\x0b\x830\x10\x85\xdf%\x19\xf2sm\xbb\xb8\x14\x04\ \x97.m\xfd\xa9\x1do\x88^\x07\xa9T\xbd\x0b\x8a\x95.>8\x88\x07\xb9\x8f\xf7L\ \x08\x91\xf3\xd8Sn\xd7\xe9\x07`\x89\x82\xd6\x94\xae\x15\xadO\xce\xd3O\x00\ \x00\xc0\x89G\xdf1DH\xd7\xcaZ\xc8\xaa\x888\xb1\xe9\xce\x12i\xf7@\xbaV81b\x88\ @@ -47,8 +47,8 @@ def getCopyData(): \xca\x12\xa7\x12\xd2]\xd5\xe8\xb2\x00N<\xaa)x\xeaB\x85\x90\xf3\xb3\x02 \x9cX\ \x00L\xaa\x12Nl\x16PI\xd34\xf2=k\x93\x83%\xf1\x99\xf7@\xdfT\r\xe0\xa5R\x01\ \xe4<=\x1f\xf7Y\x9eE\xf12\xe1\x16\xd4tp:_\x94c\xd7\xff\xc4\xcd\x0er\xfa\x9c\ -\x98]\x00\xe4j5\xba\xec\x9e\xe3\xc9\xfc;\xe0\r\x05\xd7\x89\x15\x89\xed\x9f\ -\xd4\x00\x00\x00\x00IEND\xaeB`\x82' +\x98]\x00\xe4j5\xba\xec\x9e\xe3\xc9\xfc;\xe0\r\x05\xd7\x89\x15\xc8\xd1'\xd6\ +\x00\x00\x00\x00IEND\xaeB`\x82" def getCopyBitmap(): return BitmapFromImage(getCopyImage()) @@ -67,15 +67,15 @@ def getCutData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xc9IDATx\x9c\xcdTA\x0e\xc3 \x0cs\xc2\x07\xf6T\xb6\x9d+M\xday[\x9e\xda\ +\x00\xc9IDATH\x89\xcdTA\x0e\xc3 \x0cs\xc2\x07\xf6T\xb6\x9d+M\xday[\x9e\xda\ \x0f\xac\xec\xd2l\x88\x15\x02HHX\xca\xa5ml\xe2\x98\x12\xb1\xc3H\xf0P\xf6i\ \x04\xc2\xf6\x0eC\x05\x00\xe0\xf5|\x1c\x8a\x98\xe2\xc4\xce,\x00\x01@\xc8=\ \x17\x91\xbfwZU\x13\x10;J\xa7\xd0\x93\x8bH\xb9\xb76\xa6JH\xec(%?_\xae\x94\ \xebkNQ\xba\x8b\x12y\x93\x80\xda\xe4\xbd\x07`[\xd3,p\x04\xeb\xf4@\xd3\x0e\ \x96\xdd\x9a\xdb^\x00\xf1\xdd\x14h\x9e \xb6&lK\xf8\tw\n\x94HDN\xdfo\xba\x04\ \xb4Q\x89J\xc8\xdd\xf49~v)t\xb9\xde\xaf\x00\xca\x13\x9a)\x8a\xfdU"\x8dglK.\ -\xb2U1\xad!\xca\xa1\xfa\x1e\xf4b\xce%O%\xf0\x01\x1c\x13_\xd0\xfc\xb7\xc0\x00\ -\x00\x00\x00\x00IEND\xaeB`\x82' +\xb2U1\xad!\xca\xa1\xfa\x1e\xf4b\xce%O%\xf0\x01\x1c\x13_\xd0\x15\xbcWd\x00\ +\x00\x00\x00IEND\xaeB`\x82' def getCutBitmap(): return BitmapFromImage(getCutImage()) @@ -92,31 +92,29 @@ def getCutIcon(): #---------------------------------------------------------------------- def getIconData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\ -\x00\x00szz\xf4\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x025ID\ -ATx\x9c\xedV\xd1\x91\xe3 \x0c}{\xb3e\x98>L!J\x1fK\xea\x08\xe9C\x14\x02}h\xfb\ -\xd0}8\xc2\x80\x1d\'\x97\x9b\x9d\xfc\xec\x9ba\x1c\x88\x90\x1f\xd2\x93\xf0\ -\x87\xaa*\xde\x88?\xef|9\x00|\x02@)\x051F\x00@\x8c\x11\xd34\x01\x00\xce\xe73\ -D\x04!\x04\xcc\xf3\x8c\xeb\xf5\x8a\x9c\xf3\xc6\x89\xf7\x1eDT\xf7\x19F{"\x02\ -\x11\xf5\x9b\xf5\x06\xef\xbd\x02\xd0\x10\x82\xaa\xaa\xc6\x18\x15\x806&JDum\ -\x1cD\xa4-\x9cs\xbbv\xe6\xdfP\xbd\xe7\x9c\x15\x80:\xe74\xe7\\\x1d\xe4\x9c7\ -\x04\x98\xb9\xae\x89\xc8\x86\xa8\x91\'\xa2\xba\xdf\xfc\x8f>\xd7]M\x14\xec9\ -\x9ej\x8f\xc0M\xc4\xbb\x91\x1a\xedl\xbd\xf5\xdb\x11hO32m\x1d\x84\x10\x94\x99\ -\x95\x99\xbb5UUf\xde\x10:\xc2\xc6\xaa\xcd\xdd\x88#\r\x88\xc8K\x04\xba2,\xa5@\ -D\xea<\xa5\xb4Q<\x00\x84\x10\xc0\xcc`fx\xef\xab\xe2_B\x1b\xfe6\xf7&\xc8\xbd\ -\x08\xb4\xb9\xb5\x13\xb7y5\xbb\x18c\xb7\x7fO[5\x02)%\xe4\x9cAD`f8\xe7 "8\x9d\ -N\xff|(\xab\xf5\x94\x12J)\x00\x96\xe8ZO`\xe6>\x02{e\xd7\x96\x8d\xe5\xf7(\x02\ -\xde\xfb\xee\xb4!\x84]\xad\x8c\x95\xf1\t\x009g\xcc\xf3\\\x07\x00\xcc\xf3\x8c\ -\x10\x02D\xa4F\xc6\xf2\xed\x9c\xab\x07\xb0.8\xe2r\xb9`\x9a\xa6\x87\x9d\xf0C\ -\xf5\xf72\xfa9|\x7f\x03\x96\x81\x9d,\xfd<\x81\x9c\x01+\xa2{\x89~{\n\xdeN\xe0\ -\xa9\x14\xa4\x04\x94\x02X\x97\xf6~\x19\xb7\x8a\x05\xb0\xe4\xfbz]m\x9c\xeb\ -\xff\xbf\x8bG\x97E\xce\xaaK\x06\xfb1ti\rak\xe3\xfd\xfa\xfb\x1e\x1e\x12h\x9d1\ -/\xc3\xd6\xac\xa5\xb7k!,\xf3\x91\xd0K\x04\xcc\xb1sK$\x0cD\xabc\xe6u>t\xe3\ -\xa7"\xf0\x94\x06D\x96\x9c?\xc2\xd7\xd7v\xbe\xf3\r\xdb\xe1)\x02G\x82j\xae\ -\x85\x97\xf0\x14\x81i\x02b\\\x9e\xc0Z\x11#\xb1R\xfa\x8ew\xbb\x89\x8fq\xa4\ -\x01\x91^\\\x06\xe7z\x11\xc6\xb8\xda\x99V\xc6\xea\xb9\x87\x87U\xb0W^\xa3S\ -\x91^p-\xe9\xff&\xa0\xba(\xbd}\xc1\xf0M\xb1Kb,\xd9{\xf8\xfd\x1ex;\x81\xbf\ -\x12\x81S\xa3\xdc\xfd\r-\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x02\x00\ +\x00\x00\xfc\x18\xed\xa3\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x01\xf9IDATH\x89\xddV\xd1\x8d\xdb0\x0c\xe5\x1dn\x0ck\x0fk\x10f\x8fc\xe6\ +\x88\xbc\x07=\x88\xb4\x07\xb3\x07\xfbA\x87\x92m\xd9\xe7\xa2\x08\x8a\xf6!\x08\ +,S\xe2#\xf9(\xc9\x1f\xaa\n\xef\xc4\xe7[\xbd\x03\xc0\x17\x00\x94RRJ\x00\x90R\ +\x1a\x86\x01\x00\xee\xf7\xbb\x88\x10\xd18\x8e\xd34\xe5\x9c\xdb51FD\xb4\x99\ +\x86v\x0e""b\x9d\xad\xaa\xaa\x1ac\x04\x00"RU#s\xd3j\xf6\x0b\x88\xa8/\x84\x10\ +6V\xf3cX\xbc\x18\x7f\x08!\xe7l\x0br\xce-\x013\xdbPDZz\x8b\x06\x11m\xbe\xe7\ +\xe1\xcb\xc1\xa9,\t\xfbo\x03\xdc\x10xS\x1cY\xed\x8d{\xa8\x04\x1eZ\xcb\xef\ +\x0b\x88\x88\x99\x99\xd9\x87\xaa\xca\xcc-Y\x17+\x9bW\xb3}\xd9\xd5@D.\x12\xd4\ +6-\xa5x\x12\xf3<\xefu\xb3\x0c\xac\x86\xd34\xedY\xfb\xf0\xfax\xf5M\xed#\r,j/\ +\xb1YSJ>\x7f\xa3\xe2\xa7\x87\x9csFDf\x0e!\x88\xc8\xedv\xbb\x12\x9f\x11\xcc\ +\xf3\\J\xb12X#y\xf5@U7\xad\xe9\xadf\x85\xeef\x10c\xf4\x90\x89h\xc3\xda6\xd5\ +\x97\xf9\x1d_\x00\x80q\x1c\x89HD,\'K\xd9\xf5\xb7m\xdc\xba{<\x1e\xc30\x1c\xed\ +\xe4\x0f\xfd\x1f\x0e\xbb?\xc7\xf3\tV\xa1\xce\x9e9\xd9#\xd7\xc1\xac\x00\xdau\ +\xf6\xf6\x12\xfdU\r\xe6\x19J\x01;>b\x84\x18a\x1c\x17\xd3\xf3\t\xd3\xb4\x98B\ +\xa8\xef;8*k\xceKY\xfd\xd7\x1c\x1fJ\xb42\xc5x\xa8\xc1!\x81\xafd\xae\x1a\xda\ +\x01\xe3C"e^\x91]%0\x17!\xa8\xdf\x0b\x88\x8b\x0b\xe6\xe5\xb99,\xce28\xd3@\ +\x04b<\xb4~\x7f\xaf\x9e\xd7\xdf\x05\x15g\x04]\xf5v7\xfc\x0f8#\x18\x06H\t\xec\ +\xeb\xc4\xda\xa9\xa5,\xa5\xee\xdbR\x8e\xbdt5\x10\xa92\x1aB\xa8"\xa7\xb4XM\ +\xa1\xb6\xdf\xae\x8a\xac\xbbFl\xd7\x8bTU=\x8e\xdf&PU\xe6\xea\xa8\xb9B\xb6\ +\x1cm\x1f\xef\xf1\xef\xdf\x07o\'\xf8\x05\x02\xba\x08\xf5X\n-\xd8\x00\x00\x00\ +\x00IEND\xaeB`\x82' def getIconBitmap(): return BitmapFromImage(getIconImage()) @@ -130,16 +128,82 @@ def getIconIcon(): icon.CopyFromBitmap(getIconBitmap()) return icon +#---------------------------------------------------------------------- +def getLocateData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ +\x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x01\x84IDATH\x89\xb5U\xc1\x8d\x830\x10\\\'W\x07\xc2=\xe4\x83RG>i\xc2\xba\\\ +\x1d\x10\xdc\x04\x9f+$\x1fz\x00\xd1\x88\xef\x01k\xc6\xeb\x05r\xd2\xddJH\x04\ +\xdb3\xbb\xb3\xb3\x8e1\xa73\xfdg|\x1cm(\xab"\xec\xad\x8f\xaf\xc9\xec\xad\x9b\ +\xad\n\x12`\xbbqz8&:\xed\x82\xdb\x15\xdc]\xdc\x0c8,\xefb}\xab\xd2\x8c \x01_\ +\x80# \xc4\xd8M&!\xda Iz\xa0\x81\x13\x11}>\xbe\x8c\x06\x10\xbf\xdf\x8b@v\xae\ +\xae\xac\x8a\x80r%=(\xabe\xa3\x00/\xefz\xf9c\xb7\x02\xc5=\x03\x91\xbb\xb9H\ +\x1e%\xc2\xec$x\x94\x03z\xe0.\x8e\x90\x18\xc9\xfc\xb7\x8fI\xa4=\x00\xb7 \xf8\ +\xb3\xa9\x03g\x84\xebc7\xe5\xd5-\x18\xcf\xa6\x0e9\x01d\xcf\x81\xe0\xe3k2\xee\ +\x967\x9c\xc1\xb0\n\x8e\xd8\x83\xa8?x\x1b\x7fK\x9f\'\x86P\xcep\x1f\xd49\xd0\ +\x82\xb3\xfcmdW\x05J\xe0{O\x9a$DsE\xcf\xa6\x0er\x8f\xef}\xb2/#\xf0\xbd\x8fZr\ +\x03\xe5\x1c\xb0\\h\xe1-;\xa7\x12-Zb\xd3dF\xb8\xce.\xd3086\x07M\x1d"\x11ha9h\ +\\U~]\x0fDd\xd3\xec\x18\x88\x07(j~\xa1\x0c\x9c#\x9bd"\xb0\xe2\x90g\xae\r\x9a\ +\x06.M\x91\xd9T#\xd1$J\xbe\x0bpL\xe6\xcf\xfep4\xf0]\x02\xa2\xd9-xqi\x81\x92H\ +\xf0C\x02$"ZoI\xa9\xb3\x06\xbc2\x9c\xceo?\xf6j\x83\xbd\xda\xd0\xb6mx\xf7\xcc\ +\x0f\x93Y\xfb-\xb8Y\x01\xd4\x00\x00\x00\x00IEND\xaeB`\x82' + +def getLocateBitmap(): + return BitmapFromImage(getLocateImage()) + +def getLocateImage(): + stream = cStringIO.StringIO(getLocateData()) + return ImageFromStream(stream) + +def getLocateIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getLocateBitmap()) + return icon + +#---------------------------------------------------------------------- +def getLocateArmedData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ +\x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x01zIDATH\x89\xb5U\xc1\x8d\xc2@\x0c\x9c\xe5\xeeO\x07\x14@\x03@!H\x14\xc0?\n\ +\xd4\x91D\xfb\xa7\x00$\n\x01\x1a\xa0\x00:\xa0\x82\xe5\x81\x86L\xbc\xde \xa4\ +\xbby\xc6\xce\x8c=\xb6\x93\x10&?\xf8O\xfc~J\xd8\xccgi,~\xbc\xdd\xc3X<\x94:P\ +\xe2j\xea\xbf\x1c\x1f\x9f\x85&c\xe4\xd5\xb4\'\xbf\xac+\xc4\xc7\x8b\xf4\xb2\ +\xae`\xe3\xa5N3\x01%\'1\t\x15\xab\xf3=\xa8PId \xe0\x91\x03@\xbd\xdb\x87z\xb7\ +\xcf,\xa8w\xfb\xb0:\xbf\xac)\x89\x0cf\xb0\x99\xcf\x92G~^\xf9\xed\x93\x1c\x00\ +\x98\x13\x1f\xc0b[\x81\x05\xbd;PeKN;t\x06\x97u\x05\x15V\xb1\xeb!\xfa\x16\xe9\ +\xb6(y\xd76\xc9ZD{lw\xe4\xe8\xda&e\x02Z=\xa1\xe4\xc7\xdb=,\xb6\xf9\xc0I\xa6]\ +\x10\xd9\xa1\xb1=Zv=Dl\xe6\xb3\xc4=\xa7\x98Z\xca\x9cL\xd9\xeb\xa0\x04V\xf9-\ +\xb2\x0e\x06\x16\x9c"\xe1\t\xf2\xe2\x0b\rG\xef\x97\xb3\x00\x00\x00\x00IEND\xaeB`\x82' + +def getLocateArmedBitmap(): + return BitmapFromImage(getLocateArmedImage()) + +def getLocateArmedImage(): + stream = cStringIO.StringIO(getLocateArmedData()) + return ImageFromStream(stream) + +def getLocateArmedIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getLocateArmedBitmap()) + return icon + #---------------------------------------------------------------------- def getNewData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00uIDATx\x9c\xed\xd5\xc1\n\xc0 \x08\x06\xe0_\xeb\xe0\xcbo{]\x0f\x95;\xb5S\ +\x00uIDATH\x89\xed\xd5\xc1\n\xc0 \x08\x06\xe0_\xeb\xe0\xcbo{]\x0f\x95;\xb5S\ \xabX\xc4\x18K\xe8\x92\xd0G\xa2E\xc4\x0e3\x83\xa7\x9e\xbe\x80\x9e\xf0\xb5\ \xa4\xa5h\xb5<\xb1\xa3!\x00\x004hq_\xbc\xc0R\xb4\x162T"\r\xda\xbc\xe5\x10 ^\ \x00\xd4K\xf9\x18\xd0\xa0\xd7\x02\x80c\xdf\x8a\xc8\xf7\xdbt\x01?\x00\x9aOE\ -\x1e\xa6)\x00\xb1\xa3\xbb\x01\xea\rZ_\xe6\xeb\xc0\tP=$d\x0e\x7f\xfbW\x00\x00\ +\x1e\xa6)\x00\xb1\xa3\xbb\x01\xea\rZ_\xe6\xeb\xc0\tP=$d\xfd\x92a\x0c\x00\x00\ \x00\x00IEND\xaeB`\x82' def getNewBitmap(): @@ -159,7 +223,7 @@ def getOpenData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xccIDATx\x9c\xed\x95A\x0e\x820\x10E_\x8b\x8b\x1e\xcc\x85\xd7Q\xcf\xa1r\ +\x00\xccIDATH\x89\xed\x95A\x0e\x820\x10E_\x8b\x8b\x1e\xcc\x85\xd7Q\xcf\xa1r\ \x1c\x16\x1e\xac\x0bJ]\x90\x12(t\x06\t,L\xfc\t\x81\x90\xf2^g\xa6\t\xc6\xd8\ \x8a#c\x0f\xa5\xff\x05kr\xda\xfaa\xecBL\xcf\xc6V\xa6\xb4nS\x05\xb1\x0b\xd1\ \xd8\xca\xa4+\xc9\xc6\xd2A\xbe\xd71M\xf0\xbc\x9ab\x8b\xd6\xb6 _\x9bg\xb1\x82\ @@ -167,7 +231,7 @@ def getOpenData(): \xf5|\x14w\xaf\x08\xdcD\xb2|\xd7#\xb4h\n\x93\xda4\x01\xae\x1dr\x0eo\xde:\xfc\ r\xee[v\xbd\xdd\x07\x892\x03\xbe\x82\xd7u={/V\xb0\x05>\xde=\x08\x15\xec\x01\ \x07a\xc8:\xba\x8f\x04/\n@?\xdf\xe3\x94\xe0\xa2`\xaf\xfc\xfe\x0f\xe7p\xc1\ -\x07\x0c,c\x92\xc7/.\x8c\x00\x00\x00\x00IEND\xaeB`\x82' +\x07\x0c,c\x92!#\x88\xcc\x00\x00\x00\x00IEND\xaeB`\x82' def getOpenBitmap(): return BitmapFromImage(getOpenImage()) @@ -186,7 +250,7 @@ def getPasteData(): return \ "\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xddIDATx\x9c\xed\x95\xbb\x0e\xc3 \x0cE\xaf\t\x03\x9f\x9b\xb6KG\x8fY\xda\ +\x00\xddIDATH\x89\xed\x95\xbb\x0e\xc3 \x0cE\xaf\t\x03\x9f\x9b\xb6KG\x8fY\xda\ \xfejG\x06\x12:T\xa4\x04L\x83\x920T\xaa\xa5(\x18\xc1=\xc6\xe6A\xa4:\xb44\xd5\ T\xfd\x0f\xa81];\xd0O\xa3\x8f}R\x1d\xd5\xcc\xa3\xd2.J\x05\x01\xc0\xba\xf7\ \xdf\x08a\x95\x80\xe2\n\xfc4zf\x9e}f\x86u\x1f\xe1\xd0N\xc6x\t\xb2Z\x83 \x1e\ @@ -194,7 +258,7 @@ T\xfd\x0f\xa81];\xd0O\xa3\x8f}R\x1d\xd5\xcc\xa3\xd2.J\x05\x01\xc0\xba\xf7\ 1\x00\x00\xac\xbbf}F\x0f\x00d\xfa\x8e\xec\xe6`\xa3\x07P\xb2m6\x9dd\xa3\x87\ \xf9\x8b\xfb\x80|'mZA\x9a\xa6\xe0\xc7\xc0]\x00IH\xaaM\x11@\xaa#f\xce\x0eM(dI\ \xac\x1a\x10 i>\xfb\xfe)F\xbf\t\x00\x00\xa7\xf3eq\xb7\x90\x92\xaf\x83oV\xbcM\ -\x8f\xb2\xdf\x7f\xd1^\xd8\x83K\xcb \xf2\xd0I\x00\x00\x00\x00IEND\xaeB`\x82" +\x8f\xb2\xdf\x7f\xd1^\xd8\x83K\xcb\xd7~\xc8I\x00\x00\x00\x00IEND\xaeB`\x82" def getPasteBitmap(): return BitmapFromImage(getPasteImage()) @@ -213,14 +277,14 @@ def getRedoData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x17\x00\x00\x00\x16\x08\x06\ \x00\x00\x00+v\x07\x05\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xb7IDATx\x9c\xed\x941\x0e\xc20\x0cE_\xd2\x0eA\xeaE\x18;2Fbb\xac\xd4\x03\ +\x00\xb7IDAT8\x8d\xed\x941\x0e\xc20\x0cE_\xd2\x0eA\xeaE\x18;2Fbb\xac\xd4\x03\ 00p"\x06\x8e\x80\xd4+\xf4\x08\\\x86\x81%5C\x15\x86R\xd2\xb4"b\xe9\x97\xbc\ \xfc\xc8\xcf\x8e\x15G)\x9d\x91J:\x19y\x85\xff\x1c.\x9d\x93d\xf0\x98\x02\xb3\ \xe0\xd29\xf1q8\xee\xa8\xce6X@\xc5\xbcs\x0f\xb0u\xc9\xa60\x98\xdc\x00`\nx>\ \xa0\xb9\xb6(\x9d\xa9\xd9p\xe9\x9c\xd8\xba\x04\xa0\xbd\xdd\xdf~u\xb2\x90Cs\ \x19\x07\xf7t\x9d\x05\x03\x90r\xbf\x15@\x86\xfe\xd0\xfb\xc8]\x02\xf6gS\x8d\ \x05\xc7\xe2g\xfd\xf5\xda\x13\xfa\xdf\x12-\xed8\n\xee\x0b\xc4l\xe3h\xee\xfa\ -\x9f\xaf\xf0h\xbd\x00xo@\x10\x00\xf9\x03\xbf\x00\x00\x00\x00IEND\xaeB`\x82' +\x9f\xaf\xf0h\xbd\x00xo@\x10\x94\x18\xa9\r\x00\x00\x00\x00IEND\xaeB`\x82' def getRedoBitmap(): return BitmapFromImage(getRedoImage()) @@ -239,14 +303,14 @@ def getRefreshData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xcaIDATx\x9c\xc5\x94\xc1\x0e\x83 \x10Dw\xa1\x17\xff\xd4#m\xbf\xa3\xed\ +\x00\xcaIDATH\x89\xc5\x94\xc1\x0e\x83 \x10Dw\xa1\x17\xff\xd4#m\xbf\xa3\xed\ \x1e\xf9SOjO$Hve\x90\x10\xe7\xa6\xd1y0,\xc3\xec<\x8d\x94\x1b\xeaND\x0f\xf4\ \xc3e[\xf7\xf2\xdd\xe4<\xd7\xfe\x83v\x90\x9bG\x91S(\x0cH?k\xe6\xf9\xcak\x90\ \xd3\x1dh\xe6\xcf\xd7\x9bK\xc8\xef\xfb1!\xf0\x19\xcc!@\x99\x97bkL\xad\xad[\ \xf1XpxL\xa3\x08E\x91C\x1cHL\xd5\x88\xf2\xa9I\xf9\xb7\xc8\x04L\xcesZ\xd5\x15\ \xe3*\xa0\xd78ixU\xdc\x0bX\xb6u?\xbb\xa9]U\xd1b\x94OZ\x13\x00\xad\x03"{ \xe0\ 3\x98C8<#\xf1@\x00\xad\x1a\xac\xfa\xd6dvQ)m\xc5e\xc3v\x01\x88\xf4s\xa8]\xc6&\ -\xc0\x15\r\xbfh\x7f\xefOoHY\xd1\x18*\x00\x00\x00\x00IEND\xaeB`\x82' +\xc0\x15\r\xbfh\x7f\xefOoH\x13\xe7\xb6\xfc\x00\x00\x00\x00IEND\xaeB`\x82' def getRefreshBitmap(): return BitmapFromImage(getRefreshImage()) @@ -265,12 +329,12 @@ def getSaveData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\x8bIDATx\x9c\xed\x95\xd1\n\x80 \x0cE\xb7\xe9C\x9f\xed\x0fT~\xae\x0f\x95\ +\x00\x8bIDATH\x89\xed\x95\xd1\n\x80 \x0cE\xb7\xe9C\x9f\xed\x0fT~\xae\x0f\x95\ =\x84 6W\x86\x12F\x17\x860\xe4\x1e\xa7S\x11IAKQS\xf7O\x004\x97\xf4\xdb\xea\ \x9f\x98!)Ls\xd9\n\x8c9F\xb781\xe2\xb9\xf34\x9e\x16Ve\x8b\x02\x80S\x1f\x00I\ \xfd\x03\xd86\r2\x06`\xd0\x83h \xed\xff%\xe0\x8e\xc1\x95\xaa\x00\x9atQ|\xd1$\ \xf5\xdfE\x80\xa4\xd8\x00\x00_\x1a\xd6Z\x9f\xfad\x0f\x19I!\xf7x\x15\x17\xf0\ -\x7f\x99\xaf\x03v~a?\xc4E\xc5\x7ff\x00\x00\x00\x00IEND\xaeB`\x82' +\x7f\x99\xaf\x03v~a?\xc4\xad\x0bS\xb7\x00\x00\x00\x00IEND\xaeB`\x82' def getSaveBitmap(): return BitmapFromImage(getSaveImage()) @@ -289,7 +353,7 @@ def getTestData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x17\x08\x06\ \x00\x00\x00\x11!\x8f-\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x01\x1eIDATx\x9c\xb5UK\x92\xc2 \x10}\r.r\x19G\x16.\xa5\x97\xe5\x7f&\ -\xf5\xbfb\x0f\x9a\x10\x02\xa1\x14\x90$8u!\xf4Q\xaaO\xcf\xf3P\xa7\x01\xa5\x8a\ -\x83]\xaf\xc6&\x18\t\xe8:]v\xf7v8n\xd9dn\xb4(o-\xe0\xfb>\xeeI\x8f\xe2+\x1b\ -\x99\xb2\xb0\xeb\xcd\xd8\xd9\xc3\x98\x12U\xf6\xf612\x16\x85\xad\xd7\xb8\xa7\ -\xf3<\xd9n\xf2\xb5\xa18\xf8lS\xfbV\x1bk\x1e\x9b\x00`\xe5\xee\x12G_j\xb4\x8f\ -\xdbl\xbe(2{s\x96\xc2\xf3\x02R\xca\x89\xaf\xf8\x91\t\x16\xb3\x8b<\xde\xc8\ -\xb3|\'K\xabac\x9a&\xd5\x8fUz^\xefB\xef\xc7H\x80\xe7y\x94\xb6\x8b\xac\xaf\ -\xe7\x99\xbb\x9d\xc5\xf9\xe1\xa0\xeb\xfa\xc4\xc6\x91F\x96\xa8\xd3\xed0c\xcd\ -\xe0\xfez\x84\x916\x98\x9f\xcbR\xae\x94\xaf\x0e\x10I)\x85\xf3\xd3\xe1\xc3\ -\xfe\xa7\x0b\x9b\x8f\x05t\xba\x9dK\x99\x9e\x0b\x88\xde\xd0\xabV\x02\x98\xda\ -\xb7\x05\xe0/\xdf\xe4\xdc!\xf6\x85\xad\xfd\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x18\x08\x02\ +\x00\x00\x00o\x15\xaa\xaf\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x01\xfdIDAT8\x8d\xcd\xd4;l\xd3P\x14\x06\xe0?\xc8\xc3\x8d\xc4\xe0+e\x88\ +\xc7\x0c\x0cv\'\xba%\x82\xa1\xeeD\xcaB\xbb\x11\x89\x05\xba\x14\xe8\x922@\xd2\ +-\xaa\xc4#\x0b\xa4\xa9\x84pY(\x03U\xc7\xc0f\x0f\x91\x9c\x01)\x1dPl\x06$/\x95\ +\xec\x01\xc9\x96\x88\xe43X\n\x83\xb7\xe8\xda\xa4\x84\x813\xde\xc7\xa7\xff\ +\xd8W\xa70\x9b\xcd\xb0t\x15\n\x05\t\x80\xe3:\xcb[W\x96\',\xcb\xfa7PZR\xce\ +\x9e\xa6js+9\x1fA\x9cHS\xb5T\x89\x7f\xc5\xe3\xaf\xe30\x0c\xb3\xe8<(=m\x0f\ +\xed\xbd\xdd\xfb\xf4\xf3P-\x8f\x10\x18\x83\xd3v\xe3\xdeF\x8e%Nd\x0fm\xa5\xcc\ +Z\x8fU^\xaa\x15\xe55^\xe2\xfa\r\xe5\xd5\x93j\xe3n#\xcb\x9a\x87\xd2C\xdd7\xdd\ +\xb2d\xf2\x92\x0e\xa9\x02\x89\xe3j\xbd(1Y\xe6\xadme\xeb\xce\xd6%\x125\xb7\ +\xeb`\x1cL\x01\x80\x84\x90P\x9c\xb0\xa2\x04^b2g\xc2Pb\x88\x88\x90\x10\x00\ +\x80A\x92c\n\x01\xc4`\x90\x98"\xd3B\x89\xd2\x1f\xdcy}\x86$\x06\x08I\x04\xf2\ +\x90\xf8i.\x8a\xa2\x93S\xf3\x12\xad\x19o\rJ\x80$\x86\xc4b\xf2\x80\x08\t\x05\ +\x81\xef]\x84\x9d\xe7=\x88\x1e\x94\xf8A2\xc6\x18\x11P\x8c\xa7\x1e\x92\x88(\ +\xf4\x83\x80\xa6q\xa7\xef\x9a\x96!\xbc"\x80\x1c\xd79<\xea\x9e\x8f\xcc\xca\ +\xb5Qo\x7f-\x8a"\xef\xc2o\xbf0yI3-[\x18\'\xb3\xb5\xfe\xd1\xb1R\xd1Z\xfb/\xbd\ +i\xed\xd1\x81\xfdyH\'\x1f\xcd\xc1\x97A\x96\x92\xd9\xda\xe6\xed\xfa\xd9\xa7\ +\xc1\xf8|\xbc\xf7\xac\xbdz}\xb5\xf5\xb4\xc59\xcf\x9f6\x82D\xeb\xfa\xfa\xc3\ +\xdd\xe6\xc6-}44UU5\xde\x1b~\xe0\xffqf\t\xa0 \x08:\x07\xed\x9d\x9df\xf5\xa6\ +\xee~seY\xce\'\xd2\x12\xb46q&+\xda\x8a\xf7\xe3\x81RVjU\xbd\xd7\xef\xfd%\x94\ +\x16\x11\xb9\xdf\xddw\xc7\x1f\x16Q2\xa1\x893Y\xf0\xfe<\x94\xce\xdd\xff\xa2~\ +\x03\xea\xc1\xda"\xef\x96\x12\xae\x00\x00\x00\x00IEND\xaeB`\x82' def getToolBitmapButtonBitmap(): return BitmapFromImage(getToolBitmapButtonImage()) @@ -360,10 +422,10 @@ def getToolBoxSizerData(): return \ "\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00CIDATx\x9ccddbf\xa0\x040Q\xa4\x9b\x1a\x06\xb00000\xc4'\xc5\xfe'\xdb\ +\x00\x00CIDAT8\x8dcddbf\xa0\x040Q\xa4\x9b\x1a\x06\xb00000\xc4'\xc5\xfe'\xdb\ \x04F&f\x86\x84\x94\x84\xff\x8cL\xcc\x0c\xd80!\xb9\x81\x0f\x83Q\x03\xa8`\x00\ -##\x133E\t\x89q\xe8g&\x00\xf6\x1a\x0b!\xd5\xcf\xe1\x80\x00\x00\x00\x00IEND\ -\xaeB`\x82" +##\x133E\t\x89q\xe8g&\x00\xf6\x1a\x0b!P\x84!\x1e\x00\x00\x00\x00IEND\xaeB`\ +\x82" def getToolBoxSizerBitmap(): return BitmapFromImage(getToolBoxSizerImage()) @@ -380,14 +442,14 @@ def getToolBoxSizerIcon(): #---------------------------------------------------------------------- def getToolButtonData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x0c$\xbf\x95\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00}IDATx\x9c\xc5\x94A\n\xc0 \x0c\x04\'\xc5\xd7\xd4\xff\x9f}E\xd2\xe7\ -\xd8\x93\x85J\x8d\x85\x1a\xba\xe0\xc1\x04wH\x0c\x91Zk%H"B\x02\xb0\xc3\xa2\ -\x18lQ\xc6\xa5\x94X@\x93\x0b\xc8{\xbe\x9d>\xe7\xdd\x9b\x92g\xae\xa6\xd3\x98\ -\x17\x87\x05-\xf2\xcc?\x03FmY\x06PS\xd4\xd4\x05\xfd;Eo\xe5U1\x9c\xa2\xa7G\ -\xdeg\x8e4\x04\xcc\x0c\xfb\\\xd8\x98\xcetU\xd0v\xc7j\t\x10\xb6\xae\x01N\xb1\ -\xaa1$iq\xe9\x8d\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x83F(\xc2\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00sIDAT8\x8d\xcd\x93A\n\xc0 \x0c\x04\x93\xe2k\xea\xff\xcfyE\xd2\xe7\xa4\ +\x87@\x11]-\xad\x16:x\xd0E\x87h\x90\xdd\x9d\xa6a\xe6DDv\xd8\xbck\x9bW\x88\ +\xc8\x1aQ\x80Ey\xcf\xd7(C8\x0f\x12\xb4\xa8io\t\x93nE\x03\xa0\xe5\xb1\xa8\xbd\ +\xd1K\x91\x9a\xaa)\xd4}\xdc\xb51\xb0(\xd0\xb5j\x1f|\xda\x16 \xea\x1d.\xc3\ +\x05\xed\xbf\xa9(\xfe\xcb/8\x01\xca5/%3\x97\xcaf\x00\x00\x00\x00IEND\xaeB`\ +\x82' def getToolButtonBitmap(): return BitmapFromImage(getToolButtonImage()) @@ -404,11 +466,11 @@ def getToolButtonIcon(): #---------------------------------------------------------------------- def getToolCheckBoxData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\n\x00\x00\x00\n\x08\x06\x00\ -\x00\x00\x8d2\xcf\xbd\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00h\xf3;n\x00\x00\x00\x00IEND\ -\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x18\x08\x02\ +\x00\x00\x00o\x15\xaa\xaf\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x00\xb0IDAT8\x8d\xcd\x94A\x12\x80 \x08E\xa5\xf1\xfe+;Zv\x1cZ\xd80\x04_\ +\xd2\xc6E\x7f\xa5\xa8\x8f/\x91T\xf6\x92\x96h\t\x88\x99\xb3\x8c>S\xeaYSJ\x9b\ +\x0e\x11\x11\x11\x99}>\xe8\xf7X\x10\xb46h\xd6\x82LBh\x90\x99}\x1c\x80d_;3b\ +\x07\x83\x84\xe5)\x12\xf4\xa62\x04\x89\x7f\xc8\x82G\x00\xc8\xa4\x15\x96\xe7\ +\xea\x08\xae\x11\x1c\xc7\xb2 \xf8\x99zP\x1d\xc9\xbd\x85YS\x0fPK\xae\x8b\xe2\ +\xa7=z\xd4\xd9\xf0.MC\r\xf9M\xb8\x8fz\n\n?\x07\nzj\xd9\xd5\xfe_#\xf3s\xe9\ +\xa5\xb83oP{w\x8fz\xc8\xd8Oc\xe5\xd7T\x83\xba\x00\xb8d\x87\xb5\x0f#\xbe\xe1\ +\x00\x00\x00\x00IEND\xaeB`\x82' def getToolCheckListBitmap(): return BitmapFromImage(getToolCheckListImage()) @@ -452,15 +513,14 @@ def getToolCheckListIcon(): #---------------------------------------------------------------------- def getToolChoiceData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x0c$\xbf\x95\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00\x88IDATx\x9c\xbd\x94K\n\xc0 \x0cDg\x8a\x97\xa9\xde\x7f\xed)\xb4\xc7\ -\xb1+\x8b\xbfX\x85\xa6o#\x84\x90\xc9W\xa6\x94\x12\x94 \t\x03\x00\xf1\x8aZ\ -\x1a8\xb4\x02{\xef\xe7\x02\xce\xbaO\x84\xd4*\xc8\x98\x91\xd1Y\x87\x10\xc3\ -\xf3\x96\xd8\xd3\x8a\xc1Hv\xfeC\x817v\x96\xa2kQ\x99u\xaeb\x85<\xd4\x16\xb1E_\ -Q\t\x8cz.\xd9\xa5\x8c\xa7\x02+\x90\xdc\xf2\xaf\x04F\xd9\xb7v\xc9GB\xfd\x0e\ -\xfe;\xb4\xd5\xa1\xedB\x00j\xdf5\x00\xdc\x9c\x980\xaa\x91\x97e\xe1\x00\x00\ -\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x83F(\xc2\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00\x7fIDAT8\x8d\xbd\x92K\x0e\xc0 \x08D\x9d\xc6\xcb\x14\xee\xbf\xf6\x14\xda\ +\xe3\xd8\x05\x89\xb1\xa0\xf6\xa3\xe9,L\x04\x99<\x10\xe4\x9c\xdd\xb4\x00x\xe7\ +\\:\xd2\xbc\xd76o\x11Bh\x1b1\xf1\x07\xbb\x05D"\xaf\xeeL\x1cS\x94\xb3\x04i\'[\ +\t\xa0~\xa3\x8dz\xba\xfd\x90Kk\x05D\xa0\x06e2\xe0Z\x8d\xd6\x1e2v\x8d\xd4\\l\ +\xc4R\x8c\x88\x9a\x02\xf0\x82H\xe1\xd4\x11\x9b\xb2Z\xb6G\xab\x17r<\xc8_u\x02\ +\xbeu.\xab\xa5\xf7\xcf\xc1\x00\x00\x00\x00IEND\xaeB`\x82' def getToolChoiceBitmap(): return BitmapFromImage(getToolChoiceImage()) @@ -477,16 +537,16 @@ def getToolChoiceIcon(): #---------------------------------------------------------------------- def getToolComboBoxData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x0c$\xbf\x95\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00\xbdIDATx\x9c\xb5\x94]\x0e\x83 \x10\x84g\x1a.#W\xd1\xf6"\xf5:\xf6 \ -\x8d\xef\x9cB<\x0e}h *,\x82\xa5_bLp3\xb3?\xac\x9c\xdf\xb3C\x01\xfd\xbd/\t\ -\xdbA\x12\n\x00\x86\xc7\x90\rt\xee\x9b\x83]m\xb5\x89:\x8a\xb4\xc2\x18\x03\ -\x00\xb85UM\x904 \xd9\xcc@\x9d\x87\xec\xd1\x9d\x16\xbfM\xaf\t\xe3s\xc4b\x17\ -\xd9\x80$\x9cs\xe1}\xc4\xae\x16\xba\xd3\xd1\xc0\x8d1\x918pq\x06\xdedKJ<2\xd8\ -f\xed\xab(\xc1\xdf\x98\x14Q\x05$\xc3\x93\xc3W!\xb5\xc6\x13f \xf5\\:\xf7&9\ -\xf1d\x05\xb5\xe4\xc4w\x06R\x96\xbfn\xf8\xdf7\xb9z\xd1r7F4(i\xc3\xd5\xdf\xc7\ -\x07K\xfeYY\x03\x01\n\xa0\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x83F(\xc2\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00\xb0IDAT8\x8d\xad\x93\xc1\r\xc3 \x0cE\xbf+\x96\t\xab$\xed"\xcd:\xe9 U\ +\xee\x9e"d\x1c\xf7\x80J\x89q\x91\x1b\xf5\x1f\x900\xf0\xf8\xd8\x86\xd6\xe7\ +\x8a\xef\x1a\xafcg\xb5\x88\x88\x02\x80\xe96\x99\xcb"\x02 \xed\xc9\xc3\n\xf5\ +\x99sbf\x00\x97\xd3\xe7\x954\x88\x88\xce\x81\x82gS\x1cb\x1b\\\x1e\xcb|\x9f\ +\xb7\xb4\x19 "\x12\x91<\xd6\xf1\xb4\xa78\xc4:\xeb\xcc\\S\xe0\xcfQf\x95\xa9\ +\xa2\x1c@\xc5H6\xd5\x81\xe62)\x1d\x1c\xd1[\x1dS\xed\xa3\xb2\x82\xb2\xd3\x1aT\ +,\x93\xa2\x1dydR>\xa0\xf6\xf2_{\xfdo\x9d\xedjH\xb3L\x06\xa8\xf3\n\xff\x8fy\ +\x01H\x13XZA\xc5\xd2\xce\x00\x00\x00\x00IEND\xaeB`\x82' def getToolComboBoxBitmap(): return BitmapFromImage(getToolComboBoxImage()) @@ -505,11 +565,11 @@ def getToolDefaultData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ \x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\\IDATx\x9c\xc5\x92Q\n\xc00\x08C\x13\xdb\x8f\xde\xffD\x1e\xc3\x8b\x8c\ +\x00\\IDAT(\x91\xc5\x92Q\n\xc00\x08C\x13\xdb\x8f\xde\xffD\x1e\xc3\x8b\x8c\ \xc1`\xeb\xfek\x1d\x0c\x0b\xcdg\xd0\x07&\x92R\x90\x91\xa4\xb6W\x00\xeah\x9c\ \xd7\xd1\xa3\xe1V\x1b(\x85\x9f\x00\x0003\xe7\xa9\xea\x14\xba?\x83\xf5!\x02\ -\xf1\xbd3q|\xa4\xfe\xdca\x0b\x00\\\x0b\x0e\xf0W\xfbCL\x03^\xd7\x11\x0f:g|b\ -\x05\x00\x00\x00\x00IEND\xaeB`\x82' +\xf1\xbd3q|\xa4\xfe\xdca\x0b\x00\\\x0b\x0e\xf0W\xfbCL\x03^\xd7\x11\x0f:\xa3\ +\xa1\x04w\x00\x00\x00\x00IEND\xaeB`\x82' def getToolDefaultBitmap(): return BitmapFromImage(getToolDefaultImage()) @@ -526,12 +586,12 @@ def getToolDefaultIcon(): #---------------------------------------------------------------------- def getToolDialogData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00IIDATx\x9ccd``\xf8\xcf@\x01`\x81P?\xc8\xd4\xce\xc1\xc0D\x89\xed\x0c\ -\x0c\x0c\x94\x1b\xc0\xc8@\x8d0\xb8p\xe5\x02Y\x9a\rt\x0c\x06A\x18\x8c$\x03\ -\x0e\x1c8@\x1b\x17\xb0\x90b\x1b\xd1\x06888\x10m\x00\xc5I\x19\x00\xe6)\x0cc\ -\xbf\x9c\xcc\xa1\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x90\x91h6\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00CIDAT(\x91c` \x11020000\xfc Z=\x07\x13\xa96\x90\xac\x81d\xc0\xc8\xc0\xc0\ +p\xe1\xca\x05"U\x1b\xe8\x18\xd0\xde\x0fCO\xc3\x81\x03\x07(\xb5\x81\x85\xa0\ +\x91\x044888\x90j\'\x01\x00\x00l\xe2\t]3\x1c\x89\xf6\x00\x00\x00\x00IEND\xae\ +B`\x82' def getToolDialogBitmap(): return BitmapFromImage(getToolDialogImage()) @@ -548,12 +608,12 @@ def getToolDialogIcon(): #---------------------------------------------------------------------- def getToolFlexGridSizerData(): return \ -"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00?IDATx\x9ccddbf\x88O\x8a\xfd\xcf@.`dbfHHI\xf8\xcf\xc8\xc4\xcc\x80\ +\x00\x00?IDAT8\x8dcddbf\x88O\x8a\xfd\xcf@.`dbfHHI\xf8\xcf\xc8\xc4\xcc\x80\ \x8c\xb1\x89aS\xc3D\xb6\xcdP0\xf0\x060\x8e\x06\xe2\xa8\x01\xd40\x80\xe2\x84\ -\xc4\xc8\xc8\xc4L\x91\x0b\x00\xb7J\x13\xf6R\x88'\x0b\x00\x00\x00\x00IEND\xae\ -B`\x82" +\xc4\xc8\xc8\xc4L\x91\x0b\x00\xb7J\x13\xf6st\x19\xa8\x00\x00\x00\x00IEND\xae\ +B`\x82' def getToolFlexGridSizerBitmap(): return BitmapFromImage(getToolFlexGridSizerImage()) @@ -570,11 +630,11 @@ def getToolFlexGridSizerIcon(): #---------------------------------------------------------------------- def getToolFrameData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00:IDATx\x9ccd``\xf8\xcf@\x01`\x81P?\xc8\xd4\xce\xc1\xc0D\x89\xed\x0c\ -\x0c\x0c\x94\x1b\xc0\xc8@\x8d0\xb8p\xe5\x02Y\x9a\rt\x0c\x06A\x18\x8c\x1a0,\ -\x0c\xa08)\x03\x00\x90c\x07\x1f\xb3yvF\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x90\x91h6\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x004IDAT(\x91c` \x11020000\xfc Z=\x07\x13\xa96\x90\xac\x81d\xc0\xc8\xc0\xc0\ +p\xe1\xca\x05"U\x1b\xe8\x18\xd0\xde\x0f\xa3\x1ah\xa2\x81d\x00\x00*K\x04\x19\ +\xfe\xab\xe3r\x00\x00\x00\x00IEND\xaeB`\x82' def getToolFrameBitmap(): return BitmapFromImage(getToolFrameImage()) @@ -591,13 +651,13 @@ def getToolFrameIcon(): #---------------------------------------------------------------------- def getToolGaugeData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x0e\x08\x06\ -\x00\x00\x005\xf8\xdc~\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00cIDATx\x9cc\x9c2u\xca\x7f\x06\x1a\x02\x16\x06\x06\x06\x86\x9c\xec\x1c\ -\x9a\x18\xfe\xff\xff\x7f\x88\x050\x0e.\xc0\xc8\xc8\xc8p\xf5\xdaU\xb2,aA\xe6\ -\xbc\x7f\xfd\x9e,C\xf0\x01&B\n\xb6\xed\xdeF[\x0b(\x05\xa3\x16\x0c\xbc\x05,\ -\xe8\x02\x94\xa6\x1a\x9c\x16022R\xd5`\x0c\x0b\xc8\xcd\xa9DY\x80\xaf\x98\xa0\ -\x14\x00\x00\x89\x95\x19=\n\xdaW\n\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x0e\x08\x02\ +\x00\x00\x00\xba\x9aK)\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00XIDAT(\x91c\x9c2u\n\x03U\x00U\x0c\xfa\xff\xff?\x0b\x9c\x85)\xcd\xc8\xc8x\ +\xf5\xdaU"\xcdb\x81\xb3\xde\xbf~O\x89\xa3\x98pIl\xdb\xbd\x8d:\x06\x91\nF\r"\ +\x0cX\x909\xa4\xc6\x14\x16\x83\x18\x19\x19)r\x0f\xdc \xe2S0>\x83\xfe\xff\xff\ +O\xa1)\x0c\x0c\x0c\x00U\xa6\x18\xb48\xff\xd0\x00\x00\x00\x00\x00IEND\xaeB`\ +\x82' def getToolGaugeBitmap(): return BitmapFromImage(getToolGaugeImage()) @@ -616,10 +676,10 @@ def getToolGridBagSizerData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00SIDATx\x9ccddbf\x88O\x8a\xfd\xcf@&`\x811\x16\xce[\xccH\xaa\xe6\xf8\ +\x00\x00SIDAT8\x8dcddbf\x88O\x8a\xfd\xcf@&`\x811\x16\xce[\xccH\xaa\xe6\xf8\ \xa4\xd8\xffL\xe4\xda\x0c\x03\x03o\x00<\x0c\xc8\x0eHF&f\x86\x84\x94\x84\xff\ \x8cL\xcc\x0c\xc8\x18\x9b\x1865\x03\x1f\x06\xa3\x06P\xc1\x00FJs###\x133E.\ -\x00\x00\x9f\x06\x11@\xf1\x14Nh\x00\x00\x00\x00IEND\xaeB`\x82' +\x00\x00\x9f\x06\x11@\\\xf4\xbaw\x00\x00\x00\x00IEND\xaeB`\x82' def getToolGridBagSizerBitmap(): return BitmapFromImage(getToolGridBagSizerImage()) @@ -638,9 +698,9 @@ def getToolGridSizerData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00=IDATx\x9ccddbf\x88O\x8a\xfd\xcf@.`dbfHHI\xf8\xcf\xc8\xc4\xcc\x80\r\ +\x00\x00=IDAT8\x8dcddbf\x88O\x8a\xfd\xcf@.`dbfHHI\xf8\xcf\xc8\xc4\xcc\x80\r\ \x13\x92c"\xdbf(\x185\x80\x81\x81q4\x1a\x87\x83\x01\x14G###\x133E.\x00\x00\ -\x18\x10\x13\xf6M^\xe8\x9a\x00\x00\x00\x00IEND\xaeB`\x82' +\x18\x10\x13\xf65~\x97=\x00\x00\x00\x00IEND\xaeB`\x82' def getToolGridSizerBitmap(): return BitmapFromImage(getToolGridSizerImage()) @@ -657,15 +717,14 @@ def getToolGridSizerIcon(): #---------------------------------------------------------------------- def getToolListBoxData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x18\x08\x06\ -\x00\x00\x00\xfe\xbe\rK\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00\x8bIDATx\x9c\xe5\x95K\x0e\x80 \x0cD_\r\xb7\xd5\xe3\xe8\xd5\xf48uaH\ -\x88\xa1D\xa0\xb8\xd0\xd9\xf1\xc90y\xa5\xa9\xac\xdb\xaa\x0cP\x00X\xe6\xc5\ -\xd5TU/\xe3\xb8\xf0\xd0~\xec\x00L\xa5K"\xd2\xfc@\xd1\xb8G\xa6\xb1\x88\xa0\ -\xaa\xcd\xa9\xdfM\x1c\xd3\x02\xcd\xa9\x83u\xd0S\xb8\xacq\x9a\xf6\xc9\xbe\xa5\ -\xf7\x18[\xa9j\x1b(\xcb\xf8\xce\xb7\xa5+\xcd\xe2\xa5f\xb5|a \xe3G\xdf\xed\ -\x1f(>\xc2\xd8c\x9a\x8cG\x11g\x95\xab\xb1\xd7 Mu\x02\x9e\xf7?>\xfc\xcf\xc7\ -\x06\x00\x00\x00\x00IEND\xaeB`\x82' +"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x18\x08\x02\ +\x00\x00\x00q\xdc\x9a\x1c\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x00\x7fIDAT8\x8d\xd5\x94A\n\xc0 \x0c\x04w\x8b\xff?\xd9\xaf\xd9\xe7\xa4\ +\x07!\x14\r\x12\xa3\x856'\x89d\xdd\x8c!\xccg\xc6b,J\x88H\xd2S\xa0\xbe\\\x05\ +\xc0a\xde\x91\xf4\x0b\xd9\x12SaH\x90\x14\x11\xbf\x91\x17\\T\x0b\x00\xfcFR\ +\x9f\x9ab\xd9J\xa8\x85A\xa6\x8f\xdd,\xfa\x07=#\xd7\xb2x\x82p\x8e\xac\x81S+= \ +\xb0\x85\xc5\xe8S\x7f\xd5\xc87Y\x04\xd6\xd7\xbeF\xea\x16\x8cK\xc4v\xaf\xc6\r\ +\xf1)>\xb5\x89Y\x88\x02\x00\x00\x00\x00IEND\xaeB`\x82" def getToolListBoxBitmap(): return BitmapFromImage(getToolListBoxImage()) @@ -682,14 +741,14 @@ def getToolListBoxIcon(): #---------------------------------------------------------------------- def getToolListCtrlData(): return \ -"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x18\x08\x06\ -\x00\x00\x00\xfe\xbe\rK\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00{IDATx\x9c\xed\x95Q\n\xc0 \x0cC\xd3\xe1m\xe7q\xdc\xd5\xdcq\xba\x8f\ -\xd11\x86et\xb6\x82\xb0\xfc)\xf2\x88\xa1\xa1T\xb6\xc2\x08P\x02\x80\xbcfW(3\ -\x9f`9x\xa8\xee\x15\x00\xb0\xb8\xd0\x1aJ\xadKR\x1e[\xfe\x14\xe6\xf8\x07\xc7\ -\x83\x9bS\xe11\xd1\xf3E\xf1\n&\xb5.\x1d`\x81~\x81\xab\xe0'\xcc\n\x1f\x9b\xb1\ -\xe6\xce\xe2ztA\xfa+2_A\xae(dW\xb9\x82\xbd\x16\xe9]\x07\x93G\x16EG\xf1\x98K\ -\x00\x00\x00\x00IEND\xaeB`\x82" +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x18\x08\x02\ +\x00\x00\x00q\xdc\x9a\x1c\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x00nIDAT8\x8dc\x9c2u\n\x03\x85\x80B#\xfe\xff\xff\xcf\x02g\x91\xa1\xff\ +\xda\xf5k\x0c\x0c\x0cL\x948\x01\x02X\xd0\xf8\x8c\x18*\x08:\x8f\n\xae\x185\ +\x02\x01\xd0c\x84\x8c\xe418<\x82\xd3\x08F,\xa9\x8c\x14# \xfa\x894\x05\x8b\ +\x11\xc8:\x891\x85\x06a\x81i-A\x87\xd0$i\x91\x9c\xb8\x06G\xd2\x82z\x04R\n\ +\x92o\x04ye/\x1c\x00\x00\x83\x9c\x15\xbc\x94tu\xe9\x00\x00\x00\x00IEND\xaeB`\ +\x82' def getToolListCtrlBitmap(): return BitmapFromImage(getToolListCtrlImage()) @@ -708,11 +767,11 @@ def getToolMenuData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00bIDATx\x9ccddbf\x80\x81\xef\xbf\xbe\xfeg \x02p\xb0p002132000\xb0\xa0\ +\x00\x00bIDAT8\x8dcddbf\x80\x81\xef\xbf\xbe\xfeg \x02p\xb0p002132000\xb0\xa0\ K\xde\xb8q\x03\xaf\xe6\x03\x07\x0e\xa0\xf01\x0c\xc0\xa6\x08\x06\x1c\x1c\x1c0\ \xc4\x98\xf0ZG\x04\xa0\xd8\x00\xac^\xc0\xe6T\x92\x0c\x18\r\x83\xd10\xc0\xe5\ \x7f\\\x80\x119;\xff\xff\xf7\x97\xa8\xec\xcc\xc0\xc0\x00\xcf\xce\x00\x8f\x14\ -\x1a\x83K\xe9G\x81\x00\x00\x00\x00IEND\xaeB`\x82' +\x1a\x83cs\x82P\x00\x00\x00\x00IEND\xaeB`\x82' def getToolMenuBitmap(): return BitmapFromImage(getToolMenuImage()) @@ -731,11 +790,11 @@ def getToolMenuBarData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00aIDATx\x9c\xed\x93\xb1\r\x800\x0c\x04\xcf!E\xc6\xca\x98\x19\xc7cx\ +\x00\x00aIDAT8\x8d\xed\x93\xb1\r\x800\x0c\x04\xcf!E\xc6\xca\x98\x19\xc7cx\ \x94\x14HP "7)\x88\x0b(\xb8\xf2\xa5\x7f\xbdmY$mDH!\xf7\'\x02\xa4\xef\xfdX5\ \x97\\\xc8\x00f\xf6\xd8\xac\xaa\x00W\x80\x17<\xb5\xd6\xa9~\xf3\xfe\x12\xc7\ \x08\xbe\x96g\xa6\x8f\x80\xd6Z\xa8\x81\x00\xcbg\x04\x90\xff\x178\x01o\x9c\ -\x13?\x15\xa3\xaau\x00\x00\x00\x00IEND\xaeB`\x82' +\x13?\x8d\xde\xe5M\x00\x00\x00\x00IEND\xaeB`\x82' def getToolMenuBarBitmap(): return BitmapFromImage(getToolMenuBarImage()) @@ -752,13 +811,12 @@ def getToolMenuBarIcon(): #---------------------------------------------------------------------- def getToolMenuItemData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x0c\x00\x00\x00\t\x08\x06\ -\x00\x00\x00\x06\xb8\xcdT\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00NIDATx\x9cc\xfc\xf1\xe7\xc7\x7f\x06"\x01\x07\x0b\x07\x03\x0b\x03\x03\ -\x03\xc3\x8d\x1b7\x08*>p\xe0\x00\x03\x03\x03\x03\x03\x13\xb1\xa6\xc3\x00\x0b\ -6S\xd0\x81\x83\x83\x03\x9cM\xb2\r\x949\t\xd9j\xbc\x1ap\xb9\x1d\x1b`d`` :\x1e\ -\x18\x18\x18\x18\x00h[\x0f\xdf\xbb\xf3\x12\xf4\x00\x00\x00\x00IEND\xaeB`\x82\ -' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x0c\x00\x00\x00\t\x08\x02\ +\x00\x00\x00\x89\xdaZ\x03\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x00>IDAT\x18\x95c\xfc\xf1\xe7\x07\x03^\xc0\xc1\xc2\xc1\xc2\xc0\xc0p\xe3\ +\xc6\r\\*\x0e\x1c8\xc0\xc0\xc0\xc0\x84\xdf\x18\x08`A\xd3\x84\x0c\x1c\x1c\x1c\ + \x0c\xa2L"\xd1:\xb8\xe1\xd8\x15a\xba\x86\x1c\x00\x00u\xae\r\xe0\x8b\x0b\x7f\ +\xe2\x00\x00\x00\x00IEND\xaeB`\x82' def getToolMenuItemBitmap(): return BitmapFromImage(getToolMenuItemImage()) @@ -777,7 +835,7 @@ def getToolNotebookData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x18\x08\x06\ \x00\x00\x00\xe0w=\xf8\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xd3IDATx\x9c\xed\x96a\n\x830\x0c\x85_\xaa\x97Y{\x04aW\x176\xd4\x13\xe8.\ +\x00\xd3IDATH\x89\xed\x96a\n\x830\x0c\x85_\xaa\x97Y{\x04aW\x176\xd4\x13\xe8.\ c\x9b\xfd\x18\xbaj\xad$\x0e\xf7c\xec\x03\x91\xc6\x92\x97\xa4\x8f"\x91)\x10\ \xfc\xc8\x10`\x8a\x92$\xfbb\xca\xe0G\x1e\x1e\x83h3\x07\xcfd\n\x95\x88\xd9\n:\ \xeb\x92X]\xd7\x00\x80\xe0G\xde{\x92\x0e4\xd5\x00@{ow\xbf\xaf\xbbL\x04\x9cu\ @@ -785,7 +843,7 @@ c\x9b\xfd\x18\xbaj\xad$\x0e\xf7c\xec\x03\x91\xc6\x92\x97\xa4\x8f"\x91)\x10\ ]|\xca\xe6\x88$\xc4c\xcaU\xbf\x10\xc8\xcd<\x17?4\xa23\x98\x05r\x8e\xc9\xc5\ \xa5\x1cv\x91\xfa\x0c4\xec%\\C\xcc,\xbe\x8b\x00\xc0^\xac<9\x91\xbe\x03M1\xc0\ \x89.\x9a.\xc7\xef\xd9\xf4/\xf0\xbb\x02%\xf0\xb6\xd4\x19\x10\x00\xd1/\xcbQ\ -\x9e|\xd6v/\xdax\xf9\x14\x00\x00\x00\x00IEND\xaeB`\x82' +\x9e|\xd6v/g\xd2\x8d{\x00\x00\x00\x00IEND\xaeB`\x82' def getToolNotebookBitmap(): return BitmapFromImage(getToolNotebookImage()) @@ -802,12 +860,11 @@ def getToolNotebookIcon(): #---------------------------------------------------------------------- def getToolPanelData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ -\x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00CIDATx\x9c\xed\xd31\x0e\x800\x0cC\xd1W\x94\xa1\xf7?Q\x8e\x91\xa3t@\x82\t\ -1\x131\xf6\xef\xfe^\xec\xb1\xceui2c\n\xa8\xaa\xcf\xe1\xcc\x04G\xb7\xfda\x0b\ -\xb6\xe0\x17A\xf0\xce\xb2\xc3@\xfbLp\x03\xeer\x0c%l\xbc\t6\x00\x00\x00\x00IE\ -ND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x02\ +\x00\x00\x00\xa9M\x0b\xdd\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x002IDAT(\x91c\xfc\xf1\xe7\x07\x03\xd1\x80\x83\x85\x83\x85\x81\x81\xe1\ +\xc6\x8d\x1b\xc4\xa8>p\xe0\x00\x03\x03\x03\x13\xf1\xc6C\xc0\xa8\x86!\xaa\x81\ +\x85\x01\x16\xe7\xb4\x02\x00vv\n&i\xb3\xa3d\x00\x00\x00\x00IEND\xaeB`\x82' def getToolPanelBitmap(): return BitmapFromImage(getToolPanelImage()) @@ -826,7 +883,7 @@ def getToolRadioBoxData(): return \ "\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x16\x08\x06\ \x00\x00\x00\xda}\\\x88\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x01\x0bIDATx\x9c\xc5\x94K\x0e\x820\x10@g\xda\x1e\xc0\x85\xa7!\xe1Bt\xeb\ +\x00\x01\x0bIDATH\x89\xc5\x94K\x0e\x820\x10@g\xda\x1e\xc0\x85\xa7!\xe1Bt\xeb\ \xf7\x04\x1aw\x06\xf1B&\xde@O\xe1\x82\x03\xd0\x8e\x0b\x1dR\xa0\x14-\x18'iB\ \xa1\xf3^\xa7\x19\x8a($\x84\x82\xac!\x14\x12\x83\x8b\x02!b\x13'\x11\xf0\xee\ \xc9\x1a\x8a\x15\xa8(\x18\x0b\x07\x00\xc0Sq\x8a\xbe\x06\x86Bg\ -\x1a\x90\xb8\xf7~\x14O\xab+\x90\x81VN\rI\x00\x00\x00\x00IEND\xaeB`\x82" +\x1a\x90\xb8\xf7~\x14O\xab+\x90\x81!\xff\xcd\xf3\x00\x00\x00\x00IEND\xaeB`\ +\x82" def getToolRadioBoxBitmap(): return BitmapFromImage(getToolRadioBoxImage()) @@ -855,13 +913,13 @@ def getToolRadioButtonData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x0b\x00\x00\x00\x0b\x08\x06\ \x00\x00\x00\xa9\xacw&\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\x96IDATx\x9cm\x90\xc1\r\xc20\x10\x04\xc7g\n\xc8\x83*H\x07\x96RVD\t`\xdc\ -\x15(\xe9 T\x91\x87\x0b\x00\xcc#1\xb2\xcd\xadd\xf9t\x9a=\xad\x16#\x96\xf6\ -\x05\x1f\x92\xb6\x17\x1a\xdd.\xd7T\xfe\xa5D\x03\xc7\xf3\x88f\x10\r\\\x9e\x8b\ -j\x10\r\x04T\x83\t>\xfc\x81\xa5\xfaSO\xf0\x01\x00c\xc4\xf2y\xbf\x12\xc0\xfc\ -\x98\xe9\x8e\xdd\x0f\x8ck\xc4\rn\x8b`\x0fF\xf2\x00\xe0\x06G\\\xa3\nn\xa7\x8b\ -\x1e\xd3\xae\xe9>\xe5\xb1\xee\xdb\x88\xad2\xe6H\xd5E\xad\xe7\x12hA\x80/\x17\ -\xa5W:\xce\xb5\xf5\x84\x00\x00\x00\x00IEND\xaeB`\x82' +\x00\x98IDAT\x18\x95m\x8f\xc1\r\xc20\x0cE\x9f\x1d\x06\xe8\x81)\xe8\x06\x91:V\ +\xc5\x08P\xb2\x15\xa8\xdd\xa0L\xd1C\x06\x00\xc2\xa1\xa4J\x83\xbfd\xc5N\xde\ +\xb7~\x10u\xd4\x15\x86\x90\xac{\xa5\xd2\xedrM\xe5YJ-\xb0?\xf7X\x06\xb5\xc0\ +\xf99\x9b\x06\xb5@\xc04H\x18\xc2\x1fX\xaa=\xb5\x84!\x00 \xa2\x8e\xcf\xfb\x95\ +\x00\xa6\xc7Dsl60.\x11\xdf\xf95\x82;\x88\xe6\x06\xc0w\x9e\xb8D\x13\\W\xab\ +\xdb*\xfd4\xde\xc7\xdc\xa6\xf2]D\xdd.c\x8e\xb4\xdb\x98\xe7\xfaC\x19\xa8A\x80\ +/\x17\xa5W:\x12\xac\xa3\xbe\x00\x00\x00\x00IEND\xaeB`\x82' def getToolRadioButtonBitmap(): return BitmapFromImage(getToolRadioButtonImage()) @@ -878,13 +936,13 @@ def getToolRadioButtonIcon(): #---------------------------------------------------------------------- def getToolRootData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ +"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ \x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00aIDATx\x9c\xed\x93\xc1\n\x80@\x08Dg\xb4_\xaa\xfc\xff[\xf5M\xb5\xdd\x96m\ -\xd1\xa8\xbc6\xe0A\x19\x07\x9e )\x8a\x8c\x06oX\x8e\xbd\xb4=E\x19\x06\xcc\xd3\ -x1/\xeb\x16\x9a]Q\x14fV(\x8a/\xe5"x\x18\x11R\rhQ\xde`\xd4\x80~\xe9\xeepn@\ -\xaf\x1f\xe19\x02\xb3\xbf \xa9m\x00\'\x0f\xb3\'\x06\x9f\r?\x1f\x00\x00\x00\ -\x00IEND\xaeB`\x82' +\x00cIDAT(\x91\xed\x90\xc1\x0e\x800\x08C[\xf0\x97T\xfe\xff\xa6~\x93n\xb7e.`\ +\xa6\xbb\xda\x84\x03\xa4m\xf2 E1\xa2\xc9;\xa6\xebL\xf5NQ\x86\x05\xeb2\xdf\ +\xcc\xdb~\x84fW\x14\x85\x99%\x8a\xe2\xcb\xb8\x08\x1eF\x84T\nj\x947\x18\xa5\ +\xa0\r==\xce-h\xf5#\xf4#\x90\xa2\xbd^W2\x94\x06\x90\x01\x0f\xb3'\x06\xe8\x11\ +R\xf1\x00\x00\x00\x00IEND\xaeB`\x82" def getToolRootBitmap(): return BitmapFromImage(getToolRootImage()) @@ -901,17 +959,17 @@ def getToolRootIcon(): #---------------------------------------------------------------------- def getToolScrollBarData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\r\x00\x00\x00\x18\x08\x06\ -\x00\x00\x00!\xf0wT\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xdcIDATx\x9c\xa5\x94A\n\x830\x10E_\x8a\x97i\x8f\x10Q\xf0<\xedVz\x86\xe2\ -V\xcf#(\xe6\x08z\x89.\xbc\xc1ta\x15\x12\x93\x90\xd2\xb7\x8cy\xcc\xe4O\xa2j^\ -\x8d\xf0#\x19@\xfd\xac\x93\x05\x11\xd9$\x80i\x98\xac\x8f\xba\xd0\x98\xd1x\ -\xc5\x8boQ\x17\x9ay\x99\xc9\xcb\x86y\x0fp\ +\xfe\xce\xf0DO\xb8\x94\x92\xca#\xbf\xf9\xb2\xaaG\x1d\\\xa8\xd0\xae\x9a\xebQ\ +\xc7=\x0e\xef\xa1\xc5e\x08\x00\xecb+\xb4\xe3\x10\x00\x18c*T\xd1C\xeb\xba\xde\ +z\xc9~SJw\x80\xdf\xfc\xe97\xb8@-s\xa9\xd2\x9c\xb8\x8d\x88\xf9\xfc\xd9_1!\xaa\ +\xce\x8f\x8a\xdajqB\x7f\xbc\x80\xcc!\xe2\xa3z\xedP\x00H\xce\\v\xb1\xc0s\xa6\ +\xef\x9b{\x9d>S\xb9\xe7\xf4\x1b\\\xe8_}\x99R\x08\xeer\xe1\xc6/\\.Y\xdd(\xd7\ +\x8b{\xe4\x90\xc0\x1d\xbfC\xccHA\xf3\xf3\x15\xfd\x01\xc5\xac\x80\xf9\xbb\xd3\ +\xc3\xb7\x00\x00\x00\x00IEND\xaeB`\x82" def getToolScrollBarBitmap(): return BitmapFromImage(getToolScrollBarImage()) @@ -928,10 +986,10 @@ def getToolScrollBarIcon(): #---------------------------------------------------------------------- def getToolSeparatorData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x0e\x00\x00\x00\x02\x08\x06\ -\x00\x00\x00h\x8a\xed\xaa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00\x19IDATx\x9cc\x9c2u\xca\x7f\x06\x12AvV6\x03\x0b\x8cA*\x00\x00\xbc\ -\xd9\x05B4OY2\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x0e\x00\x00\x00\x02\x08\x02\ +\x00\x00\x00\xe7\xe8z\xfd\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x00\x17IDAT\x18\x95c\x9c2u\n\x03\x11 ;+\x9b\x05B\x11\xa3\x1a\x00\xfb\ +\x1c\x04C\xb1\x8cE\xa0\x00\x00\x00\x00IEND\xaeB`\x82' def getToolSeparatorBitmap(): return BitmapFromImage(getToolSeparatorImage()) @@ -948,14 +1006,13 @@ def getToolSeparatorIcon(): #---------------------------------------------------------------------- def getToolSliderData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x0e\x08\x06\ -\x00\x00\x005\xf8\xdc~\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\x80IDATx\x9c\xdd\x94\xc1\t\x800\x0cE_\xc4\xa9\x04\x17\xb2gq\x06q\xa8\ -\x80\xd0\x15t\x9cx\xf0 \xa8hJ\xed\xc5\x7fL\x9b\xffB\xf9\xa9L\xe3d\x14T\r\xd0\ -\x0f}\x11s3\xdb\x01\x00q\x8e4m\xe3j\x14\x11\xe2\x1c]w\xebsaY\x17\xef\x80.UO\ -\x87\xaa\x8a\xaa^j\x9f\x01\x00B\x17\x92\x0c\x93\x01\xb9\xfa9 \xf7\xfd\xe1&\ -\xa6p$%51\xaf\x00\x11\xc96|\x04x\xb73\x19`V\xee\xbf\xdb\x008?!\xf2\x1e\xaa\ -\x9bi\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x0e\x08\x02\ +\x00\x00\x00\xba\x9aK)\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00pIDAT(\x91c\xec\xee\xecf\xa0\n\xa0\x8aA\xff\xff\xffg\x81\xb0\x8e\x1e:jek\ +\x85G)##\xe3\xd1CG\xf1(`A\xe6\\\xbb~\x8dlG1a\x15\xdd\xbf\x7f\xff\xfe\xfd\xfb\ +\x91\xb9d\x1a\xc4\xc0\xc0\x90\x9d\x95M\x05\x17\x91\x01\x86\x8aA\xa4\x06\x10\ +\x03Z\xf43\xc0"\x88\x98h\xc2i\x10###\xa9\x9a\xb1\x1b\x84?\xe1\x12e\xd0\xff\ +\xff\xff)1\x02\x02\x00G?!-\x9e\x07b\xab\x00\x00\x00\x00IEND\xaeB`\x82' def getToolSliderBitmap(): return BitmapFromImage(getToolSliderImage()) @@ -974,9 +1031,9 @@ def getToolSpacerData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x000IDATx\x9ccddbf\xa0\x040Q\xa4{p\x1a\xf0\xff\xdf\xdf\xff\xc4\xd00\xc0\ -H\xf5@D\xb7\x81\x90\xfc\xa8\x0bh\xe9\x82\x81K\x07t7\x00\x00\x1cB?\xcf\xcf\ -\x93qi\x00\x00\x00\x00IEND\xaeB`\x82' +\x00\x000IDAT8\x8dcddbf\xa0\x040Q\xa4{p\x1a\xf0\xff\xdf\xdf\xff\xc4\xd00\xc0\ +H\xf5@D\xb7\x81\x90\xfc\xa8\x0bh\xe9\x82\x81K\x07t7\x00\x00\x1cB?\xcf\xebM\ +\xd0P\x00\x00\x00\x00IEND\xaeB`\x82' def getToolSpacerBitmap(): return BitmapFromImage(getToolSpacerImage()) @@ -995,12 +1052,12 @@ def getToolSpinButtonData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\t\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\xc4HUC\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\x87IDATx\x9c\x9d\x90\xd1\r\xc3 \x10C\xed\xa3\xd34S0O3\x0e\x99\x87-\xd2e\ +\x00\x87IDAT(\x91\x9d\x90\xd1\r\xc3 \x10C\xed\xa3\xd34S0O3\x0e\x99\x87-\xd2e\ \x02\xee\x17\xa8@B\xabX\xe2\xe7x\xba\xb3M\x9a\xc3/Y?\xc8\xe9\xd0\x14\xca\xe9\ \xd0\xfe\xde\xa1\x9ct\n\x15\x00\x00\xc2\x16\x1a\xd0z\x00\x00\xbc\xf7\r\xf8(\ \x1f1\xc6K\xe3\x94$\x92\x93l\x00oUp*M\x14\xb6 \x00"\xcd\r\xe9J\x90\xf5\xb5\ \x82\xe6X=\xf5\xe0\xf2\\@s\xbc\xf44\xd4As\xf55>\xbe\xe6C\x05\xcaI\xe5L]\xf4O\ -O\x1fX\xf8l\xb8\xe4\xd6\x98/\x00\x00\x00\x00IEND\xaeB`\x82' +O\x1fX\xf8l\xb8l\x11n\x9b\x00\x00\x00\x00IEND\xaeB`\x82' def getToolSpinButtonBitmap(): return BitmapFromImage(getToolSpinButtonImage()) @@ -1019,7 +1076,7 @@ def getToolSpinCtrlData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x0c$\xbf\x95\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00\xd7IDATx\x9c\xadT\xdb\x11\x83 \x10\xdc\x03\x9b\x89]XOtRKF\xad\xc7.\ +\x00\x00\xd7IDAT8\x8d\xadT\xdb\x11\x83 \x10\xdc\x03\x9b\x89]XOtRKF\xad\xc7.\ \xb4\x19a\xf3\x91\xe0(\x03\xe6|\xec\xcc\xfd\x1c\xc7.\xb7\x07H\xd7w\xc4\t4\ \xcdKT\x85?\x81CA\x92b,\xe2H\xe5\x8b D\xea\x1a\x19\xa71\x99\xf7n\xe68\x8d\ \xa0w\x14c\x97\xee\x8c\x8a\xf5\x0f\x029\x00t}\x07z\xb7\x9c6+ \xa2\xb3xM\x0e\ @@ -1027,7 +1084,7 @@ def getToolSpinCtrlData(): \x02Z\x18[\x88\x18\xbb_sE@u\x88+\x9b\xbd\x9b\x99\x8b\xb6}\xf3\x16\x8b\xe2[\ \x04|\x87^?k\x88\xb1r\xd9"c\x0b)\x1f\xe5&\x17\xc8\x81\x1d\x8b\xb4/;F|eo\x19r\ \xe8bmMX[f\x90\xfbc\x8e\x88\xc4\xff\xd0"p\xd6\x8e\x1819\x00|\x00\x82\x1a\x92\ -\x8c\xa1\x12f1\x00\x00\x00\x00IEND\xaeB`\x82' +\x8c\xef\x85F5\x00\x00\x00\x00IEND\xaeB`\x82' def getToolSpinCtrlBitmap(): return BitmapFromImage(getToolSpinCtrlImage()) @@ -1044,12 +1101,12 @@ def getToolSpinCtrlIcon(): #---------------------------------------------------------------------- def getToolSplitterWindowData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x0c$\xbf\x95\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00WIDATx\x9c\xed\x94\xb1\r\xc00\x08\x04/\x91\x17c\x9ex\x1c<\x1ad\x1cRE\ -I*\xbb\xa1\x89x\t\x89\x97N\\\xc7\xa6C\x83\xc44\x80~\xf4\x94\xe3\x11\xc1\xfe.\ -\xb3\xd1\xa1\x98\xdb\x12kn\x00\x8f +%(A\t\xfe h\xf7\xe2\xa7Oa\x11Yf?\x82\x88\ -\xbc\x8f}\x01\x1b\xc7Loc\xda\xa9\x02\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x83F(\xc2\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00JIDAT8\x8d\xed\x8e\xb1\r\x00 \x08\x04\xd1\xb8\x18;\xe2h\xe08oA\xa2\x154Z\ +\x19\xaf\x81\xe2r\xf9"]\xe8\nWB\x00\xea\xfa"\xa4\x8b\x9a&\x82\x9a\x12Q=\x9f\ +\xe3\xfc\xd0\x0f\xbd\x19j~lXd0s.\xec\x10\x80\xf3E\x13\xd4\xd0K\xe6\xddMz\xb1\ +\x00\x00\x00\x00IEND\xaeB`\x82' def getToolSplitterWindowBitmap(): return BitmapFromImage(getToolSplitterWindowImage()) @@ -1066,28 +1123,28 @@ def getToolSplitterWindowIcon(): #---------------------------------------------------------------------- def getToolStaticBitmapData(): return \ -"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x0e\x00\x00\x00\x11\x08\x06\ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x0e\x00\x00\x00\x11\x08\x06\ \x00\x00\x00\xed\xc8\x9d\x9f\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\ -\x00\x00\x01\xf9IDATx\x9c\x85\x931h\x13Q\x18\xc7\x7fw\xf7\x86\x17p\xb8\x83\ -\x0c\x97-\x05\x1dts\xb3N\x9et\x90\xe0\xa0-..N\x1d\xact(\xd1\xa9\xba\x05D\xa5\ -\x83Z\x1c\x84,B\xba\x14\x1d\xb4\x8e\xbd\x0e\xc5\x04\x94\xa4\x8b\xb5\xe0\xd0,\ -\x85d\x90\xe4\xd4\xc0=\xf0\xda\xcf!\xdc\xd9\xa3Q\xbf\xe9\xbd\xef}\xbf\xef{\ -\xdf\xff{\xcf\xb2l\x87\xe3vt\x98\x08\x13\xccv\x94\x95\xdb\x1f\x07R(\xfe\x19\ -\xd3\xf9\xd4a8\x1c\xfe5\xa1e\xd9N\xe6ln7y\xb3^gy\xe9,Z\x150\xa3\x98\xe6\xe7\ -\x88\xb5w;4^\xbd\xcfU\xce\xc0\xe6v\x93\x92\xafq\t\xf1\xfc\x8b\x80\x0b\xa6E\ -\x9c\x18\xa2oC\xee>\xdc\xa3\xb1\xd6\xc8`;\xad\xb6\xf2|\x05_\x85x\xc5\xcb\xa0\ -\xa6@yp\xaaBAi\\\xd7cy\xbe\xc4\xdc\xf5\xb9\xec\xaa*]T\xe7+\xa0\x01]\x1a;\x12\ -\x03@\x9ch\n\xca\xe0\x155\xae\xa7\xb3~3q\x8c1Y0hP.\xb1\x19\x8b\x13\xa3AiJnz\ -\x0ev\xdal\xed\xd9kHb\xc0@\x12\x81\xe9B\xd2\x1b'K\x0c&\x8ah\xac\x87'\xc7Q\ -\x7fY\xc7$\x8ca\xa5\x89M\x17\x88 1\xf4\xfb=\xba\x07Cj\x8fV3q\xb2\x1e\xb5\xd6\ -hc\x80\x02\xf1\xa8\x0bI\x841Cz\xfd>f\x14S{\xb1G\xb8U\xcf\x8bc;\xca\xba}\xe7\ -\x96\xec\xb4B\xa6\xce\xb4X}\x10\x10E\x11\xdd\x83\x1e\xf7\x1f\x87x\xc5s\x84[\ -\xcd\xdc\x1c\xb1l\x07\xcbv@!\xb37*\xb2\xfbeW\xda\x1f?H\xe5j \xd5\xc5\x9b\xb2\ -\xffu_RKc-\xdb\xf9\x03\xce^\xab\x88\x88H\xbb\xd3\x96`&\x90\xea\xbd\xaa\x0c\ -\x06\x83\x13@\x0e\xf4}_6\xc3M\xa9\\\td\xf5\xe9\x13YX\\\x10\xb7\xe8N\x04r \ -\xc1\xcc\xb4l\xbc\xdd\x18W\xbc\x14H\xf9t\xf9\xff`\n\x97\xcb\xbeL_8/\xd5\xa5\ -\xea?!\xcbv\xc6\x8f\x1c@\x8e\x0e\xc5\xf7]\x8c1|\xff\xf1+\xf7\xf7&\xd9o(\xba\ -\xfe\xd4\xfd\xb4\x1c\\\x00\x00\x00\x00IEND\xaeB`\x82" +\x00\x00\x01\xf7IDAT(\x91\x85\x921h\x13Q\x18\xc7\x7fw\xf7\x86\x17p\xb8\x83\ +\x0c\x97-\x05\x1dts\xb3N\x9et\x90\xe0`[\\\\\x9c:X\xe9PN\xa7\xea\x16\x10\x95\ +\x0ejq\x10\xb2\x08\xe9Rt\xd0:\xf6:\x14\x13P\x92.\xd6\x82C\xb3\x14\x92A\x92S\ +\x03\xf7\xc0k?\x87pgC\xab\xfdO\xef}\xef\xfd\xbe\xef}\xff\xefY\x96\xedpT\x87\ +\x07\xa9p\x82lGYc\xfb\xa3@\x06%\xbf\x12\xda\x9f\xdb\x0c\x06\x83\x7f&\xb4,\ +\xdb\xc9\x83\x8d\xad\x06o\xd7j,-\x9eG\xab\x02f\x98\xd0\xf8\x12\xb3\xfa~\x9b\ +\xfa\xeb\x0fc\x95s\xb0\xb1\xd5\xa0\xe4k\\"<\xff2\xe0\x82i\x92\xa4\x86\xf8\ +\xfb\x80{\x8fv\xa9\xaf\xd6s\xd8\xce\xaa-\xbfX\xc6W\x11^\xf1*\xa8\tP\x1e\x9c\ +\xa9PP\x1a\xd7\xf5X\x9a+1;=\x9b?Ue\x8bp\xae\x02\x1a\xd0\xa5Q 5\x00$\xa9\xa6\ +\xa0\x0c^Q\xe3z:\xef77\xc7\x18\x93_\x06\r\xca%1#s\x124(M\xc9\xcd\xce\xc1\xce\ +\x9a\xad>\x7f\x03i\x02\x18Hc0\x1dH\xbb\xa3d\xa9\xc1\xc41\xf5\xb5\xe8\xf88j\ +\xafj\x98\x94\x11\xac4\x89\xe9\x001\xa4\x86^\xafKg\x7f@\xf5\xf1JnN\xde\xa3\ +\xd6\x1am\x0cP \x19v \x8d1f@\xb7\xd7\xc3\x0c\x13\xaa/w\x896k\xe3\xe6\xd8\x8e\ +\xb2\xee\xdc\xbd-\xdb\xcd\x88\x89sMV\x1e\x06\xc4qLg\xbf\xcb\x83\'\x11^\xf1\ +\x02\xd1fcl\x8eX\xb6\x83e;\xa0\x90\x99\x9b\x15\xd9\xf9\xba#\xadO\x1f\xa5r=\ +\x90p\xe1\x96\xec}\xdb\x93L\xd9]\xcbv\xfe\x8237*""\xd2j\xb7$\x98\n$\xbc\x1fJ\ +\xbf\xdf?\x06\x8c\x81\xbe\xef\xcbF\xb4!\x95k\x81\xac<{*\xf3\x0b\xf3\xe2\x16\ +\xdd\x13\x811\x10\x90`jR\xd6\xdf\xad\x8f*^\t\xa4|\xb6|:\x98\xc1\xe5\xb2/\x93\ +\x97.J\xb8\x18\xfe\x17\xb2lg\xf4\xc9\x01\xe4\xf0@|\xdf\xc5\x18\xc3\x8f\x9f\ +\xbf-N\xd1\x1f(\xba\xfe\xd4\xf5\xbb\xa30\x00\x00\x00\x00IEND\xaeB`\x82' def getToolStaticBitmapBitmap(): return BitmapFromImage(getToolStaticBitmapImage()) @@ -1106,13 +1163,13 @@ def getToolStaticBoxData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x16\x08\x06\ \x00\x00\x00\xda}\\\x88\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00\x9aIDATx\x9c\xed\x95[\n\x031\x08E}\xad6\xae\xa6\xcc\xa4\xab\x1dc\ +\x00\x00\x9aIDATH\x89\xed\x95[\n\x031\x08E}\xad6\xae\xa6\xcc\xa4\xab\x1dc\ \x7fj\xe9+\x99"-C!\x17\x84\x044GE\t"1\x8c\xe4\xcd\x1c\x89q\xe84\x10e\x03\xbf\ \x02\x88\xec\xbd\x99g\x01\xb2,\xa7\x87`-\n\xc42lI\xb3\xcd\xeb\xb9\xee>\xaeEA\ \xe2\x10\x8a\xc7\xef{\x1fU\xc4\x9dX\xb0\xd9\xf6QU\xb7\x16\x11\x0b>g\xee\xcd<\ \xec%\xf0\xea\xdf\xb3\xa8P\xdeQ{\x93\x93\x99\xa8c\xa6\xa8\x97ef\x1f\x8e\xdd\ \x83\t\x98\x80\t\xf8\x13\x00\xaeuM\xffV{\xd2\xa2\x80\xee\xfe3\x00\x00\xc0\ -\x05+eB\x8b\x0e<\xcdh\x00\x00\x00\x00IEND\xaeB`\x82' +\x05+eB\x8b9\xd0&\xe6\x00\x00\x00\x00IEND\xaeB`\x82' def getToolStaticBoxBitmap(): return BitmapFromImage(getToolStaticBoxImage()) @@ -1131,11 +1188,11 @@ def getToolStaticBoxSizerData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00iIDATx\x9c\xed\x92\xd1\n\x800\x08E\xbd\xdao\x8e\xc9\xd8w\x05\xd1w.{\ +\x00\x00iIDAT8\x8d\xed\x92\xd1\n\x800\x08E\xbd\xdao\x8e\xc9\xd8w\x05\xd1w.{\ \xe9a\xad\xa8\xad\x05\xbdt@\x04\x85\x83\\\x04X\xa8\x07.\x07\xb6${,\xb0%\x19X\ \xd0"\x19\x88\x88|p6\x8d3\xca\x0b|p\xf7"\xb0\x90F\xb5-\x8b]\xcfwg\xa5Q\x8d\ \x0b\x19\xf2^\xc3!\xc4V~\xc1\x0b\x02\x80\xa5\xeea\xae\x04=|\x9f\xc1\n5\x8d!\ -\x0c\xe9\x92\xca\xdd\x00\x00\x00\x00IEND\xaeB`\x82' +\x0c[3\xf5K\x00\x00\x00\x00IEND\xaeB`\x82' def getToolStaticBoxSizerBitmap(): return BitmapFromImage(getToolStaticBoxSizerImage()) @@ -1152,10 +1209,10 @@ def getToolStaticBoxSizerIcon(): #---------------------------------------------------------------------- def getToolStaticLineData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x14\x00\x00\x00\x02\x08\x06\ -\x00\x00\x00X\x06\xfc\x8b\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00\x19IDATx\x9cc\x9c2u\xca\x7f\x06*\x81\xec\xacl\x06\x16\x18\x83Z\x00\ -\x00|\xe8\x05B@2\xc8}\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x14\x00\x00\x00\x02\x08\x02\ +\x00\x00\x00\xd7dk\xdc\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00\x17IDAT\x18\x95c\x9c2u\n\x03Y ;+\x9b\x05B\x91\xa7\x1f\x00gO\x04C\xda+\ +\x0c\xd5\x00\x00\x00\x00IEND\xaeB`\x82' def getToolStaticLineBitmap(): return BitmapFromImage(getToolStaticLineImage()) @@ -1174,11 +1231,11 @@ def getToolStaticTextData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\r\x08\x06\ \x00\x00\x00\xad\xa5\x9ec\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00iIDATx\x9c\xd5SA\n\xc00\x08S\xbb\xff\xffX\xb3\x93\xe0J\x1ct\xa3\x8c\ +\x00\x00iIDAT8\x8d\xd5SA\n\xc00\x08S\xbb\xff\xffX\xb3\x93\xe0J\x1ct\xa3\x8c\ \xe5f\xb4I\x14\xaajCv\xc0\xb6\xa8~"\x8cp\xdc\xd5\x8f\x85\xdf\x82\n#\x1cjCYJ\ \x84\x83m3sK\x89\xd3\xb0\x9a2\x8e\n\xe7\xa0\x88\xc8<\x9c|\x87\xda?\xbad+\x9b\ -0\\\x84kZf\xd4\xf5\xd9{\x9a\xb8C=\r;W5\xd5\xdf}\xe9\x13!\xebT\x08o\xae\xb7\ -\xaf\x00\x00\x00\x00IEND\xaeB`\x82' +0\\\x84kZf\xd4\xf5\xd9{\x9a\xb8C=\r;W5\xd5\xdf}\xe9\x13!\xebT\x08\xdd\x0f\ +\x889\x00\x00\x00\x00IEND\xaeB`\x82' def getToolStaticTextBitmap(): return BitmapFromImage(getToolStaticTextImage()) @@ -1195,13 +1252,11 @@ def getToolStaticTextIcon(): #---------------------------------------------------------------------- def getToolTextCtrlData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x0c$\xbf\x95\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00HIDATx\x9cc\x9c2u\xca\x7f\x06\x1a\x02\x16\x06\x06\x06\x86\x9c\xec\ -\x1c\x9a\x18\xfe\xff\xff\x7f\x88\x050\x0e5\xc1\xb5\xeb\xd7\x18\x18\x18\x18\ -\x18\x98\xa8j*\x160j\xc1\xa8\x05\xa3\x16\x0c\x07\x0b\xe0e\x11\xac\xec\xa0\ -\x89\x05\xd4.\xe8\x90\x01\x00"2\x12$\xda\x8d\xe8\t\x00\x00\x00\x00IEND\xaeB`\ -\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x18\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x83F(\xc2\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x009IDAT8\x8dc\x9c2u\n\x03U\x00U\x0c\xfa\xff\xff?\x0b\x9cE\xb6)\xd7\xae_c``\ +`\xa2\xdc9\x100j\xd0\xa8A\xc3\xd3 h^\x83\xe4\x17J\r\xa2$\xc7\xc2\x01\x00\xf4\ +\x87\x11\x9b\xfda\x80c\x00\x00\x00\x00IEND\xaeB`\x82' def getToolTextCtrlBitmap(): return BitmapFromImage(getToolTextCtrlImage()) @@ -1218,12 +1273,12 @@ def getToolTextCtrlIcon(): #---------------------------------------------------------------------- def getToolToolData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\t\x00\x00\x00\t\x08\x06\x00\ -\x00\x00\xe0\x91\x06\x10\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00LIDATx\x9c\x95\xd0\xb1\r\xc0 \x10C\xd1GD\xc1X\x8c\xce\x18\x8cB\x11)\ -\xa9\x12!qB\xc9\xaf\xae\xf0\xd9\x96\xd38\xc7eC\xc9E\x86\xde{(h\xad\x81c\xe7\ -\xf2\x90\xa3O\xa8\xb5\xbe\xf7\'\xa7\xffqs\xc4"\x9a\xbbD$lw\x82\x1b\xd7\x84\ -\x0f\xdfLT\x19\x1d\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\t\x00\x00\x00\t\x08\x02\x00\ +\x00\x00o\xf3\x91G\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\x00>\ +IDAT\x18\x95c\xfc\xf1\xe7\x07\x036\xc0\xc1\xc2\xc1\xc2\xc0\xc0p\xe3\xc6\r4\ +\x89\x03\x07\x0e0000a\xd5\x04\x01,hj\x19\x18\x18\x1c\x1c\x1c \x0c|\xfa\x883\ +\x13n\x14\x8a\x1c\xdc&\x12\x00\x00b\xc7\r\xe0\xb7\\uG\x00\x00\x00\x00IEND\ +\xaeB`\x82' def getToolToolBitmap(): return BitmapFromImage(getToolToolImage()) @@ -1240,13 +1295,14 @@ def getToolToolIcon(): #---------------------------------------------------------------------- def getToolToolBarData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x08\x08\x06\ -\x00\x00\x00\xf0v\x7f\x97\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00lIDATx\x9c\xa5\x91\xb1\r\x800\x0c\x04\x0f\x94\x82Q\\Px\x84\x8c\x98\ -\x82\xc2\xe3d\x8c\x8cB\x81\x04U\x02\x01\x89\x88p\x95\xcf/[\x96<\xac\xdb\xba\ -\xd3\xc9\xe4&\x1c@J\xe9\xf3p\x8c\x11\x8017dVd\xd6\x12\x88("\xa7\xab(z\xf1\ -\xcc\xc8O\\.l\tU`V{\xb8\xf9c\x81\xf7\xbe\nZ^\x16\x98Y\xf3\xcc7\x06\xa0\xfb\ -\x8d\x00\x07:\x91\x1c\xf1\xcb\xec\x06\xb4\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x08\x08\x02\ +\x00\x00\x00\x7f\x14\xe8\xc0\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\ +\x00\x00\x00bIDAT\x18\x95c\xfc\xf1\xe7\x07\x03\xd1\x80\x83\x85\x83\x85\x81\ +\x81\xe1\xc6\x8d\x1b\xc4\xa8>p\xe0\x00\x03\x03\x03\x13\x84\xa3\xa1c\xa0\xa1c\ +\x00\x11\xd2\xd00\xd0\xd0\x80\xb2\r4\x0c\x0c`l\x08`"\xde=\x10\xc0\x02\xa1fL\ +\x99\x00\x17\x9a1\x03\xc1\x9e\x80\xc4F\xd1\xe0\xe0\xe0\x00\x17\xc2\xc5\x86j\ +\x981c\x06\xa9\xae"\r\x00\x00T$\x1a\xf2\x8e\xbd4\xb3\x00\x00\x00\x00IEND\xae\ +B`\x82' def getToolToolBarBitmap(): return BitmapFromImage(getToolToolBarImage()) @@ -1263,13 +1319,13 @@ def getToolToolBarIcon(): #---------------------------------------------------------------------- def getToolTreeCtrlData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ +"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ \x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00aIDATx\x9c\xed\x93\xc1\n\x80@\x08Dg\xb4_\xaa\xfc\xff[\xf5M\xb5\xdd\x96m\ -\xd1\xa8\xbc6\xe0A\x19\x07\x9e )\x8a\x8c\x06oX\x8e\xbd\xb4=E\x19\x06\xcc\xd3\ -x1/\xeb\x16\x9a]Q\x14fV(\x8a/\xe5"x\x18\x11R\rhQ\xde`\xd4\x80~\xe9\xeepn@\ -\xaf\x1f\xe19\x02\xb3\xbf \xa9m\x00\'\x0f\xb3\'\x06\x9f\r?\x1f\x00\x00\x00\ -\x00IEND\xaeB`\x82' +\x00cIDAT(\x91\xed\x90\xc1\x0e\x800\x08C[\xf0\x97T\xfe\xff\xa6~\x93n\xb7e.`\ +\xa6\xbb\xda\x84\x03\xa4m\xf2 E1\xa2\xc9;\xa6\xebL\xf5NQ\x86\x05\xeb2\xdf\ +\xcc\xdb~\x84fW\x14\x85\x99%\x8a\xe2\xcb\xb8\x08\x1eF\x84T\nj\x947\x18\xa5\ +\xa0\r==\xce-h\xf5#\xf4#\x90\xa2\xbd^W2\x94\x06\x90\x01\x0f\xb3'\x06\xe8\x11\ +R\xf1\x00\x00\x00\x00IEND\xaeB`\x82" def getToolTreeCtrlBitmap(): return BitmapFromImage(getToolTreeCtrlImage()) @@ -1286,13 +1342,12 @@ def getToolTreeCtrlIcon(): #---------------------------------------------------------------------- def getToolUnknownData(): return \ -"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00cIDATx\x9c\xc5S\xc9\r\xc0 \x0c3\xa8\xd3\x90\xfdG\x81u\xca\x03UB\x15N\ -\x02y\xe0'\xc8\xa7 \x01x\x11\xc0\x03\x00\xb5\xd5#\xb2\x14\x19\x02\xecr\x063\ -\xc9\x1e2;\xa3\x02\xb3\xabUO\x15\xf0`\xb9\xc1\xce\xa8f\x82\xaf\xfb\xd6\x88\ -\x7fr(\x81\xe6\xee\x16\xd0@\x1f\x92\xe5\xecJ E\xcc\x1d\xeeWH\x08~\xe7\x0e*\ -\xc0\x1c\xa7 \xd7h\x05\x00\x00\x00\x00IEND\xaeB`\x82" +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x90\x91h6\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00XIDAT(\x91c` \x110200\\\xbdv\x95H\xd5\xdaZ\xda,XE\xe1lL\xb3\x98\xf0\xa8\ +\xc6\xe4b\xd1\x007\x18\x97;\xb1k\xc0\x03\xd0\xfd@0\x00p\xda\x00q=aO#\xab&\ +\xcd\x06\xac\xc6\x13\xd0\x80\x15`\x898\\f\xe3\xb3A[K\x1b\x977h\xef$\x92\x01\ +\x00\x93O\x1a\xa4(\x924\xbb\x00\x00\x00\x00IEND\xaeB`\x82' def getToolUnknownBitmap(): return BitmapFromImage(getToolUnknownImage()) @@ -1311,11 +1366,11 @@ def getTreeDefaultData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ \x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\\IDATx\x9c\xc5\x92Q\n\xc00\x08C\x13\xdb\x8f\xde\xffD\x1e\xc3\x8b\x8c\ +\x00\\IDAT(\x91\xc5\x92Q\n\xc00\x08C\x13\xdb\x8f\xde\xffD\x1e\xc3\x8b\x8c\ \xc1`\xeb\xfek\x1d\x0c\x0b\xcdg\xd0\x07&\x92R\x90\x91\xa4\xb6W\x00\xeah\x9c\ \xd7\xd1\xa3\xe1V\x1b(\x85\x9f\x00\x0003\xe7\xa9\xea\x14\xba?\x83\xf5!\x02\ -\xf1\xbd3q|\xa4\xfe\xdca\x0b\x00\\\x0b\x0e\xf0W\xfbCL\x03^\xd7\x11\x0f:g|b\ -\x05\x00\x00\x00\x00IEND\xaeB`\x82' +\xf1\xbd3q|\xa4\xfe\xdca\x0b\x00\\\x0b\x0e\xf0W\xfbCL\x03^\xd7\x11\x0f:\xa3\ +\xa1\x04w\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeDefaultBitmap(): return BitmapFromImage(getTreeDefaultImage()) @@ -1332,12 +1387,12 @@ def getTreeDefaultIcon(): #---------------------------------------------------------------------- def getTreeDialogData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00IIDATx\x9ccd``\xf8\xcf@\x01`\x81P?\xc8\xd4\xce\xc1\xc0D\x89\xed\x0c\ -\x0c\x0c\x94\x1b\xc0\xc8@\x8d0\xb8p\xe5\x02Y\x9a\rt\x0c\x06A\x18\x8c$\x03\ -\x0e\x1c8@\x1b\x17\xb0\x90b\x1b\xd1\x06888\x10m\x00\xc5I\x19\x00\xe6)\x0cc\ -\xbf\x9c\xcc\xa1\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x90\x91h6\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x00CIDAT(\x91c` \x11020000\xfc Z=\x07\x13\xa96\x90\xac\x81d\xc0\xc8\xc0\xc0\ +p\xe1\xca\x05"U\x1b\xe8\x18\xd0\xde\x0fCO\xc3\x81\x03\x07(\xb5\x81\x85\xa0\ +\x91\x044888\x90j\'\x01\x00\x00l\xe2\t]3\x1c\x89\xf6\x00\x00\x00\x00IEND\xae\ +B`\x82' def getTreeDialogBitmap(): return BitmapFromImage(getTreeDialogImage()) @@ -1354,11 +1409,11 @@ def getTreeDialogIcon(): #---------------------------------------------------------------------- def getTreeFrameData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ -\x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00:IDATx\x9ccd``\xf8\xcf@\x01`\x81P?\xc8\xd4\xce\xc1\xc0D\x89\xed\x0c\ -\x0c\x0c\x94\x1b\xc0\xc8@\x8d0\xb8p\xe5\x02Y\x9a\rt\x0c\x06A\x18\x8c\x1a0,\ -\x0c\xa08)\x03\x00\x90c\x07\x1f\xb3yvF\x00\x00\x00\x00IEND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x02\ +\x00\x00\x00\x90\x91h6\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\x00\ +\x004IDAT(\x91c` \x11020000\xfc Z=\x07\x13\xa96\x90\xac\x81d\xc0\xc8\xc0\xc0\ +p\xe1\xca\x05"U\x1b\xe8\x18\xd0\xde\x0f\xa3\x1ah\xa2\x81d\x00\x00*K\x04\x19\ +\xfe\xab\xe3r\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeFrameBitmap(): return BitmapFromImage(getTreeFrameImage()) @@ -1377,11 +1432,11 @@ def getTreeMenuData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00bIDATx\x9ccddbf\x80\x81\xef\xbf\xbe\xfeg \x02p\xb0p002132000\xb0\xa0\ +\x00\x00bIDAT8\x8dcddbf\x80\x81\xef\xbf\xbe\xfeg \x02p\xb0p002132000\xb0\xa0\ K\xde\xb8q\x03\xaf\xe6\x03\x07\x0e\xa0\xf01\x0c\xc0\xa6\x08\x06\x1c\x1c\x1c0\ \xc4\x98\xf0ZG\x04\xa0\xd8\x00\xac^\xc0\xe6T\x92\x0c\x18\r\x83\xd10\xc0\xe5\ \x7f\\\x80\x119;\xff\xff\xf7\x97\xa8\xec\xcc\xc0\xc0\x00\xcf\xce\x00\x8f\x14\ -\x1a\x83K\xe9G\x81\x00\x00\x00\x00IEND\xaeB`\x82' +\x1a\x83cs\x82P\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeMenuBitmap(): return BitmapFromImage(getTreeMenuImage()) @@ -1400,11 +1455,11 @@ def getTreeMenuBarData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00aIDATx\x9c\xed\x93\xb1\r\x800\x0c\x04\xcf!E\xc6\xca\x98\x19\xc7cx\ +\x00\x00aIDAT8\x8d\xed\x93\xb1\r\x800\x0c\x04\xcf!E\xc6\xca\x98\x19\xc7cx\ \x94\x14HP "7)\x88\x0b(\xb8\xf2\xa5\x7f\xbdmY$mDH!\xf7\'\x02\xa4\xef\xfdX5\ \x97\\\xc8\x00f\xf6\xd8\xac\xaa\x00W\x80\x17<\xb5\xd6\xa9~\xf3\xfe\x12\xc7\ \x08\xbe\x96g\xa6\x8f\x80\xd6Z\xa8\x81\x00\xcbg\x04\x90\xff\x178\x01o\x9c\ -\x13?\x15\xa3\xaau\x00\x00\x00\x00IEND\xaeB`\x82' +\x13?\x8d\xde\xe5M\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeMenuBarBitmap(): return BitmapFromImage(getTreeMenuBarImage()) @@ -1423,11 +1478,11 @@ def getTreeMenuItemData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ \x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00gIDATx\x9c\xc5RA\n\x800\x0cK\xbb\x1d\xf6\xac>}\xcf\xe8GD\x10t\x9e*\x0cu\ +\x00gIDAT(\x91\xc5RA\n\x800\x0cK\xbb\x1d\xf6\xac>}\xcf\xe8GD\x10t\x9e*\x0cu\ \x16\xaa\x98S[H\x9a@\x888!\x02\x0e\xb1\x01d\x1b\xe6ej^R\xc9\x05\xc4\x89:\x01\ \x00P\xd5Gr\xad\xb5\xdb\xdf\x8b0\xfab\x10\x91\xd3-\xec\xe0\x9b\x08WV]\x02w\ -\xd9G kb\xdbVw\x0f\x00\x1c=\xa0\xdf\xab\x1c\x16\xd8\x01n\xd6\x12\xfe\x01\x8c\ -\x8ep\x00\x00\x00\x00IEND\xaeB`\x82' +\xd9G kb\xdbVw\x0f\x00\x1c=\xa0\xdf\xab\x1c\x16\xd8\x01n\xd6\x12\xfe`\x9f\ +\xfe\xd6\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeMenuItemBitmap(): return BitmapFromImage(getTreeMenuItemImage()) @@ -1444,12 +1499,11 @@ def getTreeMenuItemIcon(): #---------------------------------------------------------------------- def getTreePanelData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ -\x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00CIDATx\x9c\xed\xd31\x0e\x800\x0cC\xd1W\x94\xa1\xf7?Q\x8e\x91\xa3t@\x82\t\ -1\x131\xf6\xef\xfe^\xec\xb1\xceui2c\n\xa8\xaa\xcf\xe1\xcc\x04G\xb7\xfda\x0b\ -\xb6\xe0\x17A\xf0\xce\xb2\xc3@\xfbLp\x03\xeer\x0c%l\xbc\t6\x00\x00\x00\x00IE\ -ND\xaeB`\x82' +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x02\ +\x00\x00\x00\xa9M\x0b\xdd\x00\x00\x00\x03sBIT\x08\x08\x08\xdb\xe1O\xe0\x00\ +\x00\x002IDAT(\x91c\xfc\xf1\xe7\x07\x03\xd1\x80\x83\x85\x83\x85\x81\x81\xe1\ +\xc6\x8d\x1b\xc4\xa8>p\xe0\x00\x03\x03\x03\x13\xf1\xc6C\xc0\xa8\x86!\xaa\x81\ +\x85\x01\x16\xe7\xb4\x02\x00vv\n&i\xb3\xa3d\x00\x00\x00\x00IEND\xaeB`\x82' def getTreePanelBitmap(): return BitmapFromImage(getTreePanelImage()) @@ -1466,13 +1520,13 @@ def getTreePanelIcon(): #---------------------------------------------------------------------- def getTreeRootData(): return \ -'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ +"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ \x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00aIDATx\x9c\xed\x93\xc1\n\x80@\x08Dg\xb4_\xaa\xfc\xff[\xf5M\xb5\xdd\x96m\ -\xd1\xa8\xbc6\xe0A\x19\x07\x9e )\x8a\x8c\x06oX\x8e\xbd\xb4=E\x19\x06\xcc\xd3\ -x1/\xeb\x16\x9a]Q\x14fV(\x8a/\xe5"x\x18\x11R\rhQ\xde`\xd4\x80~\xe9\xeepn@\ -\xaf\x1f\xe19\x02\xb3\xbf \xa9m\x00\'\x0f\xb3\'\x06\x9f\r?\x1f\x00\x00\x00\ -\x00IEND\xaeB`\x82' +\x00cIDAT(\x91\xed\x90\xc1\x0e\x800\x08C[\xf0\x97T\xfe\xff\xa6~\x93n\xb7e.`\ +\xa6\xbb\xda\x84\x03\xa4m\xf2 E1\xa2\xc9;\xa6\xebL\xf5NQ\x86\x05\xeb2\xdf\ +\xcc\xdb~\x84fW\x14\x85\x99%\x8a\xe2\xcb\xb8\x08\x1eF\x84T\nj\x947\x18\xa5\ +\xa0\r==\xce-h\xf5#\xf4#\x90\xa2\xbd^W2\x94\x06\x90\x01\x0f\xb3'\x06\xe8\x11\ +R\xf1\x00\x00\x00\x00IEND\xaeB`\x82" def getTreeRootBitmap(): return BitmapFromImage(getTreeRootImage()) @@ -1491,9 +1545,9 @@ def getTreeSeparatorData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ \x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x007IDATx\x9ccddbf\xa0\x040Q\xa4{\xd4\x00\x06\x06\x06\x06\x06\x16\x18c\xf2\ +\x007IDAT(\x91cddbf\xa0\x040Q\xa4{\xd4\x00\x06\x06\x06\x06\x06\x16\x18c\xf2\ \xe4\x89\xff\x89\xd5\x94\x9d\x95\xcd\xc0\xc4\xcc\xc2\x88b\x00L\x82T\xc08\x9a\ -\x0e\x06\x81\x01\x00>\xbc\x05k\xf5\xfc\x18M\x00\x00\x00\x00IEND\xaeB`\x82' +\x0e\x06\x81\x01\x00>\xbc\x05k_\x9b\x88\x1d\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeSeparatorBitmap(): return BitmapFromImage(getTreeSeparatorImage()) @@ -1510,12 +1564,12 @@ def getTreeSeparatorIcon(): #---------------------------------------------------------------------- def getTreeSizerFlexGridData(): return \ -"\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00?IDATx\x9ccddbf\x88O\x8a\xfd\xcf@.`dbfHHI\xf8\xcf\xc8\xc4\xcc\x80\ +\x00\x00?IDAT8\x8dcddbf\x88O\x8a\xfd\xcf@.`dbfHHI\xf8\xcf\xc8\xc4\xcc\x80\ \x8c\xb1\x89aS\xc3D\xb6\xcdP0\xf0\x060\x8e\x06\xe2\xa8\x01\xd40\x80\xe2\x84\ -\xc4\xc8\xc8\xc4L\x91\x0b\x00\xb7J\x13\xf6R\x88'\x0b\x00\x00\x00\x00IEND\xae\ -B`\x82" +\xc4\xc8\xc8\xc4L\x91\x0b\x00\xb7J\x13\xf6st\x19\xa8\x00\x00\x00\x00IEND\xae\ +B`\x82' def getTreeSizerFlexGridBitmap(): return BitmapFromImage(getTreeSizerFlexGridImage()) @@ -1534,9 +1588,9 @@ def getTreeSizerGridData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00=IDATx\x9ccddbf\x88O\x8a\xfd\xcf@.`dbfHHI\xf8\xcf\xc8\xc4\xcc\x80\r\ +\x00\x00=IDAT8\x8dcddbf\x88O\x8a\xfd\xcf@.`dbfHHI\xf8\xcf\xc8\xc4\xcc\x80\r\ \x13\x92c"\xdbf(\x185\x80\x81\x81q4\x1a\x87\x83\x01\x14G###\x133E.\x00\x00\ -\x18\x10\x13\xf6M^\xe8\x9a\x00\x00\x00\x00IEND\xaeB`\x82' +\x18\x10\x13\xf65~\x97=\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeSizerGridBitmap(): return BitmapFromImage(getTreeSizerGridImage()) @@ -1555,10 +1609,10 @@ def getTreeSizerGridBagData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00SIDATx\x9ccddbf\x88O\x8a\xfd\xcf@&`\x811\x16\xce[\xccH\xaa\xe6\xf8\ +\x00\x00SIDAT8\x8dcddbf\x88O\x8a\xfd\xcf@&`\x811\x16\xce[\xccH\xaa\xe6\xf8\ \xa4\xd8\xffL\xe4\xda\x0c\x03\x03o\x00<\x0c\xc8\x0eHF&f\x86\x84\x94\x84\xff\ \x8cL\xcc\x0c\xc8\x18\x9b\x1865\x03\x1f\x06\xa3\x06P\xc1\x00FJs###\x133E.\ -\x00\x00\x9f\x06\x11@\xf1\x14Nh\x00\x00\x00\x00IEND\xaeB`\x82' +\x00\x00\x9f\x06\x11@\\\xf4\xbaw\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeSizerGridBagBitmap(): return BitmapFromImage(getTreeSizerGridBagImage()) @@ -1577,10 +1631,10 @@ def getTreeSizerHData(): return \ "\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00CIDATx\x9ccddbf\xa0\x040Q\xa4\x9b\x1a\x06\xb00000\xc4'\xc5\xfe'\xdb\ +\x00\x00CIDAT8\x8dcddbf\xa0\x040Q\xa4\x9b\x1a\x06\xb00000\xc4'\xc5\xfe'\xdb\ \x04F&f\x86\x84\x94\x84\xff\x8cL\xcc\x0c\xd80!\xb9\x81\x0f\x83Q\x03\xa8`\x00\ -##\x133E\t\x89q\xe8g&\x00\xf6\x1a\x0b!\xd5\xcf\xe1\x80\x00\x00\x00\x00IEND\ -\xaeB`\x82" +##\x133E\t\x89q\xe8g&\x00\xf6\x1a\x0b!P\x84!\x1e\x00\x00\x00\x00IEND\xaeB`\ +\x82" def getTreeSizerHBitmap(): return BitmapFromImage(getTreeSizerHImage()) @@ -1599,10 +1653,10 @@ def getTreeSizerVData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00?IDATx\x9ccddbf@\x06\xf1I\xb1\xff\x19\x08\x80\x85\xf3\x163\xc2\xd8,\ +\x00\x00?IDAT8\x8dcddbf@\x06\xf1I\xb1\xff\x19\x08\x80\x85\xf3\x163\xc2\xd8,\ \x84\x14\xa0\x03t\x0b\x98\x08\xd9F\x08\x8c\x1a\x80#\x16\x88\x89J\xbc\x06\x8c\ -F#\x9d\r\xa08\x1a\x19\xd1\xb33\xa9\x00\x00\xdc)\x10m8\xd9\x85\x8e\x00\x00\ -\x00\x00IEND\xaeB`\x82' +F#\x9d\r\xa08\x1a\x19\xd1\xb33\xa9\x00\x00\xdc)\x10m\x19%\xbb-\x00\x00\x00\ +\x00IEND\xaeB`\x82' def getTreeSizerVBitmap(): return BitmapFromImage(getTreeSizerVImage()) @@ -1621,11 +1675,11 @@ def getTreeStaticBoxSizerHData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00iIDATx\x9c\xed\x92\xd1\n\x800\x08E\xbd\xdao\x8e\xc9\xd8w\x05\xd1w.{\ +\x00\x00iIDAT8\x8d\xed\x92\xd1\n\x800\x08E\xbd\xdao\x8e\xc9\xd8w\x05\xd1w.{\ \xe9a\xad\xa8\xad\x05\xbdt@\x04\x85\x83\\\x04X\xa8\x07.\x07\xb6${,\xb0%\x19X\ \xd0"\x19\x88\x88|p6\x8d3\xca\x0b|p\xf7"\xb0\x90F\xb5-\x8b]\xcfwg\xa5Q\x8d\ \x0b\x19\xf2^\xc3!\xc4V~\xc1\x0b\x02\x80\xa5\xeea\xae\x04=|\x9f\xc1\n5\x8d!\ -\x0c\xe9\x92\xca\xdd\x00\x00\x00\x00IEND\xaeB`\x82' +\x0c[3\xf5K\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeStaticBoxSizerHBitmap(): return BitmapFromImage(getTreeStaticBoxSizerHImage()) @@ -1644,11 +1698,11 @@ def getTreeStaticBoxSizerVData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00gIDATx\x9c\xdd\x91A\n\xc0 \x0c\x047\xb1\xdf\x14\xc1\x87\t\xe2;5=)\ +\x00\x00gIDAT8\x8d\xdd\x91A\n\xc0 \x0c\x047\xb1\xdf\x14\xc1\x87\t\xe2;5=)\ \xd2\x1a\xaa\xedAh \x97\x90\x1d\x92]"6\xd0JJ\x16bC\xea\x02\x00~\x12K\xc9\xb2\ \x04p\xde6A/v\xdeJ\xed\xa9\x0b\x00\xa0??\x86D1\xa4\xdb;*\xa0\x8a_{0[?\x00\ -\x1c\xa3\xe15\xaae\xc0(.\r\xbe\xdf\x83\xfd\x80\xcf)\x9cv)$\xa7EIx_\x00\x00\ -\x00\x00IEND\xaeB`\x82' +\x1c\xa3\xe15\xaae\xc0(.\r\xbe\xdf\x83\xfd\x80\xcf)\x9cv)$\xa7\x1d\x96\xa3\ +\x0e\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeStaticBoxSizerVBitmap(): return BitmapFromImage(getTreeStaticBoxSizerVImage()) @@ -1667,11 +1721,11 @@ def getTreeToolData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0e\x08\x06\ \x00\x00\x00&/\x9c\x8a\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00fIDATx\x9ccddbf\xa0\x040Q\xa4\x9b\x1a\x06\xb0\xa0\x0b|\xff\xf5\xf5?>\r\ +\x00fIDAT(\x91cddbf\xa0\x040Q\xa4\x9b\x1a\x06\xb0\xa0\x0b|\xff\xf5\xf5?>\r\ \x1c,\x1c\x0c\x8cL\xcc\x8c8\r````\xb8q\xe3\x06V\xcd\x07\x0e\x1c\xc0\x10\xa3\ \xbe\x17p\xd9\xe8\xe0\xe0\x80U\xcd \x8c\x05d\x80\xcb\xd9\x04\r\xc0\x16\xda\ \xb8\x00#zR\xfe\xff\xef/\xdet\xc0\xc0\xc0\x80\x92\x0e0\x0c \x15P\x1c\x88\x00\ -4\x07\x12\xfe0\x81\xfe\x92\x00\x00\x00\x00IEND\xaeB`\x82' +4\x07\x12\xfeH\x0e\x8bL\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeToolBitmap(): return BitmapFromImage(getTreeToolImage()) @@ -1690,12 +1744,12 @@ def getTreeToolBarData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ -\x00\x00\x7fIDATx\x9c\xed\x93\xb1\r\xc30\x0c\x04\x8f\xb6\n\x8f\xc2\xc2\x05G\ +\x00\x00\x7fIDAT8\x8d\xed\x93\xb1\r\xc30\x0c\x04\x8f\xb6\n\x8f\xc2\xc2\x05G\ \xd0\x88.Rp\x1c\x8d\xa1QT\x04\xb0+\xdbR\x02\xc4\x88\xd5\xa4\xc8W:<\xfe!\x89\ \xa0\xc80\xd2\xa3\xa1+\xfd\x13\x05R\x9ee\xbd\x1b\x9e\xc2D\x00\xc89\x7f\x1dN)\ \x01\xd5\x13t6t\xb6\xc3P5TO65\xac\xe2]\xdd\x7f\x10\xf6\x83?\x96\xc6poyy\xe1\ \xb7\x82\x18cc\\\xf1Q\xe0\xee\x97\xd7\xfc$\x01n\x8f\x11@\xfe\xbb\xc0\x06\xdd\ -\xdc\x1d\x0b\xaa\xed\xd2\xa5\x00\x00\x00\x00IEND\xaeB`\x82' +\xdc\x1d\x0ba6\x83o\x00\x00\x00\x00IEND\xaeB`\x82' def getTreeToolBarBitmap(): return BitmapFromImage(getTreeToolBarImage()) @@ -1714,14 +1768,14 @@ def getUndoData(): return \ '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x17\x00\x00\x00\x16\x08\x06\ \x00\x00\x00+v\x07\x05\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ -\x00\xb0IDATx\x9c\xed\x94\xb1\r\xc20\x14D\x9f\xed\x14\xd0Q2\x02\x030\x00s\ +\x00\xb0IDAT8\x8d\xed\x94\xb1\r\xc20\x14D\x9f\xed\x14\xd0Q2\x02\x030\x00s\ \xb0\x06\xa2\xcc\x04(;QPf\x10\x97t\xb8H\xf2)P"\x04&\xb6\x1c,\xa5\xc8InN\xf6;\ \xe9\xfbl\xa5\xb4!\x97t6\xf2\x02O\x86K\xd7J\x16\xf8\x140@1\x06\xbe\x1c\xb6\ \xb8\x06\xca\x9b\x1dB\x946*\x16\xae|=\xef\xc1\xebb\xc5\xa3q\x00\xb8\x06\xee\ \x0e\xaa\xdaF\x87x\xe1\xef\x01\x00\xe7\xab\x1d\xfc\xd3\xfe\xe5U\xb5\r\x07(m~\ .@\x00\xf9\xf4\x8e\xbb\xcd\x97\xef=\x1f\xdc\xe0\x81D\x07\xa4\xfe-}\x93\xc6F3\ -\xdf\x17\x1a\xba\xd0$\xb8t\xadL\xaa\xe2?4\xdf\x99/\xf0$=\x01\xf3\xa3=5\xd2\ -\xe4\xd5\x92\x00\x00\x00\x00IEND\xaeB`\x82' +\xdf\x17\x1a\xba\xd0$\xb8t\xadL\xaa\xe2?4\xdf\x99/\xf0$=\x01\xf3\xa3=5\x1b-\ +\xa8R\x00\x00\x00\x00IEND\xaeB`\x82' def getUndoBitmap(): return BitmapFromImage(getUndoImage()) diff --git a/wxPython/wx/tools/XRCed/params.py b/wxPython/wx/tools/XRCed/params.py index ef153502b4..bb88297efb 100644 --- a/wxPython/wx/tools/XRCed/params.py +++ b/wxPython/wx/tools/XRCed/params.py @@ -11,19 +11,24 @@ from types import * from wxPython.xrc import * genericStyles = [ - 'wxCLIP_CHILDREN', - 'wxSIMPLE_BORDER', - 'wxSUNKEN_BORDER', - 'wxDOUBLE_BORDER', - 'wxRAISED_BORDER', - 'wxSTATIC_BORDER', - 'wxNO_BORDER', - 'wxTRANSPARENT_WINDOW', + 'wxSIMPLE_BORDER', 'wxDOUBLE_BORDER', 'wxSUNKEN_BORDER', + 'wxRAISED_BORDER', 'wxSTATIC_BORDER', 'wxNO_BORDER', + 'wxTRANSPARENT_WINDOW', 'wxTAB_TRAVERSAL', 'wxWANTS_CHARS', 'wxNO_FULL_REPAINT_ON_RESIZE', - 'wxFULL_REPAINT_ON_RESIZE', + 'wxVSCROLL', 'wxHSCROLL', 'wxALWAYS_SHOW_SB', + 'wxCLIP_CHILDREN', + 'wxFULL_REPAINT_ON_RESIZE' + ] + +genericExStyles = [ + 'wxWS_EX_VALIDATE_RECURSIVELY', 'wxWS_EX_BLOCK_EVENTS', -] + 'wxWS_EX_TRANSIENT', + 'wxFRAME_EX_CONTEXTHELP', + 'wxWS_EX_PROCESS_IDLE', + 'wxWS_EX_PROCESS_UI_UPDATES' + ] buttonSize = (35,-1) # in dialog units, transformed to pixels in panel ctor @@ -127,7 +132,7 @@ class ParamNonGenericStyle(ParamBinaryOr): class ParamExStyle(ParamBinaryOr): def __init__(self, parent, name): if g.currentXXX: - self.values = g.currentXXX.exStyles # constant at the moment + self.values = g.currentXXX.exStyles + genericExStyles else: self.values = [] ParamBinaryOr.__init__(self, parent, name) diff --git a/wxPython/wx/tools/XRCed/src-images/Locate.png b/wxPython/wx/tools/XRCed/src-images/Locate.png new file mode 100644 index 0000000000000000000000000000000000000000..0686506bdfd35f7135567ac66cd088ef03baa11c GIT binary patch literal 513 zcmV+c0{;DpP)mW z>7Uo-5&rVF+|FY1cRt0K9(KUXBt^dO&l0^vR}CD%4Sc<>DFLwj>VGUbpLIGU=)emG zzzk5T$)EYsB|^S{&R6Xq0>}BbZIwz7VEZ3MCv;P~LyXeZX;1-_k_Ns2AXw;v+ZF=~ z-&ZTjDAMZKIx56PqeC=6j3(A($Jb%y^cu*tDEPkbH`2kIcn0XuUBkc~#10~RK@}X_ zqJ6&zrd=@R&LR1i*`{y^_H*71L~w^Xgg%G_Wt9`lO}D!-MU+x-{2bl0qM#!r^)YzX zH6%a)xuk&J2c(OGK(9pO+*8!JRMC7z0OL7FxGP!pCk>1s3{;z;%t%00000NkvXXu0mjf Dct6)A literal 0 HcmV?d00001 diff --git a/wxPython/wx/tools/XRCed/src-images/LocateArmed.png b/wxPython/wx/tools/XRCed/src-images/LocateArmed.png new file mode 100644 index 0000000000000000000000000000000000000000..71379a7c8456e263bc1480b59af2f64cd894d17f GIT binary patch literal 502 zcmV!010qNS#tmY3ljhU3ljkVnw%H_000McNliru)dU(5Hw#`ehWr2k0fR|I zK~zXfwN){W!Y~j_PV~It`s+cucTikUpFAb$=_z;z67<*e2428176aq;mug}Y~nCtKYaT{6Fe!s#lXVF zx=V+`{9S>{qjUseBkj-}BnI48 z*8qCS1V&rbE{$>JoLR)XMUw`?T2fiUx~}&V=Bth7nkW(>hE*0DjZIn*Xxl3ZfLLLg z7xoMG@$|Nn5kPMlsGhn;tAVT1qD&o$OCILb7JyQj9_HVEI1ao>va1%oxLiNPe8iZ^ se=;_(Y+aIBEw6UCjmQ0i=ap;Y53~gg*Pi6qNdN!<07*qoM6N<$f}&c}XaE2J literal 0 HcmV?d00001 diff --git a/wxPython/wx/tools/XRCed/tree.py b/wxPython/wx/tools/XRCed/tree.py index 2b31396668..cb68fa49a6 100644 --- a/wxPython/wx/tools/XRCed/tree.py +++ b/wxPython/wx/tools/XRCed/tree.py @@ -81,13 +81,19 @@ class ID_NEW: GENERIC_DIR_CTRL = wxNewId() SPIN_CTRL = wxNewId() UNKNOWN = wxNewId() + WIZARD = wxNewId() + WIZARD_PAGE = wxNewId() + WIZARD_PAGE_SIMPLE = wxNewId() + STATUS_BAR = wxNewId() BOX_SIZER = wxNewId() STATIC_BOX_SIZER = wxNewId() GRID_SIZER = wxNewId() FLEX_GRID_SIZER = wxNewId() GRID_BAG_SIZER = wxNewId() + STD_DIALOG_BUTTON_SIZER = wxNewId() SPACER = wxNewId() + TOOL_BAR = wxNewId() TOOL = wxNewId() MENU = wxNewId() @@ -117,6 +123,9 @@ class PullDownMenu: ID_NEW.PANEL: 'wxPanel', ID_NEW.DIALOG: 'wxDialog', ID_NEW.FRAME: 'wxFrame', + ID_NEW.WIZARD: 'wxWizard', + ID_NEW.WIZARD_PAGE: 'wxWizardPage', + ID_NEW.WIZARD_PAGE_SIMPLE: 'wxWizardPageSimple', ID_NEW.TOOL_BAR: 'wxToolBar', ID_NEW.TOOL: 'tool', ID_NEW.MENU_BAR: 'wxMenuBar', @@ -161,6 +170,7 @@ class PullDownMenu: ID_NEW.GRID_SIZER: 'wxGridSizer', ID_NEW.FLEX_GRID_SIZER: 'wxFlexGridSizer', ID_NEW.GRID_BAG_SIZER: 'wxGridBagSizer', + ID_NEW.STD_DIALOG_BUTTON_SIZER: 'wxStdDialogButtonSizer', ID_NEW.SPACER: 'spacer', ID_NEW.UNKNOWN: 'unknown', } @@ -168,6 +178,7 @@ class PullDownMenu: (ID_NEW.PANEL, 'Panel', 'Create panel'), (ID_NEW.DIALOG, 'Dialog', 'Create dialog'), (ID_NEW.FRAME, 'Frame', 'Create frame'), + (ID_NEW.WIZARD, 'Wizard', 'Create wizard'), None, (ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar'), (ID_NEW.MENU_BAR, 'MenuBar', 'Create menubar'), @@ -178,6 +189,8 @@ class PullDownMenu: (ID_NEW.NOTEBOOK, 'Notebook', 'Create notebook control'), (ID_NEW.SPLITTER_WINDOW, 'SplitterWindow', 'Create splitter window'), (ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar'), +# (ID_NEW.WIZARD_PAGE, 'WizardPage', 'Create wizard page'), + (ID_NEW.WIZARD_PAGE_SIMPLE, 'WizardPageSimple', 'Create simple wizard page'), ] self.sizers = [ (ID_NEW.BOX_SIZER, 'BoxSizer', 'Create box sizer'), @@ -188,6 +201,8 @@ class PullDownMenu: 'Create flexgrid sizer'), (ID_NEW.GRID_BAG_SIZER, 'GridBagSizer', 'Create gridbag sizer'), +# (ID_NEW.STD_DIALOG_BUTTON_SIZER, 'StdDialogButtonSizer', +# 'Create standard button sizer'), (ID_NEW.SPACER, 'Spacer', 'Create spacer'), ] self.controls = [ @@ -229,6 +244,8 @@ class PullDownMenu: (ID_NEW.NOTEBOOK, 'Notebook', 'Create notebook control'), (ID_NEW.SPLITTER_WINDOW, 'SplitterWindow', 'Create splitter window'), (ID_NEW.TOOL_BAR, 'ToolBar', 'Create toolbar'), +# (ID_NEW.WIZARD_PAGE, 'Wizard Page', 'Create wizard page'), + (ID_NEW.WIZARD_PAGE_SIMPLE, 'WizardPageSimple', 'Create simple wizard page'), ], ['sizer', 'Sizers', (ID_NEW.BOX_SIZER, 'BoxSizer', 'Create box sizer'), @@ -240,6 +257,8 @@ class PullDownMenu: (ID_NEW.GRID_BAG_SIZER, 'GridBagSizer', 'Create gridbag sizer'), (ID_NEW.SPACER, 'Spacer', 'Create spacer'), + (ID_NEW.STD_DIALOG_BUTTON_SIZER, 'StdDialogButtonSizer', + 'Create standard button sizer'), ] ] self.menuControls = [ @@ -636,7 +655,8 @@ class XML_Tree(wxTreeCtrl): self.Apply(xxx, item) # apply changes treeObj = xxx.treeObject() if treeObj.className not in ['wxFrame', 'wxPanel', 'wxDialog', - 'wxMenuBar', 'wxToolBar']: + 'wxMenuBar', 'wxToolBar', 'wxWizard', + 'wxWizardPageSimple']: wxLogMessage('No view for this element (yet)') return # Show item in bold @@ -724,6 +744,10 @@ class XML_Tree(wxTreeCtrl): else: name = xxx.name elem.setAttribute('name', STD_NAME) + # Replace wizard page class temporarily + if xxx.__class__ in [xxxWizardPage, xxxWizardPageSimple]: + oldCl = elem.getAttribute('class') + elem.setAttribute('class', 'wxPanel') parent = elem.parentNode next = elem.nextSibling parent.replaceChild(self.dummyNode, elem) @@ -739,6 +763,8 @@ class XML_Tree(wxTreeCtrl): elem.removeAttribute('name') else: elem.setAttribute('name', xxx.name) + if xxx.__class__ in [xxxWizardPage, xxxWizardPageSimple]: + elem.setAttribute('class', oldCl) memFile.close() # write to wxMemoryFS xmlFlags = wxXRC_NO_SUBCLASSING # Use translations if encoding is not specified @@ -783,6 +809,32 @@ class XML_Tree(wxTreeCtrl): # Dialog's default code does not produce EVT_CLOSE EVT_BUTTON(testWin, wxID_OK, self.OnCloseTestWin) EVT_BUTTON(testWin, wxID_CANCEL, self.OnCloseTestWin) + elif xxx.__class__ == xxxWizard: + wiz = wxPreWizard() + res.LoadOnObject(wiz, None, STD_NAME, 'wxWizard') + # Find first page (don't know better way) + firstPage = None + for w in wiz.GetChildren(): + if isinstance(w, wxWizardPage): + firstPage = w + break + if not firstPage: + wxLogError('Wizard is empty') + else: + # Wizard should be modal + self.SetItemBold(item) + wiz.RunWizard(w) + self.SetItemBold(item, False) + wiz.Destroy() + elif xxx.__class__ in [xxxWizardPage, xxxWizardPageSimple]: + # Create new frame + if not testWin: + testWin = g.testWin = wxFrame(g.frame, -1, 'Wizard page: ' + name, + pos=pos, name=STD_NAME) + testWin.panel = wxPrePanel() + res.LoadOnObject(testWin.panel, testWin, STD_NAME, 'wxPanel') + testWin.SetClientSize(testWin.GetBestSize()) + testWin.Show(True) elif xxx.__class__ == xxxMenuBar: testWin = g.testWin = wxFrame(g.frame, -1, 'MenuBar: ' + name, pos=pos, name=STD_NAME) @@ -801,11 +853,12 @@ class XML_Tree(wxTreeCtrl): testWin.toolBar = res.LoadToolBar(testWin, STD_NAME) testWin.SetToolBar(testWin.toolBar) testWin.Show(True) - testWin.item = item - EVT_CLOSE(testWin, self.OnCloseTestWin) - testWin.highLight = None - if highLight and not self.pendingHighLight: - self.HighLight(highLight) + if testWin: + testWin.item = item + EVT_CLOSE(testWin, self.OnCloseTestWin) + testWin.highLight = None + if highLight and not self.pendingHighLight: + self.HighLight(highLight) except: if g.testWin: self.SetItemBold(item, False) @@ -818,12 +871,17 @@ class XML_Tree(wxTreeCtrl): wxMemoryFSHandler_RemoveFile('xxx.xrc') wxEndBusyCursor() - def OnCloseTestWin(self, evt): + def CloseTestWindow(self): + if not g.testWin: return self.SetItemBold(g.testWin.item, False) + g.frame.tb.ToggleTool(g.frame.ID_LOCATE_TOOL, False) g.testWinPos = g.testWin.GetPosition() g.testWin.Destroy() g.testWin = None + def OnCloseTestWin(self, evt): + self.CloseTestWindow() + # Return item index in parent def ItemIndex(self, item): n = 0 # index of sibling diff --git a/wxPython/wx/tools/XRCed/xrced.py b/wxPython/wx/tools/XRCed/xrced.py index d9ffccd342..be58feb3b5 100644 --- a/wxPython/wx/tools/XRCed/xrced.py +++ b/wxPython/wx/tools/XRCed/xrced.py @@ -54,7 +54,8 @@ Consult README file for the details. """ defaultIDs = {xxxPanel:'PANEL', xxxDialog:'DIALOG', xxxFrame:'FRAME', - xxxMenuBar:'MENUBAR', xxxMenu:'MENU', xxxToolBar:'TOOLBAR'} + xxxMenuBar:'MENUBAR', xxxMenu:'MENU', xxxToolBar:'TOOLBAR', + xxxWizard:'WIZARD'} ################################################################################ @@ -97,6 +98,14 @@ class Frame(wxFrame): # Idle flag self.inIdle = False + # Load our own resources + self.res = wxXmlResource('') + # !!! Blocking of assert failure occuring in older unicode builds + try: + self.res.Load(os.path.join(basePath, 'xrced.xrc')) + except wx._core.PyAssertionError: + print 'PyAssertionError was ignored' + # Make menus menuBar = wxMenuBar() @@ -124,8 +133,9 @@ class Frame(wxFrame): menu.Append(wxID_PASTE, '&Paste\tCtrl-V', 'Paste from the clipboard') self.ID_DELETE = wxNewId() menu.Append(self.ID_DELETE, '&Delete\tCtrl-D', 'Delete object') -# menu.AppendSeparator() + menu.AppendSeparator() self.ID_LOCATE = wxNewId() + self.ID_LOCATE_TOOL = wxNewId() menu.Append(self.ID_LOCATE, '&Locate\tCtrl-L', 'Locate control in test window and select it') menuBar.Append(menu, '&Edit') @@ -146,6 +156,8 @@ class Frame(wxFrame): menu.Append(self.ID_AUTO_REFRESH, '&Auto-refresh\tCtrl-A', 'Toggle auto-refresh mode', True) menu.Check(self.ID_AUTO_REFRESH, conf.autoRefresh) + self.ID_TEST_HIDE = wxNewId() + menu.Append(self.ID_TEST_HIDE, '&Hide\tCtrl-H', 'Close test window') menuBar.Append(menu, '&View') menu = wxMenu() @@ -175,6 +187,10 @@ class Frame(wxFrame): tb.AddSimpleTool(wxID_COPY, images.getCopyBitmap(), 'Copy', 'Copy') tb.AddSimpleTool(wxID_PASTE, images.getPasteBitmap(), 'Paste', 'Paste') tb.AddControl(wxStaticLine(tb, -1, size=(-1,23), style=wxLI_VERTICAL)) + tb.AddCheckTool(self.ID_LOCATE_TOOL, + images.getLocateBitmap(), images.getLocateArmedBitmap(), + 'Locate', 'Locate control in test window and select it') + tb.AddControl(wxStaticLine(tb, -1, size=(-1,23), style=wxLI_VERTICAL)) tb.AddSimpleTool(self.ID_TEST, images.getTestBitmap(), 'Test', 'Test window') tb.AddSimpleTool(self.ID_REFRESH, images.getRefreshBitmap(), 'Refresh', 'Refresh view') @@ -184,6 +200,7 @@ class Frame(wxFrame): tb.AddSeparator() # otherwise auto-refresh sticks in status line tb.ToggleTool(self.ID_AUTO_REFRESH, conf.autoRefresh) tb.Realize() + self.tb = tb self.minWidth = tb.GetSize()[0] # minimal width is the size of toolbar @@ -201,12 +218,14 @@ class Frame(wxFrame): EVT_MENU(self, wxID_PASTE, self.OnPaste) EVT_MENU(self, self.ID_DELETE, self.OnCutDelete) EVT_MENU(self, self.ID_LOCATE, self.OnLocate) + EVT_MENU(self, self.ID_LOCATE_TOOL, self.OnLocate) # View EVT_MENU(self, self.ID_EMBED_PANEL, self.OnEmbedPanel) EVT_MENU(self, self.ID_SHOW_TOOLS, self.OnShowTools) EVT_MENU(self, self.ID_TEST, self.OnTest) EVT_MENU(self, self.ID_REFRESH, self.OnRefresh) EVT_MENU(self, self.ID_AUTO_REFRESH, self.OnAutoRefresh) + EVT_MENU(self, self.ID_TEST_HIDE, self.OnTestHide) # Help EVT_MENU(self, wxID_ABOUT, self.OnAbout) EVT_MENU(self, self.ID_README, self.OnReadme) @@ -215,6 +234,8 @@ class Frame(wxFrame): EVT_UPDATE_UI(self, wxID_CUT, self.OnUpdateUI) EVT_UPDATE_UI(self, wxID_COPY, self.OnUpdateUI) EVT_UPDATE_UI(self, wxID_PASTE, self.OnUpdateUI) + EVT_UPDATE_UI(self, self.ID_LOCATE, self.OnUpdateUI) + EVT_UPDATE_UI(self, self.ID_LOCATE_TOOL, self.OnUpdateUI) EVT_UPDATE_UI(self, wxID_UNDO, self.OnUpdateUI) EVT_UPDATE_UI(self, wxID_REDO, self.OnUpdateUI) EVT_UPDATE_UI(self, self.ID_DELETE, self.OnUpdateUI) @@ -407,7 +428,7 @@ class Frame(wxFrame): error = False # Top-level x = xxx.treeObject() - if x.__class__ in [xxxDialog, xxxFrame, xxxMenuBar]: + if x.__class__ in [xxxDialog, xxxFrame, xxxMenuBar, xxxWizard]: # Top-level classes if parent.__class__ != xxxMainNode: error = True elif x.__class__ == xxxToolBar: @@ -581,6 +602,9 @@ class Frame(wxFrame): if not tree.selection: return # key pressed event tree.ShowTestWindow(tree.selection) + def OnTestHide(self, evt): + tree.CloseTestWindow() + # Find object by relative position def FindObject(self, item, obj): # We simply perform depth-first traversal, sinse it's too much @@ -603,6 +627,11 @@ class Frame(wxFrame): item = self.FindObject(g.testWin.item, evt.GetEventObject()) if item: tree.SelectItem(item) + self.tb.ToggleTool(self.ID_LOCATE_TOOL, False) + if item: + self.SetStatusText('Selected %s' % tree.GetItemText(item)) + else: + self.SetStatusText('Locate failed!') def SetHandler(self, w, h=None): if h: @@ -616,8 +645,16 @@ class Frame(wxFrame): def OnLocate(self, evt): if g.testWin: - self.SetHandler(g.testWin, g.testWin) - g.testWin.Connect(wxID_ANY, wxID_ANY, wxEVT_LEFT_DOWN, self.OnTestWinLeftDown) + if evt.GetId() == self.ID_LOCATE or \ + evt.GetId() == self.ID_LOCATE_TOOL and evt.IsChecked(): + self.SetHandler(g.testWin, g.testWin) + g.testWin.Connect(wxID_ANY, wxID_ANY, wxEVT_LEFT_DOWN, self.OnTestWinLeftDown) + if evt.GetId() == self.ID_LOCATE: + self.tb.ToggleTool(self.ID_LOCATE_TOOL, True) + elif evt.GetId() == self.ID_LOCATE_TOOL and not evt.IsChecked(): + self.SetHandler(g.testWin, None) + g.testWin.Disconnect(wxID_ANY, wxID_ANY, wxEVT_LEFT_DOWN) + self.SetStatusText('Click somewhere in your test window now') def OnRefresh(self, evt): # If modified, apply first @@ -744,6 +781,7 @@ Homepage: http://xrced.sourceforge.net\ nodes = elem.childNodes[:] tags = [] for node in nodes: + if node.nodeType != minidom.Node.ELEMENT_NODE: continue remove = False tag = node.tagName if tag == 'object': @@ -766,6 +804,8 @@ Homepage: http://xrced.sourceforge.net\ dummy.unlink() # Change class name elem.setAttribute('class', className) + if elem.hasAttribute('subclass'): + elem.removeAttribute('subclass') # clear subclassing # Re-create xxx element xxx = MakeXXXFromDOM(parentXXX, elem) # Update parent in child objects @@ -835,6 +875,8 @@ Homepage: http://xrced.sourceforge.net\ evt.Enable((self.clipboard and tree.selection) != None) elif evt.GetId() == self.ID_TEST: evt.Enable(tree.selection is not None and tree.selection != tree.root) + elif evt.GetId() in [self.ID_LOCATE, self.ID_LOCATE_TOOL]: + evt.Enable(g.testWin is not None) elif evt.GetId() == wxID_UNDO: evt.Enable(undoMan.CanUndo()) elif evt.GetId() == wxID_REDO: evt.Enable(undoMan.CanRedo()) @@ -894,7 +936,8 @@ Homepage: http://xrced.sourceforge.net\ # Numbers for new controls self.maxIDs = {} self.maxIDs[xxxPanel] = self.maxIDs[xxxDialog] = self.maxIDs[xxxFrame] = \ - self.maxIDs[xxxMenuBar] = self.maxIDs[xxxMenu] = self.maxIDs[xxxToolBar] = 0 + self.maxIDs[xxxMenuBar] = self.maxIDs[xxxMenu] = self.maxIDs[xxxToolBar] = \ + self.maxIDs[xxxWizard] = 0 def Open(self, path): if not os.path.exists(path): @@ -1040,13 +1083,6 @@ class App(wxApp): # Create main frame frame = Frame(pos, size) frame.Show(True) - # Load resources from XRC file (!!! should be transformed to .py later?) - frame.res = wxXmlResource('') - # !!! Temporary blocking of assert failure occuring in unicode build - try: - frame.res.Load(os.path.join(basePath, 'xrced.xrc')) - except wx._core.PyAssertionError: - pass # Load file after showing if args: diff --git a/wxPython/wx/tools/XRCed/xrced.xrc b/wxPython/wx/tools/XRCed/xrced.xrc index 54a6e8b617..7af376ede4 100644 --- a/wxPython/wx/tools/XRCed/xrced.xrc +++ b/wxPython/wx/tools/XRCed/xrced.xrc @@ -1,4 +1,4 @@ - + Text Dialog @@ -10,19 +10,35 @@ wxHORIZONTAL + + 250,100 + + + + + + wxALL|wxEXPAND + + 5 + + + + wxEXPAND + + wxEXPAND @@ -30,19 +46,33 @@ wxHORIZONTAL + + + + 1 + + wxRIGHT + + 10 + + + + wxALL|wxALIGN_CENTRE_HORIZONTAL + + 10 @@ -59,10 +89,18 @@ wxHORIZONTAL + + + + + + wxTOP|wxBOTTOM|wxLEFT|wxEXPAND + + 5 @@ -70,44 +108,78 @@ wxVERTICAL + + + + wxBOTTOM|wxEXPAND + + 5 + + + + wxEXPAND + + 10,20 + + + + + + wxBOTTOM|wxEXPAND + + 5 + + + + wxEXPAND + + wxALL|wxEXPAND + + 5 + + + + wxEXPAND + + wxEXPAND @@ -115,19 +187,33 @@ wxHORIZONTAL + + + + 1 + + wxRIGHT + + 10 + + + + wxALL|wxALIGN_CENTRE_HORIZONTAL + + 10 @@ -144,10 +230,18 @@ wxHORIZONTAL + + + + + + wxTOP|wxBOTTOM|wxLEFT|wxEXPAND + + 5 @@ -155,44 +249,78 @@ wxVERTICAL + + + + wxBOTTOM|wxEXPAND + + 5 + + + + wxEXPAND + + 10,20 + + + + + + wxBOTTOM|wxEXPAND + + 5 + + + + wxEXPAND + + wxALL|wxEXPAND + + 5 + + + + wxEXPAND + + wxEXPAND @@ -200,19 +328,33 @@ wxHORIZONTAL + + + + 1 + + wxRIGHT + + 10 + + + + wxALL|wxALIGN_CENTRE_HORIZONTAL + + 10 @@ -225,16 +367,30 @@ wxVERTICAL + + + + 250,250 + + + + + + wxALL|wxEXPAND + + 5 + + wxEXPAND @@ -242,19 +398,33 @@ wxHORIZONTAL + + + + 1 + + wxRIGHT + + 10 + + + + wxALL|wxALIGN_CENTRE_HORIZONTAL + + 10 @@ -271,12 +441,24 @@ wxVERTICAL + + + + 80,100 + + + + + + wxALL|wxALIGN_CENTRE_HORIZONTAL + + 10 @@ -284,26 +466,44 @@ wxVERTICAL + + + + wxBOTTOM + + 3 + + + + wxALL|wxALIGN_CENTRE_HORIZONTAL + + 5 + + + + wxEXPAND + + wxEXPAND @@ -311,19 +511,33 @@ wxVERTICAL + + + + 1 + + wxBOTTOM + + 5 + + + + wxALL|wxALIGN_CENTRE_HORIZONTAL + + 10 @@ -339,12 +553,18 @@ 2 + + + + wxALIGN_CENTRE_VERTICAL + + wxART_ADD_BOOKMARK wxART_DEL_BOOKMARK @@ -360,13 +580,20 @@ wxART_GO_TO_PARENT wxART_GO_HOME wxART_FILE_OPEN + wxART_FILE_SAVE + wxART_FILE_SAVE_AS wxART_PRINT wxART_HELP wxART_TIP wxART_REPORT_VIEW wxART_LIST_VIEW wxART_NEW_DIR + wxART_HARDDISK + wxART_FLOPPY + wxART_CDROM + wxART_REMOVABLE wxART_FOLDER + wxART_FOLDER_OPEN wxART_GO_DIR_UP wxART_EXECUTABLE_FILE wxART_NORMAL_FILE @@ -377,15 +604,32 @@ wxART_WARNING wxART_INFORMATION wxART_MISSING_IMAGE + wxART_COPY + wxART_CUT + wxART_PASTE + wxART_DELETE + wxART_UNDO + wxART_REDO + wxART_QUIT + wxART_FIND + wxART_FIND + + wxRIGHT|wxEXPAND + + 5 + + + + wxALIGN_CENTRE_VERTICAL @@ -393,23 +637,39 @@ wxHORIZONTAL + + + + wxRIGHT|wxEXPAND + + 5 + + + + 40,-1d + + wxRIGHT|wxEXPAND + + 5 2 1 + + wxEXPAND diff --git a/wxPython/wx/tools/XRCed/xxx.py b/wxPython/wx/tools/XRCed/xxx.py index 29809fdfdf..bd0c72a08d 100644 --- a/wxPython/wx/tools/XRCed/xxx.py +++ b/wxPython/wx/tools/XRCed/xxx.py @@ -335,6 +335,7 @@ class xxxParamFont(xxxObject, xxxNode): class xxxContainer(xxxObject): hasChildren = True + exStyles = [] # Simulate normal parameter for encoding class xxxEncoding: @@ -362,37 +363,34 @@ class xxxPanel(xxxContainer): allParams = ['pos', 'size', 'style'] styles = ['fg', 'bg', 'font', 'enabled', 'focused', 'hidden', 'exstyle', 'tooltip'] - winStyles = ['wxNO_3D', 'wxTAB_TRAVERSAL', 'wxCLIP_CHILDREN'] - exStyles = ['wxWS_EX_VALIDATE_RECURSIVELY'] class xxxDialog(xxxContainer): allParams = ['title', 'centered', 'pos', 'size', 'style'] paramDict = {'centered': ParamBool} required = ['title'] default = {'title': ''} - winStyles = ['wxDEFAULT_DIALOG_STYLE', 'wxSTAY_ON_TOP', -## 'wxDIALOG_MODAL', 'wxDIALOG_MODELESS', - 'wxCAPTION', 'wxSYSTEM_MENU', 'wxRESIZE_BORDER', 'wxRESIZE_BOX', + winStyles = ['wxDEFAULT_DIALOG_STYLE', + 'wxCAPTION', 'wxMINIMIZE_BOX', 'wxMAXIMIZE_BOX', 'wxCLOSE_BOX', + 'wxSTAY_ON_TOP', 'wxTHICK_FRAME', - 'wxNO_3D', 'wxTAB_TRAVERSAL', 'wxCLIP_CHILDREN'] + 'wxNO_3D', 'wxDIALOG_NO_PARENT'] styles = ['fg', 'bg', 'font', 'enabled', 'focused', 'hidden', 'exstyle', 'tooltip'] - exStyles = ['wxWS_EX_VALIDATE_RECURSIVELY'] class xxxFrame(xxxContainer): allParams = ['title', 'centered', 'pos', 'size', 'style'] paramDict = {'centered': ParamBool} required = ['title'] default = {'title': ''} - winStyles = ['wxDEFAULT_FRAME_STYLE', 'wxDEFAULT_DIALOG_STYLE', + winStyles = ['wxDEFAULT_FRAME_STYLE', + 'wxCAPTION', 'wxMINIMIZE_BOX', 'wxMAXIMIZE_BOX', 'wxCLOSE_BOX', 'wxSTAY_ON_TOP', - 'wxCAPTION', 'wxSYSTEM_MENU', 'wxRESIZE_BORDER', - 'wxRESIZE_BOX', 'wxMINIMIZE_BOX', 'wxMAXIMIZE_BOX', - 'wxFRAME_FLOAT_ON_PARENT', 'wxFRAME_TOOL_WINDOW', - 'wxNO_3D', 'wxTAB_TRAVERSAL', 'wxCLIP_CHILDREN'] + 'wxSYSTEM_MENU', 'wxRESIZE_BORDER', + 'wxFRAME_TOOL_WINDOW', 'wxFRAME_NO_TASKBAR', + 'wxFRAME_FLOAT_ON_PARENT', 'wxFRAME_SHAPED' + ] styles = ['fg', 'bg', 'font', 'enabled', 'focused', 'hidden', 'exstyle', 'tooltip'] - exStyles = ['wxWS_EX_VALIDATE_RECURSIVELY'] class xxxTool(xxxObject): allParams = ['bitmap', 'bitmap2', 'toggle', 'tooltip', 'longhelp', 'label'] @@ -409,6 +407,23 @@ class xxxToolBar(xxxContainer): 'style': ParamNonGenericStyle} winStyles = ['wxTB_FLAT', 'wxTB_DOCKABLE', 'wxTB_VERTICAL', 'wxTB_HORIZONTAL', 'wxTB_TEXT'] +class xxxWizard(xxxContainer): + allParams = ['title', 'bitmap', 'pos'] + required = ['title'] + default = {'title': ''} + winStyles = [] + exStyles = ['wxWIZARD_EX_HELPBUTTON'] + +class xxxWizardPage(xxxContainer): + allParams = ['bitmap'] + winStyles = [] + exStyles = [] + +class xxxWizardPageSimple(xxxContainer): + allParams = ['bitmap'] + winStyles = [] + exStyles = [] + ################################################################################ # Bitmap, Icon @@ -622,6 +637,9 @@ class xxxGridSizer(xxxSizer): required = ['cols'] default = {'cols': '2', 'rows': '2'} +class xxxStdDialogButtonSizer(xxxSizer): + allParams = [] + # For repeated parameters class xxxParamMulti: def __init__(self, node): @@ -774,6 +792,9 @@ xxxDict = { 'wxFrame': xxxFrame, 'tool': xxxTool, 'wxToolBar': xxxToolBar, + 'wxWizard': xxxWizard, + 'wxWizardPage': xxxWizardPage, + 'wxWizardPageSimple': xxxWizardPageSimple, 'wxBitmap': xxxBitmap, 'wxIcon': xxxIcon, @@ -815,6 +836,7 @@ xxxDict = { 'wxGridSizer': xxxGridSizer, 'wxFlexGridSizer': xxxFlexGridSizer, 'wxGridBagSizer': xxxGridBagSizer, + 'wxStdDialogButtonSizer': xxxStdDialogButtonSizer, 'sizeritem': xxxSizerItem, 'spacer': xxxSpacer,