using Tango icons on Mac

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Roman Rolinsky 2007-05-08 18:28:14 +00:00
parent 52e75e6a80
commit 8329541967
2 changed files with 537 additions and 45 deletions

View File

@ -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<j>\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<O\xfb\xe6\x1d`\x8c\x01@\xeb:\xe1p\xb8i\xb7K\
\xa5\xe2\xe7o\xbe\xf5\xf6\xfe\xed\x8b\x97\x96\xb3tw\x1f\x00`||\x9cL6\x8b\xa5\
\x94\xcf\xdf\xd4\xe4\xbf\x18\x11\x12\x89v\x06\xfa\x07\x9aA\x00l\x83\xe8r\xb9\
\xcc\xd8\xe8(\x00\xd1X\x94\x9e\xdenN>\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<D\xc0\x88`\x0c\x18#\xc1 h\x90\xed>\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=\
<j\xe8V)\x14\xd6\x12\xea\t\x00K\xd7o\r\xa3"J\xc8\xe4R\xd5\x16\xb8-\xc0$\x82P\
L\x98\x05\x01\xb3\xc8A\xee\xbf\xe4\xc3\x15C\xb7l9\x08\x03xq\xf5\xd2i\x93@\
\x91tn\x1d\xc2\xa9M:dB\x96\x08\xb6\xc9\xab\xcf|h\x87\xa1[6\x00\x84\xc1\x13\
\xa2;\x82Tq\x19\x92\xc4\xd0\xd9~\x18\x00\x83B\x11\x08\xf7\x82\x80\x83-\xbe\
\x005J\xe8\x8b\xf5\x87\xce8\x0c\x86B\xcd\x90HF[W+\x94\x8d\x12\xa6\xa6\x17k\
\xf2\xd7&.BnB]\x14\xa8\xbb\xc7\x84\x96\xb6fld\x92bjz1\x0f\xe0\x8c\xa1[d\xe8\
\x16\x01\x80DJC\xb4.,AFL\x1a\x10\x0b\x9f\xf3\x0e\x80\xbb\x86n}\xf7\xe7Mg\xdb\
C\x8f\x85\xa1@\x9dQ\x98\xa2\xe0\x94\x85l\x03\x88\x9cJZ\xdf\x10\xd8\x1e\x1f\
\xba\x16\xfe\xc5\xbb;&\x00\xcbGg\x9d\xc2f9\x03\x00x\xfa\x04)\xf7\x1ey\x05\
\xacmq\xdc\xd0\xad\xa4\xffY\xa3\x8e\t\x00\t!\xbe\xfc\xce\xcd\x8d\x11\x06\xbd\
}\x92\xfc/\x18\xba\xa5\x06\x9a\x12\x81\xa8Iz\x95Yq\x1d\x8f\'w\xa4v\xdb\xb1\
\x84\\\x8e\xe4\xc7\x9f)\xf7]\\\x0e\x84\xe2\xfeJ\xc1/\xf2wCn\x92\xfd\xfc\xc0K\
\'o\xb0tr%\xab]\x18\x8d\xf3\xd4Zv$\xb7,\x12\xa5\x0c\xc8\xbd\xef\x0f\xe6C\xbd\
\xeew\xc1\xd5X|\xcb\xbf\xf6\x8f\xb0\x99t*\xf7\xa0\xb7\xf3\xc0j\xeb\x80s\xef\
\xc8\x10\xfb\xb1\xf2\x91\'}\x98\x07J.\xc8\xfd\xe3\xf0\xc35\x05\x96&\xf9\xd2\
\xa18\xbd\xb4d[!\x80\x88Q!6\xc8\xcch7\xd9\xf9_\xc2\xe4v\x15\xe1!0Q\x00\xf6\
\xba\xf0\xcf\x8c\r=\x92:{\xce\xb1;\xc4\xd0#\x1cl\xcc\xbdr^sG\xf0..\xf1X/\xc9\
\x91&\xc1\xd7V\xc5\xce\xec\x8cc{E\x82\xabBu\xc2_\xdc\x7f\xfc\xdbP3\x8a?\xf2\
\x1c:\x00\xd5\x15\xeb1\x00\x00\x00\x00IEND\xaeB`\x82'
def getRedoBitmap():
return BitmapFromImage(getRedoImage())
def getRedoImage():
stream = cStringIO.StringIO(getRedoData())
return ImageFromStream(stream)
def getRedoIcon():
icon = EmptyIcon()
icon.CopyFromBitmap(getRedoBitmap())
return icon
#----------------------------------------------------------------------
def getRefreshData():
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\xccIDATH\x89\xd5\x94\xc1\x0e\x83 \x10Dw\xa1\x17\xff\xd4#m\xbf\xa3\xed\
\x1e\xf9SOjO$Hve\x90\x90\xa6s\xd3\xe8<\x18\x96av\x9eF\xca\ru\'\xa2\x1b\xfa\
\xe1\xb2\xad{\xf9nr\x9ek\xffA;\xc8\xcd\xa3\xc8)\x14\x06\xa4\x9f5\xf3|\xe55\
\xc8\xe9\x0e4\xf3\xfb\xe3\xc9%\xe4\xf3~\x99\x10\xf8\x0c\xe6\x10\xa0\xccK\xb1\
5\xa6\xd6\xd6\xadx,8<\xa6Q\x84\xa2\xc8!\x0e$\xa6jD\xf9\xd4\xa4\xfc[d\x02&\
\xe79\xad\xea\x8aq\x15\xd0k\x9c4\xbc*~\x0bX\xb6u?\xbb\xa9]U\xd1b\x94OZ\x13\
\x00\xad\x03"{ \xe03\x98C8<#\xf1@\x00\xad\x1a\xac\xfa\xd6dvQ)m\xc5e\xc3v\x01\
\x88\xf4s\xa8]\xc6&\xc0\x15\xfd\xffM\xfe\x02\x1c\xdeoJ\xc0]$\xb0\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\xe6IDAT8\x8d\xb5\x95iL\x14g\x18\xc7\xff\xef;3;\xbb\xb3K9\x96[\xe4\x10k\
\x91\xa0\x16E\xa8h\x1b\x8f\x9a&\xad1i\xda\x10\x82\x9a\x98\xa6\x02\xd6O\xb6M\
\x13\x93&\xfd\xd2415i\xd2Z\x14$5\xb6\x80\xa44i\xb5\xb1Gb<J\xad\n\x04A[\x05B=\
\x10\x16\x01q\x81\xbd\xe7x\x9f~`!\x1c~\xf0K\'\xf9g\x92\x99g~\xf3\x9bg\x9e\
\x99\x97\x11\x11\xfe\x8f\x8d?KQYY\x8b\xf4,u\x1b\xf67g\x97\xbe\xdb\x92\x00\
\x00\xeci\xc6%\x95\xdf\xaeP\x14\xf5#0l5M+M\x10\x14\x893?\xe7l\xd4\x12tA\x90h\
\x11\x14\xf8\xa3\xa3\xb6\xd2\x98\xb9\xe6\xa5}\xa7S\x04\xa7\xbfL\x0b[;\xeb+\
\x1e\xcc\x033\x06V\xfa^s=\xc0\xca_~q\xa9meN\xb2\xecr\xaa\xe0\x9cA\xd7\r\x04B\
\x06\x1e<\x9a\xb4n\xf4z\x02#\xe3\x01\x891\x1c\xf6s\xe5\x0b\x97\xa4s\xe8\xbc\
\xdd\x12b\x051\x91\xd5Q\xbbg`\x1ex\xe3\x81\xe6\x93\xd9iqe{^_\xadE\x0c\x0b\
\x13\xfe0b4\x15\x9a\xaa@\xe2\x00\xe3\x0c\xa0i\x03\x7f0\x82K\x9d\xf7\xc3\xd7\
\xff\x1e\xd2I\xc0\xb3\xa90k\xd9\xad\xfe\x11cr"\x98w\xed\xc4\xaeAy\x06ZT\xf5]\
I\x82K{{{\xf12\xed\xeb\x96v1\xe6\rr\xce\x01a\x11\x11\x83\x99\xeav\x85J\n2\
\x9c\x85/\xa4JD@\xc8 l]\x9fk/\xca\xcf\xb0\xf7?|\x12\xf3jQ\x16\xeb\xea\x1d6u!\
\x89y/\xcf.+\xd5\xcf\xb9Tg\xfd\x99N\x9a\n\x18\xccaW\xc2\x96\x10\xdf_\xab\xad\
\xe0!\x8e\x14\xcf\x88\x7f\xfb\xb9\xd6\xbe\x1f>\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_<G\xe7\xf6\xf5\xd4\x87\xa2\x00\
\xc8\xb2<\xd3\x0e/\xbb\xf7\xec\x8a\x89@t\xb1?\x00\x80\xaa\xaa\xc8\xb2\x8c,\
\xcb\x88\xa2H\xa4n\x05];\xda,qQ\x10p\xd7\xd4\xd2\x7f\xf1\x1c];\xda\x88\xd4\
\xad\xb0\xf8\xaa:\xbd\x8b\x9a\xea\x1a\x80\xa8\x08\xac\xb9{\xe5*\n\x85\x82YQa\
crr\x12UU\x91$\tY\x96Y\x1dm\xe1xG;\xf1\xbe^<\x8b\x82\x0c^\xbe\xc0\xf1\x8evVG\
[,AUU)\x16\r\xd2\xe9\xb4\xd9\xb0\xac\x01\xa0M\xcc\xe7\xf3k\x03\x81\x00n\xb7[\
0\x8c"\xa5\x99\x13/\x17\xa8\xaaJmU\x90\xce\xe7[\x89\xf7\xf5\xf2\xces-\xd4V\
\x05\xad\x1c@\xb1h\x80\x00\x8a\xa2\x08\xe1\xf0\x12r\xb9|U\x85\xd3\xe9\xdc\
\x1a\x8dF\xad\xebr+(\xca\x06\xbe9\xb6\xe1\x96\xf92\x9a\x9a\x9ap\xb9\x9c\xdb+\
\x00\x92\xc9$ccc\xb7$\x9b\xe5\x83\xbb\x83\x9c\xcf7}5\xcb\x0f\x04]\xd7\xf1z\
\xbd\x9c9s\x06\xa7\xd3\x89\xec\xae\xa4\xca]\x8d(\x8aH\x92\x84 \x08H\x92\x84\
\xdb\xedFUU\xfc~?\x89Db^,\x0b\x8b\xb3W3\x0c\x03\x9b\xcd\x86i\x9a\x88\x82\x8d\
|>\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<j\x1d\r\x8d\xcb?\'\x92\xac\
\xb8#\xf8\xe2\xc2\xf0!?\xd2K\x133c\xa8\x99\xa3\x10\xd4\x83\x00\x00\x0e\x19\
\x10t@\x18\x80\xa4\xec\x81\xd6\xc3\x86F\xf6=\xfe\xa4\xac\xd0\xfd\x03\xfc\xc1\
\xb3\xa1q\xf9z"\xc96\xdb\x82/\x9f\xdb{\\\xa3\xff|;13\x86\xaa9\x0c\x81H\x10%\
\xc5\x95b\xc1l\x94P\xafe\xb1\x9a\xbe\x06\x0e\x15\x9a\xcfG|\x81\xa1\x90ZI[#\
\x07\xe4\xab\x89$3\x9b\xc1\x04\x00\xbe\x99\x0fO=b\xdb`\xd0(\x00\x13 *\xaa\
\xe5\r\xe4\xb6~oQ#I\xc0\xe0c\xcf\xe3\xc6O\xbf\xfcV+\xe5S/\xcda\xae-\xb8\xd9\
\xe3\xec\xbd\x06\x8a\xc5u\x8cE#\x80\x18\x04\x00\x18F\r\x95r\x06F9\x0f"\x11x\
\xba\xc2\xa8\x9b\xfb\xb1|}\xf1\xd6s\xa7\xf0TKqg2{r\xf5\xca\xe2|x\xfaZ|3\xfe\
\xcc\xb4\x8e\xaa}\xe6\xa9\xef\x7f\xdcN.\xf2\x1e\x04\xf5!\xde\xdb\xb7NP/B\xeb\
\xa1\x80\'0\x02l\xb5t\xf5\xd0=\x9e=\xb9z%O\xfd\xd3\xa9Kw\x11\x89D\xb6\xff\
\x1f>\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

View File

@ -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)
@ -235,24 +249,23 @@ class Frame(wx.Frame):
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.AddSeparator()
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.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.AddControl(wx.StaticLine(tb, -1, size=(-1,23), style=wx.LI_VERTICAL))
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))
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()