From 83295419679809fe7a1f421d68c39a438b45f97a Mon Sep 17 00:00:00 2001 From: Roman Rolinsky Date: Tue, 8 May 2007 18:28:14 +0000 Subject: [PATCH] using Tango icons on Mac git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/wx/tools/XRCed/images.py | 529 ++++++++++++++++++++++++++++-- wxPython/wx/tools/XRCed/xrced.py | 53 +-- 2 files changed, 537 insertions(+), 45 deletions(-) diff --git a/wxPython/wx/tools/XRCed/images.py b/wxPython/wx/tools/XRCed/images.py index a960ae3334..cdc0d4d7b1 100644 --- a/wxPython/wx/tools/XRCed/images.py +++ b/wxPython/wx/tools/XRCed/images.py @@ -7,19 +7,56 @@ import cStringIO def getAutoRefreshData(): 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\xfdIDATH\x89\xc5T\xcb\x12\x820\x0c\xdc\x14\x0f\xf5O9\x16\xb88|\x80\xe3E\ -\xcd\xd1?\x95\x8b\xe2\xa9P2M[P\xc6\x9d\xe9\x81>vI6\t\x91\xa9\xb0'\xcc\xae\ -\xec\x00\x0e\xa5\x17\x9f\xef\xd7(\xf7\x8e\xa6\xa2\xdc\xbb\xa2\x08B\xf2\x07sR\ -\xb4X\xc0?\x8e\x91\x87\x7f\x9e\x13IF\x10#o\xda\x8e\xa4\xc8\xfdvUE\x8a=\xa8\ -\x9d+\xca\xb9\x04ie\xaa\x85\xae\xa5G\x13/\x16\x08\xcdm\xda\x8e\xc6\xf3\xf2\ -\x9c-O\xe9[% \x89\x01\xc0\x93\xb3e\xd4\xce\xc1^t\x11\xd5\x83\xa3\xa9\xc8\x9b\ -'\x1fQ?\x9f\xe5\xa0F\x90\x83L\x11\x10\x8f`\xd3\xa8\x08S4\x9c\xd2ww\x9fE\xd9F\ -Ku\xaa\x1bf\x837\t\x84B\xe17\xf5\xcb\x9ag\xcb\x93\xa0D\xd6\xe4\xb0\\\xa5\x81\ -\xb1R\x06D\xd5\x91\xa9\x92k\x00F\xbf\xb4}f\x1e\xb5\xf7\xd9\x14\xc5F\x836\xbe\ -c(\xee\x83\x98\xd9r\xc2~%\x00\xc4\xc7r\x8a|\xb5\xc0\x16\xfc\xb7\xd1~\x81\x0f\ -\xa3~\xa27=\x9c\x90\xeb\x00\x00\x00\x00IEND\xaeB`\x82" +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x04\xdaIDAT8\x8d\xc5\x95[lTE\x18\xc7\xff3s\xce\x9e\xed\x9en[\xb6\x97\xa5+\ +\xb4\x05B%\n\x08\xb4\x94kkK!>\xa0$\x1aC\x1a\x8a\t/\x06|T\x89\t\xd1\x18\x8d1\ +\xc4\xa0!\x01\r\xa0\x04/\xb0\x05\x8a\x0f\x06D\xf1A\xe8-@Yz\xa3AZDm\x97n/\x0b\ +t\xdb\xbd\x9f\xdb\x8c\x0flk[j\xe2\x9b\x93\xfc\x93/3\xdf\xfcf\xbeo\xfe\xc9\ +\x00\xff\xe7\xd8^\xbf\x97\xfd\x97\xbc\xca3k\x8b6\x9e[\xe7\x02\x002k\xc2we\ +\xc5L\x91\xdfa\xc0&\xc34\xf3\x05\xb8L\t\x8bRJ\x83\\X\x979\xe7\xe7H\x947]\xd9\ +\xddfL\xec)?\xbd\xc6\xcd8\xbf\xaa\xc1\xdct\xad\xb6\xa3\x7f\x1a\x98\x88ZR}\ +\xf6\xaf\xe3\x00j6\xcc/\xb7=\x9d\xf7\x8c\xe4TT0\xc2\x9044\xc4\x8d\x18\xee\ +\x8f\xf7[\x9dC\x1d\xb1`l\x84A\x90OL[\xf4\xa0CO\xa7I\n\x1f,\xab\x98\x08Q\xd8\ +\xf0Z\x9b\x7f\x1ax\xf3\x99\xf5_\x17f.\xd8\xbec\xf9N\x87fi\x08\'\xc7\xa0*N8d\ +\x15\x14\x14\x94\x10\x08\x00\x94\x10D\xb4\x08Z\xfa\x1a\x92\xad\x81V\xdd"bpc\ +\xc1\xc6\x85\xb7G\xba\x8dPb|Icm\xeb\x804Y\xfe\xc9\x925\xaa\xac\xbe\xbai\xe1f\ +\xc7Q\xdf\x17<\x98x@%P\x98\x9c\x0bJ\x84\xe9V\xf3\x13\xa5\xf3\xca\xd4\x95sW1\ +\x03\x1c\x9aH\xa0rQ\xb5}\xd5\xbcR\xfb\x1f\xa3\xf7\x9cU\x85[\xc8\xad\xe1NS\ +\xa7:\x07\x00:\x01f\x92}\x8f\xd3\x96\xa1\x9eh?.\xc6\xcd0Q\xe5\xb4\xa4eY\xf5\ +\x8d\xb5\xad\xd4\x12\t\xf7@,\xb0\xe5\xa7\xdf/~\xbf\xbf\xf9\xa3x\xfb\x90O\xa4\ +1\x15\x83\x89\x00\xc6\xccQ\x94z\xca\x88D%\xe8\x96\x055)M\x07S\xe0\x85\xfe\ +\xb0\x9f\xb8\x9c\xd9\xa1b\xf7\xe2\x8e\xa4\xa9\x87\xc0q\x00\x00\x9aj\xbbC-;n\ +\xde\xb8\\s\xb5F\xb3\x8c\r\xbf\xdc\xbd\xe4;\xd1\xf6U<\x93f\xe1)G\x01Z\x82\r\ +\x90\xa9\r\x10\x16\xd1\x996\x1dl\x11\xa18l\x8e@Q^\xc11\xd5\x9eq\n\x14w\xb9b\ +\x85f:\xa6\xb9\xd6\xd7\xa9\x9b\xfa\xbe\x88\x1ef\x0e\xd9\x89\xe1D\x00\x00\x87\ +B\xed0\x84E \xcb\x1c\x00&{,,+\x9e\x91\x9esH\xb5g\\\x88+\xdaC\x9d\x88o\xdd\ +\xb9\x19\xe1\x99\xe0\no\xc92\x06\xe9\xfc\xeb%o(nG\x1e\xd6\xe7UBa\n87\t\ +\x97m\xd3\xc1.\x8fc\x81\xd9x\x9e\x7f\xf0\xe2y>\x9b\xb7\x01\xa0\xe2dI>\'\xe4\ +\x12\xe1\x96\xe3\x88\xef\xb0&\x84\x80E\x04\xa8\x10\xe0B\xc0\x04\xb7\x99\xb1\ +\xc7\x8f7i\xb7J\xef\xea\x07\x9c\x90\xf4\xd9\x80B\x88\x88$\xc8\x96\xa4k\xb4G\ +\x04\xd3\xd3\xfe\xed`*d\xe5\xda\xae\xe2\xa0 ^!M\x99\xcf\xfaf\xabW\x92\xa9\r\ +\x82\x08PPhf\x12\x1f6\xbf\xab\xf9\xc3}o]\xd9y\xa3+\x95\xa7\x01@\xd5\xb1\x12\ +\xd9p\xc1\xb1rEy2G\x9f3\xa7\xe7~\xd7\xfa\xa1G\xf7\xbf\x14\xc4\x9b3\xad\x15\ +\x16@\x14\xc9\x8e\x96\x91_A\x04\xc1\xea\xdc\r8{\xc7\xab\rD\xfd\x9f7\xd4\xfaN\ +\xcd\xbc\x1dO\x97\xdcv\x8b\x1d\xc9\x88H?$\xf8xn8\x16\xda\xcd$\x9b5y\xfb\x89\ +\x80\xa5\xfa\xa2s\x13\x1eu>\x04\x80\xee\x07]\x82\x80.[{z\xf5\xfc\x99`\x06dpa\ +\xad\x0b\xc7\xc3;{\x03\xb7\xf7F\x13\x91"&\xc8\x9f\x13\xeb\xff\xb8B\x08B@\xb1\ +4k9\x86\xe2\x03\x90\xa8\x84\xfdU\x9f\xd9\xeb{\xea\xaa\x7f\xbe\xf7cOU]\xd9a\ +\x83\xf3\x9b\xa0\xf0+&\x95,\xf0O\xd3\xe4\xb4\xac\x9e\xc0\x9dJ\xbbd\x13.5\xdb\ +x\x94\x08\x1d\x7f\x02\x0c\x00\x84\x10\xc4\xf58\x16g>\x0b\xc3\xd2p+\xd4\x86\ +\xf2\x82\nV\xea)s\xb4\r\xf9\xde\x1e\x8e\x0c%\x07#\x01\xf20\xf1HU\x08C^\x9a\ +\x1bK\xf2\x96 G\xcd%u\x9d\xa7\x92TO\xf7>\x01\xa6\x94\x92\xfep\x1f\xdek\xdc7F\ +A\xe9\xd6E/\xd9\x9e/\xac\xb2\x8f\x99\xa3\x10\xe0X\x91\xbfR2\xe6.Mg\xa0 \xa00\ +\x85\x01\x83\x9b\x18\xd7B8\xdd\xe1\x8d\x1a\x86\xf5f\xf3\xae\xcb\xc9\xa9\xad\ +\x05\x00V\xf4\x8a\xe7\xfd\x1b\x03\xd7b}M\xfem]\x87z\x0f\x062\xfd\x83\xd7C\ +\xcd\x8b\xc6\x93\xe3\xaa\xccl\xd4is\x12\xa7\xec\x04\x07\x87\xc9MD\xf5\x08\ +\xda\x07n\xf2\x8b\xbd\x17\xb4\xf0P\xe4\xc0\xd5=\xed\xde\x14O\x00\xb0&|l\xaf\ +\xf0\x96\x84B\xbfE\xb7w\x7f\xdc{\x1b@ZJ\xf6\xa2m\x9e\xe7<\xd5\xee\x1a6G^%Q(\ +\x0eY5\x12f\x9cq!`Dy\xcbHS\xf0\xc8\xbd:\x7f\x17\x80DJq\x00\xf1\t0Y{t\xf9\xcb\ +\xd7\xf7\xdcj\x04`\x07\xa0L\x91\x9c\x12\x93\xb3\x99\x9c\xbd\xd4\xe5\x8a\x0e\ +\xc7C\xd1\xdeX\x08\x80\x8e\xc7\xbe\xd6R\xd0H*\x16\xb3}Ml\nlB\xd2\xd42S2R\xd2\ +\x01\x98\xa9\xb9\xc9\xf17D|>\xc5\x05Q\xf4%\x00\x00\x00\x00IEND\xaeB`\x82' def getAutoRefreshBitmap(): return BitmapFromImage(getAutoRefreshImage()) @@ -33,6 +70,109 @@ def getAutoRefreshIcon(): icon.CopyFromBitmap(getAutoRefreshBitmap()) return icon +#---------------------------------------------------------------------- +def getCopyData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x02hIDAT8\x8d\x95\x95\xcfO\x13A\x14\xc7\xbfof\xb7\xbf\x0e\xed\xad\x7fA\xdbm\ +\xfd?\x8c!\x9e<\x99x\xf4\xcc\x01\xa2` \x9eM\x00\x0b*\x89\x12C\xe2\xd9\x8bWO&\ +\x86@\x1b"AH\x80\xd6z\xc6\x03p\xb0DL\xb7\xd3\xce\xf30\xec\xb6S\xb7K\x99K\x9b\ +\xbe\xb7\x9f\xf9\xbc7o\xa7T}\xb5\xf2\x90\xb5.\xe3\x96\x8b\x84h>\x99\x99\xfb8\ +.\xee\xa8n\xd7{6\xb7x[.^\xbfY\xf5\xe2\xe2\x8e\x10\x04\x00h\xb7\x7fO\x0c\xcdf\ +s \xa2\xd8\x1c\'.\xc8\xcc\xd4\xedv\xe5\xc8oH$\x92`f\x9e\x18\xdcj\xfd\xb4\xa0\ +\xfb\x07{\x8f\xae\xae\xfe\x14\x00\x0cA\x08Df\x83\x97\xabKQ=$"\xfal\x81K\xa5b\ +\xf8\xdd\xf7}\xf9u\xebKa\xfe\xe9\x021s|\xdd6\x15\xd5\xb5\xe5\xa9\xb1\xc6\xaa\ +\xa7pmJ\x97\x97\xedI\xb9\xc8fs\x00\xc0c\x8d;\x9d\x0evj[\x13\x03\x01\xd3\x9e`\ +E\x18\x9b\xa0R]+\xb1\xd1h\xdc\x08-\x97+\xd1\xe0b\xb1\x00\xc3bc\\\xdf\x0ec\ +\xe5r\xf4;\x14l\xce\xcc\xd1\xc6\xcc\x8cV\xab\x15\x82\x95RVb\xb3\xd9\x8c\x84\ +\x0eR\x18\x95\xca\x9d\x018\x0803\n\x85!c\xdfG}w\'L\xacT\x06e\xda\x96&\x9f\ +\x88\xe2\x8cM\x8f\x99\x19J\xf5\xfe3\x1e\x06\x9a\xcf`\xd32\x98\x81d2i\x83\xb5\ +\xd6\xa1\xb1\x01\x03\xbe\xdf\xc1\xee\xb7Z\x98\xe8y^h7jL$\xe08\x12J)h\xad\x07\ +\xe0~\xbfo\x95\xc5l\x8f\x0e3\xe3\xe4$\x98\n;/\x93\xc9 \x97\xcb\x01\x00\xf2\ +\xf9|\xc8\x1a\x02\x07\xb0\xc0\x82,\xb0\xe7\x95, \xc0\x10BBJ\t\xad5\x84\x10\ +\x08\xaa\xbf><3\x01\xe9t:l\t\x11\xc1u\xdd\x91\xc3"\x10\r\xa6\xc0u]\x10\tc\ +\xe78\xe1\xe1\xd5\xea\xdb\xd0Z\xc3q\x13\x89\x1fo7\xd6#\x87\x94\x88\xc2\xcd\ +\x86m\x85\x10 \x12\xd0Z\xe3\xfd\xe6\xbb\xa8G\x0f\x9c\xb8\x7f\x81\xa5\x95\x17\ +\x0b\xa3\xfd\x0f\xcagf\xd3\x060\xa6\xee\xde\x07\x00\x9c_\x9ca\xff\xfb\x1e\ +\x98\xb0\x11{\x1f\x8f\xf6\xdfu\x1dHi\x1e1\xd6\x04)\xcdu}\xfa\xeb\x14G\xc7\ +\x87He2\xeb3\xd3\xb3\x9b7\x82\x95RH\xa5R\xd6++\xe5\xc0\xba\xdf\xd78\xbf8\xc3\ +\xd1\xf1! \xe8\xf1\xcc\xf4\xec\x07\x00\x88\xbdg\xabk\xcb\x9fz\xbd\xde\x03\ +\xc0\x1e\xbf`1\x18\x0ch\x01\xaai\xf0\xbd\xc5\xf9\xe7\x7f\x83\xd8?\xc6\x94\ +\x9d\nm\x8c\xaf\xa9\x00\x00\x00\x00IEND\xaeB`\x82' + +def getCopyBitmap(): + return BitmapFromImage(getCopyImage()) + +def getCopyImage(): + stream = cStringIO.StringIO(getCopyData()) + return ImageFromStream(stream) + +def getCopyIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getCopyBitmap()) + return icon + +#---------------------------------------------------------------------- +def getCutData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x04/IDAT8\x8d\x85\x93]H\\G\x14\xc7\xffsw\xee\xde\xbbYM\xe2\xc7\xc6\x98]u\ +\x0bmbiblK\xaa\x11\rI\xb4\xa5-}\x08\x01i)\x92\xbe\x08JmZ\xe9\x83\n[Z,\x08\ +\xc6\x06\xb4\x14!\xa4!\x0f!\x14?\x82\xb1\x86\x90\x16S\x89i\x8a\xb5\x0f5%&i\ +\xa4\x15c\xd5m\xdc\xac\xba\xdfw\xef\x9d\xb9\xd3\x07W\xb0\xcb\xba90\x0c\xcc9\ +\xe77\xffs8\x87 \xc9\xba\xbf>;a\x9af\xb9a\x18Um-\x9e;\xc9\xfe\r\xeb\xec\xeah\ +\x06\xd0\xad\xaa\xb6\xc5\xe6\x8f?u%\xfb\xa5\xe4`I\x92\xca\x0e\x1d*CnN\xee\ +\xe8VP\x00PU\xf5\xab\xb7\xdfz\x07\x92$9;\xbb:\xae\xa6\x05\xdb\xed\xf6\x0f\ +\xdfx\xfdM\xe2.|\x0e\x16\xc9\xa2~{\xe1\\{*\xe87\xbd=}\xce=N\x9a\xb53\x1bG\ +\xaa\x8ebw\xde\xee\x03i\xc1\x8c1gn\x8e\x03\x00Pu\xe4(\x00x\x92\x13:\xbb:\x8a\ +\xe2\xf1\xf8\xbb\xe5e\x15\xe0\x9cCUUD\xa2\x91\x82\xb4\xe0x<>3r\xed\xaai\xb5Z\ +!S\x19yy\xf9\x96\xcb\xdf]\x1a\xdb\x1c\x93\x99\x999|\xb8\xbc\x02\x8cqH\x92\ +\x84[\xe3?!\x14\n\xb5\xa6\x05\x038\xe1{\xea#\x9a\x16\x83\x10\x02%\x07\x0e"\ +\x1c\x0e\x1d\xdb\xa4\xb6\x92s^\xear\x16B\x08\x81\'\xcbO\x10\x8f\xebkm-\x9e\ +\x9e\xb4\xe0\xb6\x16\xcfc\x00\x17\x87G\x86\x84\xddn\x87\x10\x02/\x1f|\x15\ +\x03\x83}\x8f\x00 ##\xe3\xfa\xf1c5`\x8c\x81R\x8a\xf1\xdbc\x88\xc5\xa2\xa5\ +\xc9\xd0T\x8a\xd1\xd6\xe2\xa9\xd74-\xf0\xf0\xcf\xfb\x82\x10\x82\xdc\\\x07B\ +\xa1\xe0\xde\x0b\x17\xcf\xf7\xec\xdc\x91\xb5]Ul\x10B`\xea\xee\xefP\x14\xa5?!\ +\xe6\xd9\xe0\x845\xfe:9A\xb6m[\x87\x1c.\xafDff\xe6\'\x05\x85E\x10B@\x92\x08\ +\x16\x16\xe7\xf5\xd3M\xcd\xefm\x91\x9f\x1a\xdc\xd6\xe2\xe97Ms\xfc\xe7;\xb7M\ +\x8b\xc5\x02Y\x96\xa1(*8c \x84\xe0\xc7\xd1\x1f\x10\n\x85\xaa\xb7\x82\xa6S\ +\x0c\x00\x1f\xfc=\xfb\x97\x00\x11\x10B\xa0x\xef\x8b\x88D\xc2\x98\x9d\x9b\x05\ +\xb5X\x1e\xa4\xdbJ\x00\xb0l\xe5\xb89:\x16\xa8\xae9n\xfbwf\xa6\xb2\xb8\xa4\ +\x14\x86a@\xd7u\xf8\x1f>\xc0\xa9\xc6\xa6]\xe9\xa0\xcfR\x8c\xe2\xcf\xda\xf5\ +\xf8\xdc\x1c\xa6\xff\x98Bqq1\x89\x85B\xf0\xcd<\xc2\xb0\xd5\x9ar#7\x1bI~\xb8\ +\x0c\xb8w\xa8j\xbbDHm\x9c1u\xff\xfe\x97\x88\xdff\xc3?\x93\xbf\xa1\xa0\xec5\ +\xe4\xc4b\x98\x9e\xbe/\x14J5S\x88\xc1\x80\xa6}Q\x07\xcc\xa5\x05\x0f[\xad\x8d\ +\xb2\xc5\xf2yQVV\xbe*\xcb\x90\xa5\xf5\x82&\xe7\xe7E"V\x94\x15\x16\x12\x000L\ +\x13\x9aa\xe0\xf1\xea\xaa\xd7\xe0\xfc\xcb\x13\xba~.e+\x86\\\xce\x1a.D\xeb>\ +\x87#\x7f-\x16\xf3O{\xbd\xab\xfeh\x14\xcb\xe10t\xce\xcf\xd0\xda\x93\xe7u\xce\ +\xcf,\x87\xc3\xf0G\xa3\x98\xf6zW\xd7b1\xff>\x87#\x9f\x0b\xd1:\xe4r\xd6\xa4\ +\xeeq4Z_\xe1v\xbb\xfd\x91\x08\x96\xc3\xe1\x01\x9d\xf3^\x9b,c)\x18\x84\t\xdc=\ +\xd97\xd8\x00`j)\x18\x84M\x96\xa1s\xde\xbb\x1c\x0e\x0f\xf8#\x11T\xb8\xddnD\ +\xa3\xf5\xa9\xc1\x86\xf1\xbcJ)"\xba\xce|\x9c\x8f(\x946\xd8\xadVH\x84,\x9e\ +\x02\xae\x01P\xeb\x80\xef%B\x16\xedV+\x14J\x1b|\x9c\x8fDt\x9d\xa9\x94B\xe8\ +\xfa\x0b\x9b[K7> \x06s\x055\r\xdbU\x15%\x94\xdepegcji\xc97\xcf\xd8\x00\x00\'\ +\x00\x01\x00\xf3\x8c\xf5\xc3\xeb\xad{\xc5\xe5\xda\xb5\xb0\xb2rC\xa6\x94\x055\ +\r\x12\xe3N\x00*\x00\x03\x00\x97\x12\xbfHVJ/-\x04\x02\xc8\x90ejS\x14\xdc\xf3\ +z\xb1"\xc4/\x1f16\x08 ;q\x1cM\x8c]y*\xc4\xc4=\xaf\x176EA\x86,\xd3\x85@\x00&\ +\xa5}\x00\x14\xac\xef\x06\xd9\x90n\x01@\xaf\xa8j\x8b$D\xb5)\x04\xf1\nq\xf3\ +\xb4a\x0c%|fR\x85\xac\x9b\xd2\xda=\x92TM\t\xe1qBn\xbd\xafig\x01\xb0\r\xc5\ +\x9b\xc7\x8dl\xa8O\x1c\n@\xc6\xffGr\xa3B3\x01\xe1\x9bn$\xdae\x02\xc0\x7f\xa7\ +\xeb\xd5\x9f5w\xb0\xfd\x00\x00\x00\x00IEND\xaeB`\x82' + +def getCutBitmap(): + return BitmapFromImage(getCutImage()) + +def getCutImage(): + stream = cStringIO.StringIO(getCutData()) + return ImageFromStream(stream) + +def getCutIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getCutBitmap()) + return icon + #---------------------------------------------------------------------- def getIconData(): return \ @@ -140,20 +280,248 @@ def getLocateArmedIcon(): icon.CopyFromBitmap(getLocateArmedBitmap()) return icon +#---------------------------------------------------------------------- +def getNewData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x02EIDAT8\x8d\xa5\x95Mk\x13Q\x14\x86\x9fsfRi\x8b\x1f4m\xc6 \xb8r!\xe2J\x10[\ +\xc1?\xe0\xa6\x0bW\xee\xc4\xadk\x11\xc4nD\xc5\x8f?\xe1\xc2\x8d\xb8\x90\xecE\ +\x11\x045\xa5\x1b\x0b\xba\xb2\xd9\xd4\x90X("1\xa6\x99t\x8e\x8b\x99;3\xe9\xc4\ +&\xa5\x07\x86\xdc9\xcc}\xce9\xef{/\x11\x0e\x19\x83\xf6\xb2\x00% \xf4\x83\x9a\ +\xb9\xbc\xb8\xc5\xe3\xa7\x0f\xef\x03+\x07\x81\xaaD\x94O\xf4\xa8.t\xf0\xd4\ +\xd8\xe9\xeb\xf3\xabW\x1a\xb7\xfc\xa0\xd6\xf5s\xdf\xad\xdc\xb9}wb\xa8Y\x08\ +\xe1W\xa2\xee[B+c\xcc\xb0\xfd\xf3\xdb\r\xc3{7h/\xbf\xf4\xf7nh4\x1ax\x9e\x87\ +\x99!"\x88\xc4C\xe5\xd7`\x94\xa4\xc9\x8c\xbe\xc1+McS\xd7\x10o\x8ec\xf3\xef\ +\xb1\xe8\xd5u\xb1_k\xba\x17\xec\x00\x0ebf`\x86\x99a\x91a\x06\xb0\x8bJ\x07\ +\x91\x1dL\xe6A\xe7\x00\x05\x8e\x00\xbb3\xc0\xf1\xb1`\x04p9\x15TA\xc4#\x92\ +\xa3D, \x83\r\x08?@\xd4\xa6\xdf\xab#\xf6g\x1d\xd8\xfe/XU\xe3_\x11D4+&\x8a\ +\x8aG\xc4Iz,\xd1\xb73\xd0_\xc5\x0f_\xb3\xf1}\x13!z\x014\x0b\x1a;h\xaa1\x02\ +\x92\xd7X@\x05a\n\x93S\x84\x94\xd9\xe5\x1c\xd3\xb3%\xea\xeb\xbf\xb9p\xb6\xf9\ +\x05\xf8[\xe8xu\xad>lV\xae\xfb\xf4\xc1M\xe1a:\x8by\xa7\x91\xa9\xf3t\xba%\xfc\ +\xa0\xd6\xf5\x83\x9a\x15\xc0\x97..R\xadV\xf7hJ&\x87J\xf2\x9eL\'\x1aO\x95\x1a\ +\x12\xc7H)Z\xadV\xbc\xc94\x96!\x1d\x9ft\x8a\xc4S\x92\x0f\n1\x12\xec\x1e\x13K\ +\xbb\x1b\x92\'_@\x84\xc2\xd8\xa3\xc0\xe9&@\x13\xb3bMA4yw\xf9\xa4\xd98?\x1c\ +\x85b\x9f>\x7f,t$\x12K\xe1\xa0y\x8d\xc5\x990\x0e\xbc\xb4x\x99J\xa5\x92\x9daM\ +LD\x13\xe3\x04AQ\xcd\x9f\x92\xa2\x18#5\xde\xda\xda\x1a:n\xe4\xb4\x05I\x0b\ +\xe4\'\x1b\x0b\x1e\xae\xa29\xf3\x12`L\xcbr\x1c\x00\x9cv\xa3\x99q\t\xcfY\x99\ +\xddF\x93\xdc9\x9e\xb0\xe3\xd4uw\xb5\x196.\x9e\x82\xc9:\x0e\x82`\xbfZ\x13G\n\ +\x8e\xa2\xe8\xc1\x93g\x8f\xee\x1d\x06\xf6c\xb3y\xd3\xadG\\\xc6}\xf3\xe3"\xfd\ +3\xfd\x07#\xfb\x93\xa3F\x9b\xc4\xaf\x00\x00\x00\x00IEND\xaeB`\x82' + +def getNewBitmap(): + return BitmapFromImage(getNewImage()) + +def getNewImage(): + stream = cStringIO.StringIO(getNewData()) + return ImageFromStream(stream) + +def getNewIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getNewBitmap()) + return icon + +#---------------------------------------------------------------------- +def getOpenData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x03\x7fIDAT8\x8d\xa5\x95Ol\x1bE\x14\xc6\x7f\xb3\xde8k{\xdd\xc4q\xeb&i\x1a(\ +\x8d\xa0\x904\x15*\xa8\xa8 !!qEB\x94"\x0e\x91\x90\x10g@\xaa\xb8\x01\x12p\x05\ +n\x1c\xe0P\xa9P jS\t\x89\x1e*\xc1\x81\x03\xa2\x07\xf2\xa7&\tI[H\xa3D\xb6\x93\ +\xb8\xc6q\xec$\xb6g\xe7q\xd8\xb5\x13\xd1&\xb4\xf0I\xb3\x9a}o\xf6{\xdf\xcc{oV\ +\xb1\x03\xce}u\xf64\x8aaO{\x08\xb2\xd32\x00\x14\nA\x10\xe1\xa3\xd7_{\xe3\xdd\ +]\x17_\xb8\xf4\x8d\xdc\x0fJ\xa5\x92\x9c;\x7f\xb6\xa9\xc0\x1e\x1a\x1a:n\xf0.+\ +e\xf9\xc1QD\xa3\x11K\xd7=\x00\xf54\xc5b\x81\xbe\xbe>\x8e\x1cy\x04\ +\xcb\n\xf9DF\x10\x91\xe6\x1c\x04\xdb\xb6\xc9dsh\xad\xb7\x11{f\xb5\xd5i#\x99\ +\xdc\x0b@2\xd5\xce\xc9\x13\xcfP\xa9T\x98\x9f\x9f\xe7\xd7\xd1Q\x9cHd\x9bF\x9a\ +\x04\xad\xe10\x0f\xf4\xf6\xd2\xdf?\xc0\xf2J\x0e\xd7u\xb7\x88\xad\x90\x8a\xd5\ +6Ku\xc7qZ\x96Wr\xecI\xc4\x88D"\xcc\xcd\xdd\xa4\xae5G\x07\x07P\xe2\x9f\xb1\ +\xb2\x14b\x04e\x81R\n\xe3\t\xa9\xfd\x9d\xcc\xcc\xce23;C2\xd9\xf1q\x93\xd8q\ +\x9ct6\x97y2\x1a\x89\x11s]\x9e{\xf6y\xf2\xf9\x15\xfe\x9c\xbb\xc5Zy\r\x04\xbf\ +\xdc\x8cA\x1ai\xb4\x14\xb6\x1d"\xe2DH\xa5R\xfc6u\x8d\x8e\x8e\xc4\'/\xbep\xea\ +L3\x03/\xbf\xf2\xd2;\xc7\x06\x8f\xbd\xdf\xd3s0\xeaD[hOt\xf1\xf5\x954\xd3\xc5\ +};V\x02\x80\x13\xf2\xabf\xd3\x0b\xdd\xe1{\xd8]\xbaj\x03\xb7\n\x85\xbf\xea\ +\x87\x0e?\xc8\xe3\x83O0\xf2\xdde\x86^=\x8dRA\x89)\x05(\x94\xf2\x87\x9f8\xb6\ +\xfcw\xc1\xa7_\\|\xd4\x06\n\xd5j\xad\xeey\x1e\xf1x\x9c\xab\x0b\x0eGk\x86\xe9\ +LeW\xc5;\xa1;\xe1P\xae\x8a\xb6\x80\xa9|~\xb9\xeeiM&\x97!\x1c2\xff\xda\xc2\ +\xbb\xa1T\xb8-\x9b:\xb4h]\x18\x1e\xc9:ND\xe2\xf16\xcak%\x8e?v\x00\xf9\x8f\ +\xbcm\xd1\x16*\x1bU\xd3S\xf9\xf1\x8c\x05PZ]\xad\x1a\xd1|\xfb\xfd\xcft\xa5\ +\x92\x147\x9a\xf6hk\x88\x85l\xbe\x0eL\xd9\ +\x00176\xfa\xc7\x8d\xb9C]=\x87q\xf7\xf5\x92)\xd6\xd8\xd4A{\x06]&\xc1\x1dFc\ +\xa6\x1a>\x1f\x1dn\x0b\xda\x13\xd2\xd37\x17~\x1a\x1e\xc9\xda\xfe\xc7\x8c\x97\ +\xcb\xe5S\x9d\x0f\x1d\xa4P\xd6d\x0b\xd5\xad\xfd)\x01\xf1\xafE\x15\xcc}[\xe0\ +\x03\x10E\xcd\x13\xc6\xc6\xd2\xf5\xd4\xfa/\x1f\x02\xd8@\xeb\xe2b&\x1d\xdf\ +\x137\'\xbaS\xd6\xd4\xb2\xdeR\x1bDm<\x1b\x05\xd6\xd0\xde\xf0\xa5\xdaZ\xa9{\ +\x86\x99\xe9\xf4\xca\x0f\xc3#_6\x88\xf7NNN\xc6:\xbb:\xad+\xbf\xaf\xdf\x99\ +\x11\xf1\x8f\x81mO\xd5T\xea\xfb\xb4\x16X\xcby\xac/]\x04,\xc0\xd8\xc0Z>\x9f\ +\xbf~mb\xe2\x83\x98;\xfd\xde\xbdV\xc0?\xa1o_\xbf1q\xe9\xb3\xf3\x80\x0b\x94\ +\x1a\xbbs\x80h`t\x83\xa8\xf7\x03\x01j\xc0:P\x006\xee\xd6\x97\x16\xbb\xfd2v\ +\x87\x81\xff\xd1]\xf7\x82\xbf\x01\xa89\xd1d\xd8\xd4\x05\x1f\x00\x00\x00\x00I\ +END\xaeB`\x82' + +def getOpenBitmap(): + return BitmapFromImage(getOpenImage()) + +def getOpenImage(): + stream = cStringIO.StringIO(getOpenData()) + return ImageFromStream(stream) + +def getOpenIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getOpenBitmap()) + return icon + +#---------------------------------------------------------------------- +def getPasteData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x02\xadIDAT8\x8d\xa5\x92MHTQ\x14\x80\xbf\xfb\xe6\xa7,u\xd4qFM\x84@Pr\x17\ +\xe6\xc2MX43H\x8b\xcc\xda\x04\xb6s\x17\xb9mZ\x04R"m\xb2E\x14\x84\x06A\x82\ +\xdb\xda8\xbb\x9aEI\x90.$\x10\n\x021Cg\xc6t\xde\xf396\xe3xo\x8b\xf9\x7f\xce(\ +\xd6\x81\xc7\xbd\xef\x9e{\xbe\xf7\xdds\x9f\xe0\x88\x18\x1a\x1a\xfa\x00\xf4Y\ +\x96\xc3\xd3\xd3\xd3\x97\x0e\xab\x13\xc5/\xa3\xa3h\xcba\x9c\x00\xa9\xa6k\xe7\ +\xed\'j\xdfI\xa9<\xdd\xdd\x9d\x08\x91\xd9\xaa\x94ba\xe1\x1b\x9a&b\xe9\xe4\ +\xf6\xa03\xf2v\x1e\xe0l\x1f\xa9\xd1Q\xe4\x01\xf0\x88\xcfv[!\x9fII5\xc0\x9f\ +\xfa^\xad\xa9\xa3W\xb4\xb55\x955Z]\x8d\xb1\xfe}N\x9d\xdc\x9c\x93\n\xd0\x04\ +\xa6\x92\xda\xdd\xe7\xef\xf7\xdf\x00\xd8s\xa6[\x9f\xe4\xd3\xc1\x8b\xed\xae\ +\xc8\x9e\x97/F\x17\xbb\xc6>n\xb7\x87\xf6\xf6\x8e\xbcCF:3&\x93\xb0\xbe\xde)\ +\xaaZ\xcf\xd9zj\x97p\x11q\xcd\xce\xfd\x98\x00\n\xe0\xe50\xce\x1a;u\x0e\x87\ +\xc6\xfcf\x17\xc1\x07\x8f\xd1\xe3:\x13\x13OX\\\\*k\\SSM0x\x9f\xfa\x86z\xc6\ +\x1f\xdec\xb0y\x03\xa9D#(\xf2\xe0|_\x94\xc0L\x82\xbb\xc1\x8d\xddfcll\x8ct:]\ +\x16l\xb7\xdb\x11B\xe0r\xd5\x91H\x89\xd2\xcb\xb2\x82\xad!\x84\xc0\xe1pT\xcc+\ +\xa5\x8a^\x8e\x00\x17\xe7C\xa1\xd0!P\x08\x04\xfc\x15\xf3\x87\x1a\xf7\xf7\xf7\ +\x97\x01\xaa\xec#\x91R\x96\xa9\xaa\x04.R\xb6\x1a\x17\xa0\nP\xf8|\xbe\xff3.\ +\x18f\xc6\x1c\xdc0t\xbc\xde\xe6\xa3\xc1\x96\xfe3;\x1b\x02T\xc9\xf1\xfd~\x7f~\ +nl\x1b\x15k-\xc6\x85\xb4\x94\x92@\xc0_b(e\xa6\xaf\xb9\xb5X4V\xf1\xb4\x15[Q\ +\x0c(n\xc5\xda\xda/Ls\x87D"\x81R\xc7\xb9\xbc\xb2`\x995V\xac\xac\xfcd`\xe0F~\ +\x9f\xae\xc7\x8f\x0b\xde/\x81\xe6[\x91\xb5\xd4\xf58\x86a`\x9a\xdb\xffb\\\xb8\ +\xa4\x1d\xd3$\x1a\x8d\xa2\xb2\xff\xaea\x18D"\xebL\xbe\x9a\xe4j\xf3Bep\xee\ +\xdaN;%\xb1\x8d\x18--\xad\xf9M\xad\x96"]\x8f\x97@\xdd\xce\x9d\xa3\x8d\xdb\ +\xe4W\xc6\x1f\x05I\xa4\xb4J\x87\xc9\xc7\xcd\xd6\xcf\x9c\xb2\xa5\xca\xe6\xec\ +\x00\xaf\xc3$G\xae\xb0i\xee\xa6=\x17\xce\xe8\xf4\xa8\x8f%\x9b\xac\xff\xe8\ +\x81\x10\x107\xd3\x80\x8a\x16-e\xe2\xcee\xae\x0bM{\x81R\x1ek\xce2/\xfbM\x85\ +\xd8\x92UMc{\xcd}/\xa7\xa6fv\x0f\x14\x0c\x0f\xdf\xaa\x02\xea\x80\x06\xa0\x11\ +\xf0\x00\xde\xec\xbc\x06H\x00[\xc0\x06\x10\x03~\x03\x9b\xd9q{jjF\x02\xfc\x05\ +^a\x87\x8b\xa1\xca4\t\x00\x00\x00\x00IEND\xaeB`\x82' + +def getPasteBitmap(): + return BitmapFromImage(getPasteImage()) + +def getPasteImage(): + stream = cStringIO.StringIO(getPasteData()) + return ImageFromStream(stream) + +def getPasteIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getPasteBitmap()) + return icon + +#---------------------------------------------------------------------- +def getRedoData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x02\xbdIDAT8\x8d\xad\xd2Kk\x13Q\x14\x07\xf0\xff\xb9\xf3Hkjk\x9f\xc6Z\xb1QD\ +\x94j\xc1\xaaP\x10+\x15\xa5\xad2\x0bADp%2\x9f\xc1\xa5_\xc0\x85\xba\xcb\xc6\ +\x85~\x82Y\xf8(\x14\x14\x94\xe2\xa2\xd8v!\x96\xdab-M\xd3\x04\x93\xb4I\xd3\ +\xccd\xe6^73a2\x9d\xa4V\xbcp\x08\xcc\xb9\xf3;gN\x0e\xb0\xcf\xa3%T\xa1%\xd4\ +\x83{\xddc\xfb\x85\xdd\xb3\xa5%\xd4\xf6\xff\x0e_\x19;\x0f\x00\xd9F\xf8\xbfv\ +\xbc\'N\x8d^\xd6\x12j\x14\xc0C\x00\xcf\x83\xe8V%\x8dV\xa5\x07\x9f\xde\xcd\ +\x03@\x87\xa1[\xb9\xbf\x82\xb5\x84:\x0e\xe0\xcd\xb8\xda;\xef\\\xee;[j)\xcb^\ +\xaeR\xb1Q\xb4\xb20\x0b\x1c\xb1X,\x14\x0f\x85\xb5\x84z\x13\xc0\xfb\xdb\xa3\ +\xc3\xd8nv\xb0\x99\xcf\xc1\x12;`\x8c@2\xc12M0\x99\x90Km\x83\x18\x10\x8f\xc7=\ +\xfd\xa65\xd8\xd63LNU\xc2\xd0x\ +\x08O\x02&\xd6\xe7\xa73E\xe6\xb0,\x01\xd9\x1e\x9e\x0f\x06\xc3k\x03\xc3\x93\ +\xcc\x1d\x17\xe3]\x9e\x9dzC\xd7M/ >\x07\x80\x9b5\x15\xde\xf6\xfa\x8a\xb6+5\ +\xe5\xe5\x86nm\xfc\xfdJ_\xfb\x89\x1f;\x82\xf1\x0e\x8e\xcc$\r\x97n\x8dB\x918,\ +!Xd\xa11\t\xa8\x9aC\x1d\xca\xccH\xae\x8d\xd5\xec\r`\xbc\xcf"\x9bw\xe1\xc4\ +\xb4\xd5Ut\xe9\x86yh*\xa0K1\x0e\x05C\xe3!\x08\x00v\x85\xc3\xb2\x88)B\x16\x00\ +0\xdbcK\x88`\xa2\xcb\xf1e\x8c\xc3\xfe\xb3\xae\xab\x8f)\xc2N\xc5,M\x9eZ\x08.\ +\xaaj\\\xa5\xc8\xd2\xd9\xea\xb7\x8a\xd4\xa4x\ri\x89Nl.H\x86\xaaH0\x051\x9b\ +\xb5\x00\xecHK\xcf9\x8b\xcb\xe2\xcc\xde7\x04\x00\xa0r\xc5\xa2\xf9.\xaajHc\ +\xc4\x7f\xb3,\xd2\x8e\xb6\xb4GH\x10\x88\x00\xc2\xf4^\x08\xb2\xe9V@\x00s>\x90\ +\xe2\xaa\xa61\x06\xb8\x16\xd1\x00\x10\xc1\xc7\xb8\xd8\xfe\xc4\xe6\xeeq\xf9F\ +\x1cO\xab\x01\x00\x85\xa0\xb6\x9f\xda;J\x04\x92\xe7\x1c\x8fk\xf8d\x87l\x939\ +\x00\x06\xc6\x80\xb0n\xe2\xe3\xba\xd6\xc8\xfd\x91\xc9\xf7\xaf\x1f\xdf\xdd\ +\x1d\xad\x8bL\xdb\xd7)@\xbcVZP\x18v\xc7\xe8\xf1\xdd\xff>,\x1d\x1c}\\G\x84\ +\xc4y\xad\x00\x11\xb3\xdbd\\\xb85\x02\x06Bi^\x12\x9a\xce\xdf\x89\x0c\x8c\xfa\ +\x8e\xb6\x1d\xdf\xd5\xb0\xd0N\x16\xce\x14I\x15\xc7T\x87\xef\xa7\xc9\xb0H\x9a\ +\xf0\xfb\xabl\xb2l\xcd\x9c\x9f3n\xd3\x96\x86)\x90\x91\xe8\x04\x03\xd0\xdd?F\ +\x9c\xb1U\xc5\xef4/]\xf4\xdc\x12\x9e\xb3,\xb1a\xd2\x17\xdc}\xfb\xde\xe0\x87\ +\xbe@8\x9bq\xdc\x9d\xbd\xf1\xac0\x881\x00kr\xe208\x1e\xc4\x90\x97\xe3\xc8\ +\x81-\xf6\xa6\xf3=\xdb\xce]\xe9\xef)\xa9n\xfaJX\xd4\x01b\x03\\\xb1d"\xe9\x88\ +CU\xe2z\xee\x0em\xb6)\x12\xb9c5\xc3;\x11\xaa_\x04\x9e\x96f\x08\x86t\xe4/\x89\ +E\xc4\xb4\xd0y\xcf\x8bW\n3\xa5\xe2\xfct\xad\xe3\xce\xf0\x07\x9e\xc7\xbe\xb0g\ +\xcc\xc7\xc6\'\x82N\xc9\xc6\x90\xe2\xd6\x90\x97\x93\x8c\xc48\'k\xfc\xa5+\xac\ +\x99z\xe3"0g\x8c\xdd\x7f4\x85C5\x97&8\x03\xdf\xb1i\xb9m\xcb\xba,\xbb7`\xc2"\ +\xa00/M.\xb0R]\x8cM\xf7\xcf\x10\x04\xd3\x14\x98\xf0G\xd0\xf8\xeb\r\xbfe\x18\ +\x07/\x9e\xdc\x1b\x9e\x95$"0\xc6\xa4\xf5\x95\rF\xac\xd3\x16\xe8\xef\xba\xb8\ +\xc3\xd3q\xe6Q\xee\x96\xca\x9d\xee%\xb9\xd5\xab\x9fO\xcb\xc8\xcfMQ2Sc\x99\ +\xd3aC\xc4\x100L\x0b\x93\x01\x1d]\xbd\x1eq\xf5\xe6C=81r\xb8\xfb\xf4\xc1\x1a\ +\x00a\x00a"\xd2g\xc0\xf6u\xfb\x1a\xbc~\xcf\xed\xb2\xdes\x9f\xfd\x03\xc0\x11\ +\x8d=}\xed\xce5)+\xb7\x95+Z\xfcZp\xa6:U\xc5\x08FL\x89\x08\x10\x11\xdf\x9f\ +\xa3}\xad\xc7\x06\xae6u\x03\x08E\x13$\xa2\xe0\x0c\x98\xad\xde}\xec\xcd\x9b\r\ +\xfb/\x03\xb0\x03P\xe7D\x89F\x92\x9cn%!\xa3 !\xe8\x1d\xf6\x06F\xfb\xbc\x00\ +\xf4\xe8\\G\xa2P\x1f\x80\x08\x11\xd1\xa2\xa5\x891&\xcd\x81\xcdD\x06 a\xfa7oE\ +cD\xa3\x030\x89\xc8\x9a\xcb\xf9\x0f)i\\\x9ar\xdc\xdf`\x00\x00\x00\x00IEND\ +\xaeB`\x82' def getRefreshBitmap(): return BitmapFromImage(getRefreshImage()) @@ -167,6 +535,65 @@ def getRefreshIcon(): icon.CopyFromBitmap(getRefreshBitmap()) return icon +#---------------------------------------------------------------------- +def getSaveData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x04\x0fIDAT8\x8d\x95\x95]l\x14U\x18\x86\x9f\x99\xed\xfeLg\xdb\xeet\xd9ew\ +\xebR\x96\x96\xa5\xc8\xdf\xb6\xa4h\xf1\x07k\xe2\x05F\x88\xc6\x88\x17zc\x88\ +\x17\x80A\xaa\x12\x0c\xe8\x85\x18\t`,\xa6\xb1\xbd\x10\xbd\xd0(H"7^\xa01\xc4\ +\xd8\x18#\xd2\x04Q\x11\x97Pjm\x8a\xad\xbb\xb4\xd3vw\xf6gvv\xc7\x8bv\xc7\x96\ +\n\xc57\x99|\'\xe7{\xbf\xf7\xbc\xe7;\xe7d\x04f\xe1\x85\xb7\xf6}\xf8g:\xf4xr\ +\\\xaf\x9d=/\xd9M\xcd\xefN]^,\xff\xde\xd1\xf5\xfa\xe7\xdfs\x07\x10\xca\x83\ +\xee\x8f:b\xa7\x7f\x8a\x9c_\x1a]\x99\xaf_\xec\x17S\x05\xd1UW\xed\x12\xffJ\ +\xe9\x8cg\xf3L\\9;\x90\xd1r\xce\x88\x12\xdf\xd7\xf3\xc6\x89O\x17\x12\xb6\x95\ +E\xcf\xc6\x83\xa7\x97\xac}\xc83\xd8\x1fw\\\x1b\x1c\xb4\x0f\xfdqM\x1c\xba1\ +\x86\xbd\xaa\x16\xc5\xe5\xc0\xe5kT&\xb2\xa5\xea\xebI\xd7\xe6-\x8fy/\x9c\xff\ +\xf6\xb7\xfe\xdb\t\x8b\x00?^u\x1d\xb9kQ\xc5`\xba\xff\xeb+\x1b|\xe7\x9e\xed\ +\xed\xdc)>P\xdf\xb7\xb90y}j\xf8\xda%31\x95"\xa5\xa5Q\xfcAd\x7f\xd8\xf9kr\xdd\ +g\xaf\xbc\xb9E^PX\xcdH\x8d\xb6bz\xf2\xc1\xe5\xc3\x8f\x1cz\xf9\x83\x93\x00\ +\x87\xf7~\xf2Ukx\xf8`ZU\x05mj\x1c=\x97\x01\xc0\x1f^.\xfad}\xe8\x86\x1e\xe9Y\ +\xb0\xc7\xcf\xec\x7f\xe9\x8b\x88\xb3\xf0\xcb\x94Z:0;\xe9\x94\x04\xbe\x1b\xaf\ +g\xe9\xaa\x969E\x9e\xecen\xfc=J\xa84q\xb3\xde\xbe\xaew\xbb\x8f\x02T\x00\x84\ +\xabS_f\xc6\x1c=\x87\x0f\xbd=o\xe5\x87;\xba\xe7\xcd\xe5\xbc\xf70<\xd0\xcb\ +\xc7\xc7\xe6\xf8\xe0\xd5\xfd{\x8f\x00G\xadVdF\x1dW\x15\x8f\x8fLfz\xbb\x9a\ +\xa6Y\x9f%\x96\xfdwl\xb3;\xe6\xf0\x86\x86\x87\xd04\r\x9f\xcf\xc7\xee=\xbbb\ +\x96c\xa0!\x10\x08\x02\x90\xd6\xd2\xb8e\xf7\x7f:-\xc3,\x95\x00x\xe2\xe0\t\ +\x0c]\xe7\xd4\x81m\x00(\x8aB2\x99\x8c\x02\x17\xc5\x19\xee\xd6\xe6u-d\xb3Y\ +\x04\x04\xcbiS\xeb&\x9aZ7Q\xa3\xf8\x00\xc8\xe7s\xd31\x9b\xa21v/\xcbV\xb7\x02\ +P)U\x02p_\xdb\xfd\x00k\xacV\x00\x8f\x86Bus\\\xbd\xffb;\xfd?\xff\x00\xc0\xc8\ +\xf0\x00\x98&E\xa3@.\xab\x91\x9aT\x01\x18\xb8\xd4\xc7{;7Z5\xe1p=\xc0k\x00\ +\xe2\xee=\xbbb\x92T\x89\xc3\xe1\xc0\xeb\xf5Z\xa4\xa0\xaf\x9e\xce\xed\xeb\x89\ +\xf7\xf5R\xeb\x0bQ2\xcd\x99>\x98T{\xbc\xf4_\x8f\xae\xeb\x98\xa6\x89\xddn\xbf\xad\xf3\x9ba9\x16\x04\x81l6Kss\x0c\xc3(b\ +\xb3\xd90\x0c\xc3":\x1c\x8e;\x16\xb5\x84\x13\x89\x84\x19\x08\x04f~S\xde\xdb\ +\xf1\x01\xf0x<\x00D"\x91yqdd\xc4\x04\x04\xe1\xa9\xa7\x9f\xdc\x16\x0c\x06N\ +\xfd/;\x0b`ddt\xe3?\xe7`\x9fS\xd3\xf9d\xaf\x00\x00\x00\x00IEND\xaeB`\x82' + +def getSaveBitmap(): + return BitmapFromImage(getSaveImage()) + +def getSaveImage(): + stream = cStringIO.StringIO(getSaveData()) + return ImageFromStream(stream) + +def getSaveIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getSaveBitmap()) + return icon + #---------------------------------------------------------------------- def getTestData(): return \ @@ -1715,3 +2142,57 @@ def getTreeToolBarIcon(): icon.CopyFromBitmap(getTreeToolBarBitmap()) return icon +#---------------------------------------------------------------------- +def getUndoData(): + return \ +'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x16\x00\x00\x00\x16\x08\x06\ +\x00\x00\x00\xc4\xb4l;\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\ +\x03\x87IDAT8\x8d\x9d\x94Ml\x1bE\x18\x86\xdf\xd9\x1f\xef&\x1b;q\x88\x89\xb7\ +\xc6I\x9c:\xa5\x81r(\x97\x08\xb5AJ\x88\x00\x81P\xa3\xc2\xa5\x08UUU\xa4\x9cz\ +\x04q\x01\t\x158"@p\xa0Rd\xe5\xd2\xaa\x08)\x08T\t\xd1\xba\x8d1\x14\x1fZ(*\ +\x12m\t\x10\xe7\xcfnj\xd7\xf2\xef\xda;;\xc3\x81\xddh\xeb\x9f\x1c2\xd2\xa7\ +\x9d\xd9\xf9\xf4|\xef\xf7\xceh\x80\x1d\xc6\xe5\xf3\xa3\xa7\x921\xf0\x9dr:\r\ +\xa1\xd3\xc6\xe2|xJ1\xfe>\xbb\x1bhG\xf0\xe2|xj@X\x8dO\xbc\xf8\xc2n\xb9\xad\ +\xe0m\xe8\xcc\x18`\xad\xed\x1a,u\x82\x9a|\x18\xb2\xd4\r\xe0\x0f$c\xe0u\x137\ +\r\x13\xbf\xd6\x19\xb9pcCN\x9c\xf9\xb0Q\xd9\t,\xb6\x83r\xba\x02x\x9e\x06!\ +\x14{F4\x84FC\x08\x84\xf4`\x9fO,\x17r\xc5\xbdO\x01r\xf8\x04H\xbe\xa4\x1e+\xe4\xeeo\xd5*\x83\xdc\xa2\x168L\x98L\xec\ +\xa1\xd9#:\xcd\x1e\xd1;\x82m\xf8\xd5\xb5\x9a\xfer\xea\xd2]@\x1au\xe7\to\x9c\ +\xbe\x7f!\x93\'o\xae\xaf\x17\xa0t\xf5rj\xe68\xb3\x0cP\xa6\x822\xb5Eus!\x11\ +\x80\xbc\xf0i\xf0\x95d\x0c\xdc~\x84<\xae\x90\x7f\x88\xf9\x0b\xb9\xdb\x07\xac\ +\xbfRAz\xf1K/\x87\xeb\xac\x9a\x15\x13G\x15\xfe\xf7\xdds\xfct&~+;\xf8\xaa\xbd\ +\xef\x06+"\xe1\x10\x04\xb9Q,u7,\xab\xbei\x8by\xa8{\xa9\t,\xdbI\x12\x00a\xee\ +\xed\xec\x12\x80\x01\x00\xaa[U\x8d)\x19"iz)\xf7\xa7`R\xb2b\x17\xa4v0\x07L\ +\xda(\x96\\*\x9c9\x01@\xce\x9e\xe9\x9d\xf5zI\xb0A\xe5\x8d\xb5M\x16\xa8\x14\ +\xea\xe7\x01t\x03\xa8\xd9P\x0e\x80\xbb\x1f!\xd2\xa6\x88\xec\xeaB\xf4z!E\xf7i\ +\xefD\xa2\xd5\xcc\xd7_-\xc9\xf7\xb2\xfc\x83\xf7>\xc1w\x00\x14\x00\xa6\x1d\ +\x0c\x00\x17\x9b\xa0\xce\xe1\xb9\x8b\x89\x00H4*h\x0b\x1f\xfb?\xf7\xf7\x19\ +\xa5\xf8R\xd9\xdaXa\xef\xbe\xff\x05\x12v\xfb\x0e\xd4\xb1\x82\x13\x17\xc0\xdd\ +\xb6\x04@\x94eH\x93\x87\x14\xff\xe4AQ\xf7i\xac_U\xac\xf1J\x95\no}\xc4cv\xcb\ +\x96\x1d\r;\xa8\xbdf\x8e\xc7x\xfd\x98\x87tuq\x8faH\xe4\xce\x1d\xc6,\x8b\x11p\ +X\xafM\x9aZ\x7f?\x0b,\xa7\xcd\xf4\xbf\xcb\xb8\xf9\xd99<\xb0\xa1\xb0\xd51W\ +\x01\xc7\xe3\x96\xfbG\xd0\xea\xb5\xbb+\xf7\x97\xbb\xc2)\xe0\xac\xf1\x1f\xd5\ +\xbdu1\x93\x87\x18&\x00\x00\x00\x00IEND\xaeB`\x82' + +def getUndoBitmap(): + return BitmapFromImage(getUndoImage()) + +def getUndoImage(): + stream = cStringIO.StringIO(getUndoData()) + return ImageFromStream(stream) + +def getUndoIcon(): + icon = EmptyIcon() + icon.CopyFromBitmap(getUndoBitmap()) + return icon + diff --git a/wxPython/wx/tools/XRCed/xrced.py b/wxPython/wx/tools/XRCed/xrced.py index afc6dd32ff..4945d3dde8 100644 --- a/wxPython/wx/tools/XRCed/xrced.py +++ b/wxPython/wx/tools/XRCed/xrced.py @@ -218,11 +218,25 @@ class Frame(wx.Frame): # Create toolbar tb = self.CreateToolBar(wx.TB_HORIZONTAL | wx.NO_BORDER | wx.TB_FLAT) - - # Hide some icons on Mac to reduce the toolbar size, - # and comply more with the Apple LnF, besides - # wxMac icons are ugly if wx.Platform != '__WXMAC__': + # Redefine AddSeparator on wxGTK and wxMSW to add vertical line + def _AddSeparator(): + tb.AddControl(wx.StaticLine(tb, -1, size=(-1,23), + style=wx.LI_VERTICAL)) + tb.AddSeparator = _AddSeparator + + # Use tango icons and slightly wider bitmap size on Mac + if wx.Platform == '__WXMAC__': + tb.SetToolBitmapSize((26,26)) + new_bmp = images.getNewBitmap() + open_bmp = images.getOpenBitmap() + save_bmp = images.getSaveBitmap() + undo_bmp = images.getUndoBitmap() + redo_bmp = images.getRedoBitmap() + cut_bmp = images.getCutBitmap() + copy_bmp = images.getCopyBitmap() + paste_bmp = images.getPasteBitmap() + else: tb.SetToolBitmapSize((24,24)) new_bmp = wx.ArtProvider.GetBitmap(wx.ART_NORMAL_FILE, wx.ART_TOOLBAR) open_bmp = wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN, wx.ART_TOOLBAR) @@ -232,27 +246,26 @@ class Frame(wx.Frame): cut_bmp = wx.ArtProvider.GetBitmap(wx.ART_CUT, wx.ART_TOOLBAR) copy_bmp = wx.ArtProvider.GetBitmap(wx.ART_COPY, wx.ART_TOOLBAR) paste_bmp= wx.ArtProvider.GetBitmap(wx.ART_PASTE, wx.ART_TOOLBAR) - tb.AddSimpleTool(wx.ID_NEW, new_bmp, 'New', 'New file') - tb.AddSimpleTool(wx.ID_OPEN, open_bmp, 'Open', 'Open file') - tb.AddSimpleTool(wx.ID_SAVE, save_bmp, 'Save', 'Save file') - tb.AddControl(wx.StaticLine(tb, -1, size=(-1,23), style=wx.LI_VERTICAL)) - tb.AddSimpleTool(wx.ID_UNDO, undo_bmp, 'Undo', 'Undo') - tb.AddSimpleTool(wx.ID_REDO, redo_bmp, 'Redo', 'Redo') - tb.AddControl(wx.StaticLine(tb, -1, size=(-1,23), style=wx.LI_VERTICAL)) - tb.AddSimpleTool(wx.ID_CUT, cut_bmp, 'Cut', 'Cut') - tb.AddSimpleTool(wx.ID_COPY, copy_bmp, 'Copy', 'Copy') - tb.AddSimpleTool(self.ID_TOOL_PASTE, paste_bmp, 'Paste', 'Paste') - tb.AddControl(wx.StaticLine(tb, -1, size=(-1,23), style=wx.LI_VERTICAL)) + tb.AddSimpleTool(wx.ID_NEW, new_bmp, 'New', 'New file') + tb.AddSimpleTool(wx.ID_OPEN, open_bmp, 'Open', 'Open file') + tb.AddSimpleTool(wx.ID_SAVE, save_bmp, 'Save', 'Save file') + tb.AddSeparator() + tb.AddSimpleTool(wx.ID_UNDO, undo_bmp, 'Undo', 'Undo') + tb.AddSimpleTool(wx.ID_REDO, redo_bmp, 'Redo', 'Redo') + tb.AddSeparator() + tb.AddSimpleTool(wx.ID_CUT, cut_bmp, 'Cut', 'Cut') + tb.AddSimpleTool(wx.ID_COPY, copy_bmp, 'Copy', 'Copy') + tb.AddSimpleTool(self.ID_TOOL_PASTE, paste_bmp, 'Paste', 'Paste') + tb.AddSeparator() tb.AddSimpleTool(self.ID_TOOL_LOCATE, - images.getLocateBitmap(), #images.getLocateArmedBitmap(), - 'Locate', 'Locate control in test window and select it', True) -# tb.AddControl(wx.StaticLine(tb, -1, size=(-1,23), style=wx.LI_VERTICAL)) + images.getLocateBitmap(), #images.getLocateArmedBitmap(), + 'Locate', 'Locate control in test window and select it', True) tb.AddSimpleTool(self.ID_TEST, images.getTestBitmap(), 'Test', 'Test window') tb.AddSimpleTool(self.ID_REFRESH, images.getRefreshBitmap(), 'Refresh', 'Refresh view') tb.AddSimpleTool(self.ID_AUTO_REFRESH, images.getAutoRefreshBitmap(), 'Auto-refresh', 'Toggle auto-refresh mode', True) - tb.AddControl(wx.StaticLine(tb, -1, size=(-1,23), style=wx.LI_VERTICAL)) + tb.AddSeparator() tb.AddSimpleTool(self.ID_MOVEUP, images.getToolMoveUpBitmap(), 'Up', 'Move before previous sibling') tb.AddSimpleTool(self.ID_MOVEDOWN, images.getToolMoveDownBitmap(), @@ -261,8 +274,6 @@ class Frame(wx.Frame): 'Make Sibling', 'Make sibling of parent') tb.AddSimpleTool(self.ID_MOVERIGHT, images.getToolMoveRightBitmap(), 'Make Child', 'Make child of previous sibling') -# if wx.Platform == '__WXGTK__': -# tb.AddSeparator() # otherwise auto-refresh sticks in status line tb.ToggleTool(self.ID_AUTO_REFRESH, conf.autoRefresh) tb.Realize() -- 2.45.2