Added wxWizard and the wizard page classes, as well as a wizard sample
in the demo. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
eb67b7039d
commit
af83019e94
@ -148,7 +148,7 @@ Fixed the ActiveXWrapper problem. Looks like when the win32com
|
||||
modules make a "callback" that they (incorrectly, IMHO) allocate a
|
||||
transient thread state structure. Since wxPython is now saving
|
||||
tstates for it's own callbacks it ended up using garbage after
|
||||
win32com got rid of the tstate...
|
||||
win32com got rid of the temporary tstate...
|
||||
|
||||
Added a generic static text control to wxPython.lib.stattext. This is
|
||||
so things like Boa and PythonCard can have a static text that can
|
||||
@ -164,6 +164,8 @@ tools in your own scripts or apps as needed.
|
||||
Added a sample to the demo that catches various key events and
|
||||
displays the details of the event.
|
||||
|
||||
Added wxWizard, wxWizardPage, wxWizardPageSimple and wxPyWizardPage.
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -35,6 +35,7 @@ _treeList = [
|
||||
'wxMenu',
|
||||
'wxIEHtmlWin',
|
||||
'wxKeyEvents',
|
||||
'wxWizard',
|
||||
]),
|
||||
|
||||
# managed windows == things with a caption you can close
|
||||
@ -43,6 +44,7 @@ _treeList = [
|
||||
'wxFrame',
|
||||
'wxMDIWindows',
|
||||
'wxMiniFrame',
|
||||
'wxWizard',
|
||||
]),
|
||||
|
||||
# the common dialogs
|
||||
@ -60,7 +62,7 @@ _treeList = [
|
||||
'wxTextEntryDialog',
|
||||
]),
|
||||
|
||||
# dialogs form libraries
|
||||
# dialogs from libraries
|
||||
('More Dialogs', [
|
||||
'ErrorDialogs',
|
||||
'ImageBrowser',
|
||||
|
BIN
wxPython/demo/bmp_source/wiztest1.bmp
Normal file
BIN
wxPython/demo/bmp_source/wiztest1.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
BIN
wxPython/demo/bmp_source/wiztest2.bmp
Normal file
BIN
wxPython/demo/bmp_source/wiztest2.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
@ -55,7 +55,10 @@ command_lines = [
|
||||
"-a -u -n File1 -m #FFFFFF bmp_source/file1.bmp images.py",
|
||||
"-a -u -n File2 -m #FFFFFF bmp_source/file2.bmp images.py",
|
||||
|
||||
"-a -u -n NoIcon bmp_source/noicon.png images.py"
|
||||
"-a -u -n NoIcon bmp_source/noicon.png images.py",
|
||||
|
||||
"-a -u -n WizTest1 bmp_source/wiztest1.bmp images.py",
|
||||
"-a -u -n WizTest2 bmp_source/wiztest2.bmp images.py",
|
||||
|
||||
]
|
||||
|
||||
|
@ -7,7 +7,8 @@ import cStringIO
|
||||
|
||||
|
||||
def getMondrianData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
|
||||
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\x00qID\
|
||||
ATx\x9c\xed\xd6;\n\x800\x10E\xd1{\xc5\x8d\xb9r\x97\x16\x0b\xad$\x8a\x82:\x16\
|
||||
o\xda\x84pB2\x1f\x81Fa\x8c\x9c\x08\x04Z{\xcf\xa72\xbcv\xfa\xc5\x08 \x80r\x80\
|
||||
@ -29,7 +30,8 @@ def getMondrianIcon():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def get_10s_Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00G\x00\x00\x00`\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00G\x00\x00\x00`\x08\x06\x00\
|
||||
\x00\x00O\x19o\x91\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x03\
|
||||
9IDATx\x9c\xed\x9dQr\x84 \x0c\x86C\xa7\x07\xf0\xc8\xec\x8d\xf7\x06\xf4\xa1K\
|
||||
\xab\xac\x84\x04\x92\x88K\xbe\x99>t\xab\xfb\xd3\xdf\x88I\xc41l\xdb\x06\x00\
|
||||
@ -73,7 +75,8 @@ def get_10s_Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def get_01c_Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00G\x00\x00\x00`\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00G\x00\x00\x00`\x08\x06\x00\
|
||||
\x00\x00O\x19o\x91\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x02\
|
||||
7IDATx\x9c\xed\x9dAR\xc4 \x14D\x1b\xcb\x03pd\xe6\xc6s\x03\\h\x94!\xa4\xc9L\
|
||||
\x95\xe1k\xf7\xabr\xa1\xb80\xaf\x9a\xff\x03\x98I\xca9\x03\x00\xee\xf7{\x85\
|
||||
@ -108,7 +111,8 @@ def get_01c_Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def get_12h_Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00G\x00\x00\x00`\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00G\x00\x00\x00`\x08\x06\x00\
|
||||
\x00\x00O\x19o\x91\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x07\
|
||||
\xcfIDATx\x9c\xed][\x96\xe3*\x0c,r\xee\x02\xb2\xe4\xcc\x8e{\x05\xc3\xfd\xb0\
|
||||
\x05\x92\x90\x04\x062\x9d\x99v\x9d\x93\xf6\x03[@Y\xe8\x81I:=\x9fO\x00\xc0\
|
||||
@ -197,7 +201,8 @@ def get_12h_Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def get_13d_Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00G\x00\x00\x00`\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00G\x00\x00\x00`\x08\x06\x00\
|
||||
\x00\x00O\x19o\x91\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\x07\
|
||||
bIDATx\x9c\xed]Qr\xe3 \x0c}t\xf6\x009\xb2{\xe3\x9e\xa0\xec\x87##\x84$@\x90dw\
|
||||
\x927\x931\xb61\x86gIH\xc2n\xd3\xedv\x03\x00\xfc\xfc\xfcd|\x00\x00\xb8\xddn\
|
||||
@ -282,7 +287,8 @@ def get_13d_Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getBackgroundData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x96\x00\x00\x00\x96\x08\x06\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x96\x00\x00\x00\x96\x08\x06\
|
||||
\x00\x00\x00<\x01q\xe2\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x00IDATx\x9c\\\xbd\xcd\x8a\xe4\xca\xb2\xb6\xf9\x88r\x07s\x90\x83;\xa4 u ?\
|
||||
\xc8\x03\xfb\x83\xdd\xb0\x1b\xba\xa1\xa7=\xe8a_U]]\xdf\xc2\x1e\xec\x86<P\x0b\
|
||||
@ -1775,7 +1781,8 @@ def getBackgroundImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getTestStarData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00P\x00\x00\x00P\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00P\x00\x00\x00P\x08\x06\x00\
|
||||
\x00\x00\x8e\x11\xf2\xad\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
|
||||
\x00\n IDATx\x9c\xed\x9bk\xac\\U\x15\xc7\xffk\x9f33\x17>\x98*\x97\x98\xd6\
|
||||
\xb6\x12^\x11\xa9\x12\xd3\x06\x0b\x96Rh\xa1\xd2\x82\xb5\x12bjK_\xf7\xb6M{mUR\
|
||||
@ -1889,7 +1896,8 @@ def getTestStarImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getTestStar2Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00P\x00\x00\x00P\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00P\x00\x00\x00P\x08\x06\x00\
|
||||
\x00\x00\x8e\x11\xf2\xad\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
|
||||
\x00\n\x05IDATx\x9c\xed\x9b{\xac\x1cU\x1d\xc7?gf\x1f\x17\x12M\x94\x12C\xa1H@\
|
||||
\x89\xa4\xa5@[j)\xb5i\x90\x04\x9fT(\xa0\xe5M\xef-\xcf\xdeR\x0b\x92h\x88\x1a\
|
||||
@ -2002,7 +2010,8 @@ def getTestStar2Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getTestMaskData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00P\x00\x00\x00P\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00P\x00\x00\x00P\x08\x06\x00\
|
||||
\x00\x00\x8e\x11\xf2\xad\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
|
||||
\x00\x03\xb5IDATx\x9c\xdd\\\xd9\x8e\xe4 \x0c\x84\xd5\xfc\xff/\xb3Oi\xd1\x8c\
|
||||
\x01\x1b\x97MeJZ\xedC\'\x1c\x85\xf1\x9d\xa9\xad\xb5V:\xd4Z\x8b\x15\xc3\x10SD\
|
||||
@ -2052,7 +2061,8 @@ def getTestMaskImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getTest2Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00@\x00\x00\x00@\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00@\x00\x00\x00@\x08\x06\x00\
|
||||
\x00\x00\xaaiq\xde\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\taI\
|
||||
DATx\x9c\xe5\x9bMl\x1b\xc7\x15\xc7\x7f\xc3\xe5\x92\x92HQ\x12e}\xc5\x96+;\x89\
|
||||
$H\x89[UI\r\xd4(\x1a\xd7p\x1a\x14v\xe0\\\x8a\x00\xbew\x9b\xa2\xf0%\xe8\xcdA\
|
||||
@ -2159,7 +2169,8 @@ def getTest2Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getRobinData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00h\x00\x00\x00\x96\x08\x06\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00h\x00\x00\x00\x96\x08\x06\
|
||||
\x00\x00\x002\x84\xcd\xc8\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
|
||||
\x00 \x00IDATx\x9c\x94\xbd\xc7\x92,Yv\xae\xf7m\xe9\xee!2R\x1dY\xaa\xbb\xd0\
|
||||
\xdd\x00\x1a\x970\xd0\x88\x8b\xcb\x11\x06\x9c\xd0\xf8\x08\x9cr\xc4\xc7\xe0Cq\
|
||||
@ -3194,7 +3205,8 @@ def getRobinImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getBulb1Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00(\x00\x00\x00(\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00(\x00\x00\x00(\x08\x06\x00\
|
||||
\x00\x00\x8c\xfe\xb8m\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x00\xd4IDATx\x9c\xed\xd8Q\x0b\xc20\x0c\x04\xe0\x8b\xf8\xff\xffr}\x90\x80\
|
||||
\xcc\xea\x9a\xbb\xcc\x96\x9a{\x1cc|\xa4]\x9a\xcd\x80\xd6\xb0pn\xb3\x01g)\xa0\
|
||||
@ -3216,7 +3228,8 @@ def getBulb1Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getBulb2Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00(\x00\x00\x00(\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00(\x00\x00\x00(\x08\x06\x00\
|
||||
\x00\x00\x8c\xfe\xb8m\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x01\x8dIDATx\x9c\xed\x98M\x8e\xc20\x0c\x85\x9d\x11]\xf7d\xe5\xb0p\xb2\xae\
|
||||
\xbb\xc8,\x82E\xe3\xf8\x97\x04\x884\xf3\xa4.\xa0\xa9\xf3\xf1\xec8)\t g\x98X?\
|
||||
@ -3245,7 +3258,8 @@ def getBulb2Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getCalendarData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
|
||||
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\x01\
|
||||
\xa4IDATx\x9c\xc5WQn\xc30\x08}\xaev/\xfbfc7#\'c\x1f\x15\x1e&8\xc1\xad\xa7>\
|
||||
\xc9jq\x08<? J\x8a\x88\xc8O)\x00\x80ol\x82H\xda\xf5\xa1\xc9w\xa2,\xc4\xfc\n\
|
||||
@ -3274,7 +3288,8 @@ def getCalendarImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getDbDecData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
|
||||
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\x00zID\
|
||||
ATx\x9c\xed\xd5K\n\xc0 \x0c\x04\xd0\x89x\xafz\xf4\xf4dv\xd5\x82\x18\x17JH\
|
||||
\xba\x98,\x83:\x0f\xf1#\xaa\xda\x91X\xc5j\xb6v\x99\x83W}W@d\xf8\x04\x88\x0e\
|
||||
@ -3292,7 +3307,8 @@ def getDbDecImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getDecData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
|
||||
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\x00qID\
|
||||
ATx\x9c\xed\xd4\xd1\r\xc0 \x08\x04Pl:\x18\xa3\xdffu\x00\x8bb\xcc\xe1\xcf\xf1\
|
||||
mr\x0fT\x1a\x80\xcf.\xd6\x939\xe4\xf0{\x00f\xf8\x12\xc0\x0e\x9f\x02*\xc2\xcd\
|
||||
@ -3310,7 +3326,8 @@ def getDecImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getPtData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
|
||||
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\x00MID\
|
||||
ATx\x9c\xed\xd3\xb1\r\x00 \x0c\x03A\x83\x18,\xa3{3\xa8`\x80P\xb8yW\xa9\x92S$\
|
||||
\x0f\xdb[\xc1\xcc\xe4q\x00\x92\xb4\xee`WkA\x95\xbf\x00\xf1\x0f\x00\x00\x10\
|
||||
@ -3326,7 +3343,8 @@ def getPtImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getDbIncData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
|
||||
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\x00xID\
|
||||
ATx\x9c\xed\xd51\x0e\xc0 \x0c\x03@S\xf1\xaf\xf2t\xf32\xbav \x10\tH;\xd8#H\
|
||||
\xf8\x04\x91H$\x1b>\xccem\x94r\xbb\xd6\x8e\x01\xa2\x10C@\x04b\n\xb0\xb2\x0b\
|
||||
@ -3344,7 +3362,8 @@ def getDbIncImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getIncData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
|
||||
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\x00jID\
|
||||
ATx\x9c\xed\xd01\x0e\xc00\x08\x03@R\xe5a<\xdd?k\xd7*C \x12\x0e\x8bY\x91\xf0\
|
||||
\xe1\x01\xe0\xb5\xc6yvK\x87\xf7\x02n B\x00\x1b\x91\x020\x11\xf3\xe4\xb8\xc3\
|
||||
@ -3361,7 +3380,8 @@ def getIncImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getNewData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
\x00\x00\x00\xedsO/\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x00VIDATx\x9cc\x14\x10\x10`\xa0\x04\xb0 s>|\xf8\xf0\x1f\x9fb\x01\x01\x01Ft1\
|
||||
&t\x81\xff\xff\xffc\xc5\xb8,\xc00\x00\x1f\xf8\xff\xff?\x86!$\x19\xc0\xc8\xc8\
|
||||
@ -3378,7 +3398,8 @@ def getNewImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getOpenData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
\x00\x00\x00\xedsO/\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x00\x8eIDATx\x9c\xa5\x92\xd1\r\xc4 \x0cC\x9dS\x07\xf0\xc8\x8c\xec\r\xd2\x0f\
|
||||
\x14\x91p\xa8W8\xff@\x10\xcf8(F\x12\xff\xe8z{Q\x92\xc7\x9e\xa4m\x19H\xf2\x0c\
|
||||
@ -3397,7 +3418,8 @@ def getOpenImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getCopyData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
\x00\x00\x00\xedsO/\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x00\xa0IDATx\x9c\xa5\x93\xeb\r\xc3 \x0c\x84\xcfQ\x06\xb8Q\xbbA\xe9\x06\x1d\
|
||||
\xd5\x1b\\\x7f$$\x06\x9c\xd2*\'Y\xe2\x11\x7fp\x87b$qG+\x00\xb8\xbb\xb2M\x926\
|
||||
@ -3417,7 +3439,8 @@ def getCopyImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getPasteData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
\x00\x00\x00\xedsO/\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x00\xa3IDATx\x9c\xa5\x93\xeb\r\xc30\x08\x84\x8f\xaa\x03\\6\xed\x06\xa1\x1bt\
|
||||
T6\xb8\xfeH\xdc\xe0G\x1eUN\xb2\x84\xc1|`$\x8c$\xee\xe89rF\x84\xf2\x9d\xa4\
|
||||
@ -3437,7 +3460,8 @@ def getPasteImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getTog1Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
\x00\x00\x00\xedsO/\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x00WIDATx\x9cc\x14\x10\x10`\xa0\x040Q\xa4\x9b\x81\x81\x81\x05\xc6\xf8\xf0\
|
||||
\xe1\xc3\x7fR4\n\x08\x080R\xe4\x82\x82\x82\x82\xff(.\x80\x99\x88\x0c`\xaejhh\
|
||||
@ -3454,7 +3478,8 @@ def getTog1Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getTog2Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x0f\x08\x06\
|
||||
\x00\x00\x00\xedsO/\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x00>IDATx\x9cc\x14\x10\x10`\xa0\x040Q\xa4\x9b\x1a\x06\xb0 s>|x\xff\x9f\x14\
|
||||
\xcd\x02\x02\x82\x8c\x14\xbb\x80\x91P \xc2\\% \xc8\x88M~\xe0\x03q\xd4\x80\
|
||||
@ -3470,7 +3495,8 @@ def getTog2Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getSmilesData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
|
||||
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\x02\xa3IDATx\x9ce\x93\xdfkSg\x18\xc7?\xe7WL\x1b\xa2\x07!U\xa9\x89\xe9j\
|
||||
\x90H\x87\x0cA\x86"\xb2\xf6B\xa1\xe0\x8d\xca\x19.\x88XJ\xa0\xb7R\xbc\x14\xbc\
|
||||
@ -3509,7 +3535,8 @@ def getSmilesImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getGridBGData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00T\x00\x00\x00T\x08\x06\x00\
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00T\x00\x00\x00T\x08\x06\x00\
|
||||
\x00\x00\x1ck\x10\xc1\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\x00\
|
||||
\x01\x7fIDATx\x9c\xed\xdc[j\x821\x14\x00\xe1\xa3\x06/\xad\x82\x9bw\x0b\xbeuo\
|
||||
\x85\xdajE\xd1\r\x84_\x88\x93\x90\xc0|\x8f\rX\x19\x08\x1c\x92\xb4\xb3\xc3\
|
||||
@ -3537,7 +3564,8 @@ def getGridBGImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getSmallUpArrowData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
|
||||
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\x9cc\x14\x10\x10`\xa0\x040Q\xa4{h\x18\xf0\xe1\xc3\x87\xffd\
|
||||
\x1b\x00\xd3\x8c\xcf\x10\x9c\x06\xa0k\xc2e\x08m\xc2\x00\x97m\xd8\xc41\x0c \
|
||||
@ -3553,7 +3581,8 @@ def getSmallUpArrowImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getSmallDnArrowData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
|
||||
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\x00HIDATx\x9cc\x14\x10\x10`\xa0\x040Q\xa4{\xd4\x00\x06\x06\x06\x06\x06\
|
||||
\x16t\x81\x0f\x1f>\xfc\'\xa4I@@\x80\x11\xa7\x0b\x90%\ti\xc6j\x00>C\xb0\x89\
|
||||
@ -3569,7 +3598,8 @@ def getSmallDnArrowImage():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getFolder1Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
|
||||
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\xa5IDATx\x9c\xe5S\xc1\r\xc4 \x0c3U\x07p\'jG\xb8Q\xd8\x00\x8f\xc0(\
|
||||
\x8c@\'*\x1b\xe4^\x9cJ\xa9z\xd5\xf5y\x91\x90\x05J\x1c;"\x8e$\x9e\xc4\xb8\xbf\
|
||||
@ -3589,7 +3619,8 @@ def getFolder1Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getFolder2Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
|
||||
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\xa5IDATx\x9c\xe5S\xc1\r\xc3 \x103Q\x06p\'*#d\x146\x88G`\x14F\xa0\
|
||||
\x13\x95\r\xae\x8f\x8a*\x84(\xa5\xca\xb3\x96\x90\x05\xba3\xe7\x83s$q\x05\xf3\
|
||||
@ -3608,7 +3639,8 @@ def getFolder2Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getFolder3Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
|
||||
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\x00rIDATx\x9c\xad\x92A\x0e\x800\x08\x04\x07\xd3\x07\xec\x93\xfb\xe4\xfe\
|
||||
\xa0\x1eL\x8dUljq\xaf\xc0L \x98$"\xd9B\xd3@\x02(\xa5\xd4{A\x92M\x03\x00\xea\
|
||||
@ -3626,7 +3658,8 @@ def getFolder3Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getFile1Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
|
||||
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\xed\x93A\n\xc00\x08\x04k\xe9\x03\xe6\xff\xaf\xdc\x1f\xa4\
|
||||
\'/\x89\x9a\xa4\xb9vA\x10\xb2\xac#D\x03\xae\x13=\xdeHj\x95\x11\xb02\xa02Ij\
|
||||
@ -3643,7 +3676,8 @@ def getFile1Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getFile2Data():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\
|
||||
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\x9cc\x14\x10\x10`\xa0\x04\xb0\xc0\x18\x1f>|\xf8\x8fO\xa1\x80\
|
||||
\x80\x00#6q&d\xce\x7f\x1c\x18\x9f\x05L\xe8\x02\x8ch4\xb2\x0b\xb0\x19\x82a\
|
||||
@ -3660,7 +3694,8 @@ def getFile2Image():
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getNoIconData():
|
||||
return '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \x08\x06\x00\
|
||||
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\x00\
|
||||
\x8dIDATx\x9c\xed\x95Y\n\x800\x0cD\x13\xf1\x00s\xffS\xf6\x06\xfaU\x18J\xd4\
|
||||
\xd6\x85\x14\x9c\xfc\x94L\x97<h\x16\x07`\x99\xb6\xa4F\x17\x80\x00\xccl\x1d9\
|
||||
@ -3677,3 +3712,351 @@ def getNoIconImage():
|
||||
stream = cStringIO.StringIO(getNoIconData())
|
||||
return wxImageFromStream(stream)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getWizTest1Data():
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00t\x00\x00\x01\x04\x08\x06\
|
||||
\x00\x00\x00\xf9\xcf\x10R\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
|
||||
\x00\x0f\xdfIDATx\x9c\xed]K\xb6\xe3(\x0cU\xf5\xa9MU\x86\xd9\xd6\xcb\xd0\xd9\
|
||||
\x96\x87\xaeeU\x0f\xfc\t\x06\x01\x12\x16\x1f+\xba\xe7\xf4\xe9\xd4\xb3-d\xf0E\
|
||||
\t\xf8\xb5,\xcb\xbf\xc7c\x06\xc3\x05L\x00\xf0\xfa\xd9~\xbf\xcf\xbf\x81p\r\
|
||||
\xbb\xaf\xf0\xdao\xb1\x97\xfa6L\xdb\xff_?\x00/\xb8\xd6@\xdc\x0f q\xed?\x89w\
|
||||
\xfb\x0e\xfc\xac\x8d8m\xbf\x07\x8514\x8b\x9dU\xefj\xac\x92\xecr\x8d\xa1\x01~\
|
||||
\xe0`\xe3\xc0L\x8c\xc1\x18z\xc2O5\xe6$\xaf\t\xb2\xfd\xd7:\xca\xfd\xc3\x7fw\
|
||||
\xc3\x90\xd8\x18\xfa\xee\xabE\x17\x10\xd8X\xc2\x9c\xa3.\x192\xa5\xd8\x0eoc\
|
||||
\xa86|\x19C\xa5F\x9f\x992\xc8\xacz\xe7\x9fs\xef#80\x8c\xa1\xca\xa0\x9f\xa1\
|
||||
\xaeG\xe7\xca\xe83\xc9J\x80\x13\xfb\xb3\xb6\x17\xa9o\x9f}\xae^~\xd9\x13Du6\
|
||||
\x86*\x83b\x86\xd6\x9a\x1f\x12\xd8\x95\x1d\x01#\xe00t\x7f?c\xa8~\xe8bh\xec+\
|
||||
\xdf\xff\xdd\xcb\xc7J\xaa_\xc2(\x97\xf0\x9c1T\x19\x140\xb4\xd4\xff\x1a{ga\
|
||||
\x1fkvt\xbc\x81mC\x11\xbd\xcd\x86\xea\xc3\x8d\x19\xca\xf4\xbf\x96\xbec\x8a9~\
|
||||
\xd9\xa5\xd7\x04\xed\xfeM\xc3g?\xf1\x97E_\xfcBQ~z\xc9!s\xc0\xc1\xd7=\x03\xdc\
|
||||
?\xe8_\'\x00\x80\xe9\r\xcb\xf3y8\x87\xd6,\x03\x81"_ #\xa7\x01~\xdd+\xeb/1\
|
||||
\x00\xda\x1a\xf31;\xef"\xda\x08\xa5\x83/\xc25A\xb6\xdf\x88\xa183\xa3\xb8\t\
|
||||
\xa3\xa4q\x13\x1b\x9a\xff\xb2wv.\xcf\'\x00\x00<@\xb0\xd7\x99\x00\xf2Ib\x8e\
|
||||
\x9e\x1dm\xe8\r\x1a\x94\xc9\xcc*\xe5gF\xc8Go\xb0\xdb\xec\xb7\xf7\xf7\x8a\xf0\
|
||||
\xca\x1b\xdf\x86\xba\xe1/\x00\xba\r\x95\xaaL\xd2\xb4\xa5dJT\xc7I\xa1\xc6\xb1\
|
||||
\xb0,\x7f\xcf]\xae\x82w*\xc1\xc0\x8e\x05\xaa=\xdau\x7fz\xcfK\xbc\x13\x819Ruw\
|
||||
\xd9\xf5\xb7B\rC\xc3.\xb7\xb7\xed\xed\x83a\x18:M\x00/w\xa4\x08\x90\x19\xe5\
|
||||
\xe5$^x\xa7\t\xf0\x8f\xe3\x02s\xf2(\r\x9fyX\x96\xe5\x1f\xc0\xbf\xae\xff-\xcb\
|
||||
\xf2oY\x96\x7f0M\x97d\xc04}d]\xd4g\x97\xd5\xbbn\xb8\xff\xf5g\xe8\x04p\xb2\
|
||||
\x7f\xc1\xc8\x8e\xcaL\x01\x1b\xba13\xfc\xbb\x90\xa3?S\xb6\x1e\x1b\xba\xbd\
|
||||
\xc01B\x9dg\xbe\r\x14\xb0\xa1\xfbHy\xd7\xa5H\x8f\xce\xe8\xcfP\x00\x80\x17\
|
||||
\xc0\xb2<\xcf\x95\t\xc0\x9a\x87\x85\x9e"\xe6;M\x00\x8f9\xf2Q]\x9es\xd2\xca\
|
||||
\xd7\xc3\xd0\x1d\x17\x98Z<\x0f\xf5\x98\xbd<\x9f\xb7\x9e\xc3\x8e\xe1)r\xbcAh\
|
||||
\xb7\x07\x90\xffJ\x83\x91)\xad\xe8\xbdg8}D\x9b.\xe2\xb1\xd5$dF\xb9\xbf\x0fa=\
|
||||
\xe1T\xd2\xe3\xf1\x07`\xc2>\xb0\x9c\x8e\xfeKg\xee\xdf\x98\xe9be\xa6\xc3N\xbf\
|
||||
w\xa8mO\xa3\xe5\xd1\xcb\xed\xcc\xd0\xb87(\xe8B\xe79mC}\xa6e\xde)\xb0\xd9\xd8\
|
||||
\x9c\xb3\t37\xa8\xb4\xa1>\x1c\x16\xe5F\xafd\x1b\xca\x90yG\xf4c(i\x11\xd1\xe7\
|
||||
\xbe,S\x8964`\xe6c\xae\x18Q\xe1@\xc6\x86v\xecr\t\xe1\xa3\xedE\xd0F\xf0@\xear\
|
||||
\xa3\x1f\x07!5\xe4&]n\x9f\x14\x94)\x7f\x8b\xfbU\xfa\x8d\xb3,O\xa2\x8cOy\xcb\
|
||||
\xe2\x0f\x80\xe6S\x0f\x90\xc4\x8d\xd2Y\xfad, \xc1\xe9\xe37\x00\xfeUb\xce\x87\
|
||||
\xe9\xd3\xfd\xce\x1b;\x1f\xf3\x1c\xb4Q\xe0t8%\x92%\xc2t\xe4@\x80\x00\x92\td\
|
||||
\xeciKK\x10\x06 \x91\n<\xec\x1d\xac\r\xe8\xde\xb7Fjf\xf4\xf1\xd9i@\xb6y\xb9\
|
||||
\x11;\x01z\xd8P,\xa5\x84i\xab>\xa16F\xb1\xd3&\x9a\xb1\x1a\xba\xcd`\xc8\xd3c/\
|
||||
{\xd7\x85iC\x1b3T\xa6\x82\xb8\x8d\x19}\x86c\x87o\x82\xb6\x0c\x1dbz\xe0"7\xd2\
|
||||
n\xac\x8b\xdc\xb4eP\xc7\x82\x81\x8d\xba\xe13g\xde\xe7\x8eN\x01\x00u\xbb\x91\
|
||||
\xaf!\xdd\xe7n#\x97\xe7\xf3\x18\x04\xf9\xdd\xec>u\xc1d^\xd1K\xa4\x87\xbb\x83\
|
||||
\xeboY\xfe\x02@\xbc\xc2J\xaf\xa1\xfaR\xc2`Xx\x0e\xe2\x8dG\xd6k \xd7aU\x86\
|
||||
\xce3\xc0\x13K\xe9\xb8\x0c\x9a\xbeG(n\xfb\xc2\'\xa85\x0b\x11J\x195\x1b\xfa\
|
||||
\x01\x1a\x9d\x81\xfb\x07\xac\xb9h\x93\x82\x92\xdd\x9dD\xa2\x90xO\xe03uE\xca[\
|
||||
\xd5!%\xe7\x0e6\xb4)\\\x1b\xba\xc5S\x01\x10;9\x90\xbd\xab\x81\x06\x0c\xa5,i\
|
||||
\xe0I\xc4<E\xae\xbf\xf6\x01ox<\xe0\x94\x96\xe9^\xcb\xef2f\x0cm\x03/8=\x01\
|
||||
\xc0k\xab\x04\xd7\x86\xba\xef\x13\x1di+ej}\x86\xa6|\xa5\x00\xac\xaf/\x98\x96\
|
||||
\xcc3\xec\xba\xef)\x98\xeb\xdf\\g<\x04\xc1\xef5R\x93H\xe8\xee\xe2\x90\xff\
|
||||
\xa6Q.%m\xc4\xb3\xa1>\xfcl\xc2C\x962\xa66\xf0\xe5\xa6l(u>\xc9\xcbX\x88\xbd\
|
||||
\x0f\xe6):\x1a\xb5e\xec\x13\xc3W\xd8\xd0\xc2$\xb1\xd4\xfbhgj]\x86\xe6\x12\
|
||||
\xc1R_\x1ef\xf7Rz\xba\xf7g\xf6\x84\x8fOi\xb2oT\x11w\xc8XH\xae"K+\x9aL\x1b\
|
||||
\xc9\xdc\x9f\xdc\x01ez\xc3\xe3\xf1\x13\xb0?\xfb\\m\xa4\xd2`\x86H\x12\xcb\x06\
|
||||
\x8f#\x8d\x99J\xe8\x92\x04:pb&\x9f\r\x88z\x0c\xcd%\x82E\x1a\x14\x9f\x9a\xe4q\
|
||||
\xb0,w\xbf\xa3\x8b\xcb\xd4\xf3\xca\xb7\x0eL\x15J\x83\x19g\'\xb1V\xcc\xf4\xa1\
|
||||
\x8c\xa9\xf5\x18\xca\\\x89}5h\xcc\xb1\xa1\xbe.\x8f\xc7\x0f,\xcb\xfa\xa7X\x9a\
|
||||
hu\x0coCSp\x15\x8c1\xb31\xa2]\xf5\xcd\x98Zq\xdaB\x0bO\x1d\xe9\x95p1\x9d\x834\
|
||||
mI\x05\x08V\xbd\\\xe7\x03u\xe5\x9b\x0c\x84RIG\xd8\xe9c\xdaw\x1c\x11\xda\x05\
|
||||
\xe5\xb2N\xae>7\xdb\r\xa5\x9es>u8\x8d\xf7\xb5\xbbY\xef\xe5\xba\xb8\xddv|J\
|
||||
\xb4\x16\x98\xb1U/\x00X\xce\x8f\xe2ArA|\x85\xeb\x8f\x83\x8cs\xbe\x04\xa8Gi\
|
||||
\xf0\xba\xaa\x18>\xeb\x99\xe2\x11\x93\xcf\x0b\xb2?\x1e\xe1\x80\xad\x1eS\xbf)\
|
||||
|F\x00\xd59_*\x1b\xe0\x1e\xe9,}l(\xd4\xb8\x96\xd8\x8dl\x7f.\x1adO\xb1\xe3<\
|
||||
\xe2=\xbf\xa3SoW\xde\x87\xabW\xe2\x9a\x1a\x86\xd6\xb0\xa1>\xee\x90\xce\xa2\
|
||||
\x86\xa1\'O\x910C\xb3\xbe\xdf\xacW\xcc\x18\xcaFM\x1b\x1a+\x0b`\xbc y\xa7Q.\
|
||||
\x88_;G[\xfe\xc8\xf4\x04\x91\xb2\xe3\xbe\xdf\xb7HOp\xe5\x9a\x1a\x86\xb6\xb0\
|
||||
\xa1>Fdj=_nO\x1b\xeaV\xaa\xa0\r\xc5\xae%\xa74fC\xcb\xd1\xd2\x86\xc6\xca\x06\
|
||||
\x88l3\xd7\x10j<E\xb1D\xeb@\'\x00\x99\xa8\x86[\xb6\xe3Q:MiX~XQOQ\xe3.\xb7\
|
||||
\x82\x83\x9b\x92\x97Kv\xce\x97\x82\x9b\xa9\xe8\xeb&\xa0\xd78)(\x1a\x80T|\xeb\
|
||||
t\x96\xee\x01n10\xf2r\xa5\xbb\\\x1fh\x86~\xb6\x8ee\xf4\xea\xc4\xd0\xfe\x13\
|
||||
\xf0\x9a\x88-\xd5h\xc1\xd4\x8e\xd3\x16\xd9\xe2H6\x14\xd3\x0b@\xce\x86":\x01\
|
||||
\x103\xf4\xa5\xf4\xbaSz\x059m\xa4\xb7.\x88^\xad\x0e\xf7i\xb2OQ|\x92]\xa7\xd8\
|
||||
\xf4\xfb\xf0l\x95\x9f\xc4\x06\xc0\xdf\x8a\'\x94\xf9F\xb6\xaa\x13\x9d\xb6\x98\
|
||||
c!\x8a)\\\x01\'\xb1\x91V-\xa7C\xe5\x15\xdc97\x9ad\xb9\x84$1\x80\xa66\xd4\xc7\
|
||||
\xb1\xcd\xab{*\xaf\xb4^_mC\xb74M\xea}w\xa8\xab\xbe{,t\xb4\xa1k\xf7\xb7\xfe\
|
||||
\xe5\x93\xf8\x95\xef5p\xfb\'\x01\xb3\xa1\'\xb0l\xe8Vq\xc1\xfaP\xe2\xca\xef\
|
||||
\x11\x02\xd91\xdcj\x17\x94\x14h\xcey8<J\xeb3\xfe`\xe5\x0f\xc4\xea\xe2t\xd0]\
|
||||
\x95\xdeE\x86\xa1\xf5\x8f\xca:\xb2\xd1\xbd2\xc4\xbfr\xf7\xa5#\xb2\xa7L\xc5\
|
||||
\xb8\x83\xb7\xa4\xfcD\x19W\x10\xad#zY\xb7\xdcI\x0c\x83\xbf\x93X\x80\x083\xf7\
|
||||
\x7f\x1f\xbf\x01\x00\xab\x0f<1\xec\xba\xde\xae~\x12\xa3\xdc6\x87\xd9\xb9_^5\
|
||||
\xa6\xfeu~\x9fe\x9e\xec\x9fS\xee\x03>\x19\x07\x07",]7\xb0\xf2\xbbr\xc1zs\x1b\
|
||||
-U_\x194\xdas\x9e\x90J!\x19\x8b\xf4\xd6\x9f\x02D\x96\xfa;i$\xd4\xc8\x08\xd9g\
|
||||
\xcc\xc6]l\xe8\x8e\x143EX\x1a\xda\xd0\x143\xddc%\xc3#.S\xfa|\x18\xbd,\xc2^)\
|
||||
\x01\x1b\xda\xf0T\x88:\xe9\x1f;\x02\xe6 \xe7\x9c\x9dYuf\x84\x9f\xec\x15\xed1\
|
||||
\xbc\xac\x84u\x03\xc9K\xaa\x1fr%z\xafv\r\xda!\xfd\x03 \x11d\xc6\xc2{\xae\xdf\
|
||||
\x96\xb0\xc9\xd5!_dpt\xb7\x007\xe1\xc8\xe5\x9ae\xb3?\xda\x94>\x03\x1f\x9f\
|
||||
\xd5\xf8\xa8\xacL\xae\xea\x85n7v\x96v|\xf0\x12\xa6\xc8\xe0\x03\xa7H\x81N\x97\
|
||||
>\xcf\xf3\xf5nWe\x92\x984K\x93\xcc\x0c?\x1e\xea&W\xbb\xec\x1d\xcf\xe78\xfb\
|
||||
\x1au8\x106\x97\x01^\xc8\xd2\xa2\x14J<\xbcwrR\x10\xa60\xf4\xf22\xba\xdc\xca\
|
||||
\x86\x92!0\x85!\xdb\xcc|E\xf9K\xf2]\xf4;\x8c>\x8e>G6WH \xdbSE\xd8\xd3\x08,x\
|
||||
\xe0\xd9\xd3\x94L?\x11\xacx\xc0d\xbb\xa0T\x86\x9fz\x92r~\x9c\xa6;}\xeb\xb2\
|
||||
\xcdA<\x01RI\xd8\xd0$\x1d$\xd0\x05c\xc7\xc9\xcfK\xac\xa3b\xdd-\xc0]\x1fN |\
|
||||
\x9d\x9a\xe0,EW\x9fu\n\x82wb\xe8\x8e6\xa15\xb2\x1eA\xd9\x9f\xbf\xafS\x13\\\
|
||||
\x9f\xfd(\x913\x98uj6\xb4\r\xc2HL>M\xa5\xe7\x8ec\x9d\x19\n\xd0$\xb4F\xd5\x03\
|
||||
);\x9c\x00\xa4\xea\xea3\xc5Y\x96\xbf\xcci\x8d\xd9\xd0f\x08#1\xf1\x14\x97p\
|
||||
\xba\xd3\xd6\x96\xf6\x99\x87\xfa\xc8Eb\x00\xfa\xd8Rdn\nP+\x12c\x0cm\x0b\xc6\
|
||||
\xbc\xf4\xc4\xe8\xc6\x0c\x1d\xc0\x86\xee\xc8DbZ\xd8\xd2\x84\x07\x8b\x93$v$p?\
|
||||
\x9f0S\x13\xb3m\x94\xdb\x01\xce\xbc\x94\xe5=j\xc8\xd4\x81\x18\xbac\x00/R,9\
|
||||
\x1c\x08\xe9\xa2\xde}\xc7\xefl\x1d\x9b\r\xed\x02\xf4\xf0\xf6\xad\x01\xa6\xe9\
|
||||
\xbd\xeen\x8e\x06\xd9\xdb\xd4\xf1\x80\x0c\x05\xc8/C\x84\xcaL\x8d{\xb0\xfc\
|
||||
\x13\x9c\x0e\xf6m\xd1\x9ex^Sf&q\xbb$1\x0er+\xbf\x8f\x7f7\xc8\xf8\xc7\xca\x06\
|
||||
b\x16>+\xa4\xa66\xc0\r\xf4/\xb2j\xdaG\xa2\x12\t\x03\x9c\xe3\x98\xaf\xc6\tec2\
|
||||
tG\xac\x1b\xda\xff-\x90\\\x96F\xa6l\x7f$\xbb\xab\\\xd2\x88*\x93\xc4|tgj\xe6C\
|
||||
y\xfd\xc0<\xcf\'6\xd6Y\x0cL\xc7\xd8\x0c\xdd\x91\xfaz\x01\xea2\x95T\xb6D\xb9\
|
||||
\x9am\xa8\x0f\x16S\x85\'\xf0\xd4\x01M\xea\xda\x04\x1f\xdd\xdc\xdf\xfb\xbf\
|
||||
\xb3:\xd3\x9f\xbb\x07CwP6U\xae\xe5\xcc\'m\xe8\xec2\x89\xe0\xca\x0ct\xberm\
|
||||
\xfdm\x8e\x05e8;\x16Ze\x7fK-\x1b 1\xe0bY~\xb9{y"\xac\x8a\xe9\\~\xcd\x18\xaa\
|
||||
\x0c+C\'\xfa(\xaa*\xd8l*`\x87T"\xb4 \xab$\xd9n\x0cU\x86\xb1\x18\x8a\x813m\
|
||||
\xe0\xb0#%7\xbb\xb7\xd2\x85k\xa9\xa30I\xf3P\xb3\xa1_\x85\x0fC\xfd/\x96\xb2\
|
||||
\x82\xd9\xbf\xe7\x85\xfc\x8d\xf2\x1c\x05W\xd28\xf6\x7f\xc7\xae\x1d\x0c \x04\
|
||||
\xd7\xd9\xd7\xa8\xbd\xdf\x05O\x913\xfa6\x86*C\x18\xe0\xe6\xec-\x801\xb4DN\
|
||||
\xee~\xca\xf3\x01\xc6\x9a\x1f\x92X\xc6\x1d\x99#\xe9\xaf\xc6Pe\xa0\x8drs_H\
|
||||
\xea\xbe\xda\xde\'N6\x80\xc4\xfc\x90\xc2\x96\xa2\xb90\xc7\x86\xc6\xdf\xc7\
|
||||
\x18\xaa\x0cc2\xb4D\x0e\'\xc4&bC\x99\xf21\x99\xfe\x98#\xcb\xe8\xfc(|e(g;\x97\
|
||||
\xda\xc8M\xf8K\x9f\xc5d\x89\xb9\xe4<B\x90\xd6\xeap\xc2mo\\&"\x7f\x9c\x007%\
|
||||
\xa1*w\xcf\x11\x04&\x96\'\x96\xe1\xf0\xe3\x94\xfd\x93\xb9\x17y\x8e\x12\xe0&\
|
||||
\xe27\xa3\xf4q\x90s`\xb0\xf0n4mI\\\x13t1\x86\x0c\xad\x99\xe4\x94b\x18\xb7\
|
||||
\x81r\xb2X\xf2\xde\xb4\x1e\xe2\x0683\xf4\xe5\xfd\x1f\xe0:\x13nWIu\x98\x93\
|
||||
\xbc&\xc8\xf6|\x97\xcb\x19\xa4P\x1b/\xd6eN\x0c\x19~\x991y\x1c\xbdNpG\x97o\
|
||||
\xb8\xcb\x11\x99\xf7\xb4\xa1]\xb07p\xa1\x93"u\xcd\x02\xdc\x86\x18\xae\xad>+\
|
||||
\xedrc\xcf\x97\xca\xa1\xc8ma\xcbK\x03\xe3\x82l7\x86*C_\x86\xc6\xe4\\\x91\x95\
|
||||
\x92)!wp\x18C\x95a\x0c\x86b\xb2\xae\xca\x8b\xc9\x94\x90;0\x8c\xa1\xca06C\xaf\
|
||||
\xca\xac)wP\x18C\x95a\x1c\x86b\xf2F\x97; \x8c\xa1\xca0\x16C1\x995\xe5J\xc9\
|
||||
\x1e\x08\xc6Pe\xf8\x1e\x86\xd6\x96=\x08\xc6\xc9)JA*\xdd\xa4G\xdepc\x8c\xd7\
|
||||
\xa0\xca\x18\xd3\x1a\xe35h\x0c5\x99\xa4\x88\xa5c6h\xedD5\xc5\x18\xb3A{0F\tK\
|
||||
\xc7lP\xe5,\xaa\x891\x1b\xb46\x14\x7f0\xe6XP\x86\xf1\x1c\x0b1\xd9w\x93\xdf\t\
|
||||
\xc6Pe\x18\x97\xa1\x98|\xc92\x8c\xa1\x86;\xc0\x18ZCvG\x18C\x95\xc1\x18ZCvG\
|
||||
\x18C\x95a\xfc\xdd8[B\x01C\xd7\x06}\xddc1\xab!\x0fc\xa8\x0b\x05\x0c\xfdN\xe7\
|
||||
|\x0c\nBh[\x97[\xf8\xb4\x8dr\x87\x831\xd4\x85\x02\x86\xde\xabAk3\xc8\x18Z\
|
||||
\x11\n\xd8\xd2\x03\xe36\xa8\xa1\x08\xd6\xa0\xca`\xae?e\x18\xd79\xdfz\xca")\
|
||||
\xbf#\x8c\xa1\xca`\x0c\x95\x96\xdd\x19\xc6Pe\x18\x93\xa15m\x9cbv\x02\x18C\
|
||||
\xd5\xe1>\x0c\xad%[\x11;\x01\x8c\xa1\xea0\x1eCmt{\t\xc6Pe\xf8\x1e\x86*\xf6\
|
||||
\x0e\xb90\x86*\xc3X\x0cm\xc9Ne\xcc\xdc1N\xf8\xacV@\xfb\xcb\x02\xe5\xe34(\x86\
|
||||
Z\xbbp*\xc6\xd8\rZ\x0bJ\xbb[\x80Q\x1a\xd4\xf6\x9b\x17\xc3\x18\rj\x10C\xff\
|
||||
\x06\xada\xe7Fd\xe7~\xf0\xeb\xe9\xe0\xd8\x9f\xf0wp\x8d\x87\xbe\x87\xd9\xd5\
|
||||
\xa8\xf8a\x1a\xd3;\x16\xeb\x05\x02\x87\xd9\xe5\xa7\x97\xe6XP\x86\xcf\xea\xb3\
|
||||
\x92/\xf8\x8acA\x9aI\xa9\xee\xa9*;\x079\x10v{Gc\xa82\x9c\xd7\x87^=.\x92\xfa\
|
||||
\xbc$;\x9b3\x93z \xec\xfb\xfc\xcc\xe9\x1a\xac\xd7\x83\xe3)\x1d\xf9\xe0\\\xc3\
|
||||
\x8e\xd0\xb6\x03a\xbf\x03\xe3\xac\xe0\x96\xb0\xbf%\xb2(eQl!:\x02\xc5X\xec1\
|
||||
\xd7gm\xecZt\x9cs\xd6\xc5\x18\xaa\x0cc0tHv\x96\x8cV==\x83\xe7"e\xc4X\xee\xcb\
|
||||
\xc0\x9e\xf7\xf42\x86*\x03\x9d\xa1\x943O\xb0\xd1\x18\x17\xa5g\xabH2\x13 2\
|
||||
\x92\x8d<\x120)g;\xbd\xe7r\x0c>d@\xa2\x97X\x7f\x1bC\x95\xa1\x1eC\xb1\xeb\x92\
|
||||
\x10\x9fcF\x18\xc0\xb5\xef\xcd=E\xe7\xb63\x86*\x03\x9e$F\xf5\xe4\xc4\x18\xca\
|
||||
\xf1\xdepX\\\xc3\xf3\x83\xb2\x8a9\xeaGmhLF\xc1\x88\xd9/\xcb}\xce\xbboe\xe8<\
|
||||
\xd3\x074\xa9\xfb^\x8cgs\xe5\xe4\x9e\x15A\xda\xd1\xcd\x92S\xd4Ug\xa6-\xb1g\
|
||||
\x0e=\xc3\xe7>\xf1Pj\xe5\xa6\xee\xcb\xc9(\xb1\xa9\xb5"%SD\xb6DyU\xa3;o8\x1au\
|
||||
\x87\xf3.\x1f\x86\x8e\x86\xea\x01\xe9RVyp\xbb@\x00\x9e\x9c\xec\xb4\x85\xfa\
|
||||
\xdc\xa7\x8b\xef\x9f\x82\xe2\xe3\x05m\x1a\x13+\xb7\x9b\x1c&b>]\x18\x89\xa1\
|
||||
\xcdRD\xa8\x8eu\x02\xb2\xae9\xa2.\xc5z\x84\x8e\x8f\xf3n\x9c\xad\x12\x93\x87J\
|
||||
\xa5\x1c \xd2T\x0c\xdf\x9e\x1e\xbe\\\x8f\xa1\xb5\x1a\xb6wC^\xb1w(\x84\xa6;\
|
||||
\xa5\t\x06\xae\x0c\x00\x0bpk\xc4\xb5\xd5gw\xc2e{\xe7B\xca\x0e_\xb5\xa1\xa1.\
|
||||
\xc6Pe\xf8\x0e\x86J\xb8\xf7\x0ePSCJ\xf4*\x94\x03fC\xd5\xe2\x0b\x18\x9a\xf6}\
|
||||
\xb2Q\x93\xed\x02z\x19C\x95\xe1\x0b\x19z\xf1]\xc5\xec\xde\xa6\x9b1\xd4\x90\
|
||||
\x82r\x86\nET0\x99\x83\xb2\xdd\x18\xaa\x0c\xba\x19*\xea\x1d\x82l\xfa\x07\x1f\
|
||||
\x826t\x93g\x0cU\x06\xdd\x0c\xbd\x1a\r\xc1\xe4\x01\x0cjCWyx\xf8L\x0b\xbe\xae\
|
||||
\xcb\x1d1\x05E\n\xe2;\x85"\xe9&\x03B1C\x89\xebR\xa8`\xe5\xde2eJ\xe9\x08\x9a\
|
||||
\x19Z\x1dc\x8e;\xf42\x14M7a\xae!\xe1\xaeQ)\xbd&\xb1\x0b\xcav\xcd\x18\xaa\x0c\
|
||||
\xd6\xa0\xca`\x8e\x05eP\xecX\xa8=\xca\xbd(\xcf\x95)8\xca5\x86*\x83^\x86\xfa\
|
||||
\xa3\\\t\xb7_\xd5P\x1c\x80D;\x18C\x95\xe17\x00\xc0\xd4{\x9f"\x83\x18\xfe\x07\
|
||||
\xd2\x8b\x12\xe7\xc3\x8c\xd4\xb6\x00\x00\x00\x00IEND\xaeB`\x82'
|
||||
|
||||
def getWizTest1Bitmap():
|
||||
return wxBitmapFromImage(getWizTest1Image())
|
||||
|
||||
def getWizTest1Image():
|
||||
stream = cStringIO.StringIO(getWizTest1Data())
|
||||
return wxImageFromStream(stream)
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
def getWizTest2Data():
|
||||
return \
|
||||
'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00t\x00\x00\x01\x04\x08\x06\
|
||||
\x00\x00\x00\xf9\xcf\x10R\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\
|
||||
\x00\x10\xb4IDATx\x9c\xed]M\xb2\xb4*\x0c\x8d\xaf\xbeM\xd9\xc3\xbb-{ho\xab\
|
||||
\x87\xf6\xb2|\x03\xc5\x06\x0c\x100\xfc\x98\xe6Tu\x95\xf7\x82\x01\xc1C \x89\
|
||||
\x00\xcb\xb2\xac\x1d\xd7\x00\xf3\xbc\x02\xac\xdb\xcf\xbe\xa6\xa4a\xf9R\xd3z\
|
||||
\x87\xa6\x81\xb5\x13b_\x00O\xda\x7f\xd0A\xc20\x00\x0c\xaf\xd7\xf6\x1bj\xd7\
|
||||
\xc6\x83\xceP?J\xb0\x8a\x93\xed\x9d\xa1\x16\x86Acc\xcbLt\xa13\xf4\x8b\xac\
|
||||
\x93\x95B:tX\x96e}<\xc6\xda\xefU\x07\x13\xfe\x038\xfa\xf9\xa7~\x00\x000\xbf\
|
||||
\xb6\x9f}\xad\xfe\x06$_ \xcd)\xdfw\x1f\x96/!m]\x01:C\x85\xe1\xa7\x18z\xe0"s\
|
||||
\xa2\x98\xef\x91I\xbaO\xcbG\xa9sg\xa80\x88g\xe8%]\xa5]G\xb1\x1f\x93\xaf\xa59\
|
||||
\xeb\xe9\xa8\x973/"\xbf3T\x18\xc42\xf4\x00\x13C\xa3\xd8\x85\xc9\x0f\xb4s\x0c\
|
||||
C\x8f\xe7\xeb\x0c\x95\x0fQ\x0cM];\x96X\x1f\x92F\x94\x08\x9d\xeb\xba\xaf3T\
|
||||
\x18n\xcfP\x00Hb\x8eW\x9e\xca\x8b\xc9\x88L\xbb<\xba\x10e\xa8\xbc\x9d\xa1\xc2\
|
||||
p[\x86\x02@\x14s\x92\xcb\xc9\xac_\xd9\xf5\xfe\x1d\xddg\x00k\x94{\xeary\xdd\
|
||||
\xc1\x9d\x0f.\xa7\xf3\x0c\x000\xbf`\xf9\xfb\xdb\xaea\x7f\xcci\xba\\\xe6:M,r\
|
||||
\x8a\xe0N\x0c\xf5\xbe\xa1\xf3\xbc.\xcb\xf2\xfd\x1f\x033\xc9e_Mcd\xfbm\x18\
|
||||
\x1a\x1b\x0er\x1bFq\xe3\x0e\x0c\xa5\xbc\xa1\x8a\x9d\xcb\xb2\xac\xdc\xcfDa\
|
||||
\x87Q\xcf\x8a:\xf4_\xed\x17*\x84\xda\x81Z\xc3\x00p(e\x07\xd4h\xb0\xcd\xbe\'\
|
||||
\x80cp\xd8.\x86g\xa6\xca\xa9\xb2\xf5\xf2Zg(\xf9\r\xb5t(k\xf9\x81\xb2\x93\xe4\
|
||||
&\xe8I\n\xc4\x18\x16\x96\xe5\x03\x8f\xf7\x1b\x96\xbf?\x00\x00\x90\xf0L)h\xd6\
|
||||
\xb0\x00\x00Q\xceb\x1blu\xf0\x94\xcd\xd9vWM\x7f\xea\'\x86\xa1j\r\xfax\xbf\
|
||||
\xb7\xbf\x9f\xbf9\xcbm\x86\xa1\xf3\xfe&\x02\x00\xc9\x8c\xe6d\xd3\x8e\xablY\
|
||||
\x96O\xd0\x84\x97eD\x8at\x9f\x9d\xe4,\xcbR\xbd;\xd5R\xc3\x98\x04$\xc8\xd0\
|
||||
\x97-W\xebsL\xb2*\xb7M\xec\xaf:C\x8d7\x12\xc0\xa9\xab\\\xcc<\xe400\xf4`\xa6\
|
||||
\r&C?\xb9\x1dn\xafC\xf7\xca\x1f3\xd4\xf7;^\x072\xe8P5SVuI\xaaGeTg\xe8\xba\
|
||||
\x02\xac\xd3t4\xa0\xbe\xf4\x88q\x16\xab\xfb\x97\xbf?X\xfe\xfe\x92\x18\xa2\
|
||||
\xdfot&\xc11\xde\nC\xff\x01\xd4\xb7\xc6l\x18\x01\xe6\xf7\xf1\xd7\xc6\x16-\
|
||||
\xf99y-.\xcbb\xfeM~\xa6\x9d\xd9:\xb6\x11K\x1b\xb54\x96\xe6k+m$x\x9a\xd71\x96\
|
||||
\xa6\x7f\x00\xb8\x0e*\x89\xe1\xb5\xbf\x8d\xcf\xe9<\xec)f\x04\x8c\xed\xc3\xeb\
|
||||
m\x0c\xb9\xebJS#\x9f\xcf\x9fi\x90x\xbf\xb7\x17\xeb9}Y\xa215\x97\xd1\x7f31\
|
||||
\x9e\xcb\x83\xe7\x14\xd5?\x8d0\xf4\xdbH\x8f\x87\xc9T\x85`\x1d-{k8\x7f\x1c3\
|
||||
\xd5\xdf9\xed\xb2Xy\x00q\xfdSU\x87\x02\x00\xae;\x9e\xd3I\'r\xebP[go\xcc\xbc\
|
||||
\x1e\xecU[\x87\xb61\xcbuAcQh\xf6J\xb6\xe5F\xc8\xbc#\xaa\xe9P]o\xa2\xba\x036\
|
||||
\xbd\xa9\xf2\x1d\x9d\xe0\xd0cT\x1d\xaat\xa6\x929\x8e#\x0c\xf0:\x95m\xd7+w\
|
||||
\x1bq\xe9\xd0j\xee\xb3c\x90\xf0\xb8\x8f\x14t\xb7\x98\xab\xbe\x14\x07\xb7.C\
|
||||
\xe5?\xea\xc2\xe0\xba\xba\x02\x9f\x9b.\x06UBP\x0evz\xa0\xbf\x95\xe3h\xb2\xed\
|
||||
\xf3\xf9\x90d\xe8\xe5}>\xa6\x05h\x1cGc\x04\xf0\xd6\xe5N\xe1,5\x18\x8a\xbd\
|
||||
\x85\x14F\xd8L\xd5\xf3\xcd\xda\xfff\xeb\xfe\x93\x9dWK\xf7\x8e\x12\x19\x82\
|
||||
\xcd\\\xf0\x8d\x121(\x1e\x82B\x99\x82\xbb\x181\x8e#\xc0\xae\xff\xde\xef\xb7\
|
||||
\x91oRa \xe3Yw\xbe\xdf\xdfe\xd08\x8eh\x9e\xd8\xba4\x8b\xd2\x0c\xe5\xd0U6\x03\
|
||||
\xa9\xf7`\xf2C\xe1\x95\xa5pK\x1d\xcae\xc0\x98\x12X3!\xc1\xd21z\xf86(\xc9\xd0\
|
||||
\\\x01W\xc9\xf5\t\xcc\xb4\x8b\xd7\x85a\x94h\xdb\xb0\xd0\x11\x8d\xac\x86\x05\
|
||||
\xdd(\xa0/\xe6\x01\xe0\xecw\x8cH\xc3&*\xaf\xd7\x0b\x9e{>5\t\xb2\x87f\xb5t\
|
||||
\xc1d^\xa9\x97\xbd\xacJ\xc1\xf0r\x1b7b&fY\x8d\xf3\xcb\xe2o\xb0\xd44\xb4\xbe\
|
||||
\xf3\xb9\xa1O\xf9\xe6\xb8\x17\x87\\/\x96\x11\x8e\xc7}\x96\xd58\xaf/\x178\x81\
|
||||
\x1a\xb7\x11\xa8@/\x95\'\x10\x00\xcfZ\x9fh\xe3<\x00K\x90\x98\x18\x1dz2\xce\
|
||||
\xeb\xec\x13\xf0|T\x14q\x9f\x85\x02\xa6\xd9\xdep\x07l\xa6\xa2\x8c(\x10f\x92\
|
||||
\xd4F\xa2\xdcg1\xd0\x83\xc4\xf6\xc8\x07\x00DO\nr\x95a\xc8\xceP\x00`g\xe8\x8c\
|
||||
\xdc\xa3;\xb8\xd7u3\xf1\xd9A_*\r\xadKgh\x05X\xce\xe9\x19\x00\x9e;\xe3t\x1d\
|
||||
\xaa?\x8f\xce\xd4Ka\xa27A~\x86F~\xd2\xe0\xfb\xd9a#O\xad\xeez(\x89~\x8f\xceT#\
|
||||
L\xb4b\xb8\x89w$\xfb\x89Y.%l\xc4\xd2\xa16\xech\xc2C\x960\xa6V\xd5\xa1\xa9\
|
||||
\xcc\\\xa7\xc9\x99\xc7\x15 6\x8e\xa3\xa1OOLM\x181\xb2\x8cdV\x1b\xc9\xd2\xa1\
|
||||
\x89Ab\xbe\xe7\x91\xce\xd4"\xb6\xdc\x94\xa0\xe5\xe1e~\xabr\xd8L\x1d\xb7\xe8A\
|
||||
b\xbe \xeba\x18\x8f({;\xa0\xbb\xa63\xfb\x16Ab\xc7@\x90\xe0\x9e\xf2\x85\x8d\
|
||||
\x84\xf2{\xebd\xed\xc9@\xbd/7\x9awp\x87\x9c\xc7\xae\xb7\xce\x17\xd0\xc5\nd\
|
||||
\x88\x8d\r>k\x12\xb9\xdeL\xecM\xc3B4m\xf8\x02\xc1\xbc\xe5\x11\xf3c\xf5\xa2\
|
||||
\x84\x89\xe6\x06\xd6F)\x0e\xeefv\x12+\xc6L\x1b\xd2\x98\x9a\x8d\xa1\x9e@0\x8c\
|
||||
EWY\x12\xadC-F\x18\xdb\x02D\x8e\x0e\x1ch^\x87\xfa\xa0\xb3\xce\xc5\xcc\xd28\
|
||||
\x96E\x16n\xc7\xd4\x1a:T\x87\n\xaf\xbc\xaa\xbf(\xacB\x19`\xe9*{\xe6[\x8a\xa9\
|
||||
\\:\xb4\x89]P\xf4\xa8\xf7T\x19\xac;\x97 \x13\xa5\xdamD\xfde3\xfd\xc5\x18\xbf\
|
||||
\xa7i:&@\xc9\xe5i\xf0\xd6\x89bbC&b\x98\x93<k{\x894\xfd\xc5 `\x9cO\x01\xea$o\
|
||||
\xbc\xad\xf21\x14\xa0\xa8\x03YG0\x0f\xd1\xc9\x8eM\xcer1\xd5U\xaf\xd8\xf6\x12\
|
||||
\xc3P\xaaq>U6\xc0=\xc2Y\xaa\xe8\xd0,i:<\xfa(*m\x87kIs\xdcs\xf5yb\xeb\xe5I\
|
||||
\x13\xc3\xd0\x1c:\xd4\xc6\x1d\xc2Y\xc40Twps3T\xa5=\x1e\xf1\xe1,\x9d\xa1\x89\
|
||||
\xc8\xa9C]e\x01\xb4\xe7$\xaf2\xcb\xcd\x91f\xec7\xe4\xba\x0f\x93\xe1Ks\x94\
|
||||
\xfdx\xd0\xc2Y\xc82c\xeb\xe5I\x13\xc3\xd0\x12:\xd4F\x8bL\xed:\xf4\x02s\x92\
|
||||
\x98\xcaQ\xaf\xaeC\xcb\x94\r`~\x9aX\x83\xa9b,E\xae@\xebS\x9d\xecz\xa9\xbf/\
|
||||
\xd4\xcb\x0e\x11\xa5\xeeO\xe8m\xaf\xc4zUqp\xe7\x00\xc5\xc1\x8d\xba\xa7\x12\
|
||||
\x1d\xc9.\xf9\xa9\x8e\xfa[;\xb8\xa5\x02\xf3\xd2\x14\x0fg\xa9\xed\xe0f+/5HL\
|
||||
\x1bA\xb8\x80\x85\xb3\x84\xc0U\xaf:{\xfdU\xdfp9/0/M1\xa6\xb6\x12$v\x15W\x83\
|
||||
\xc4r\xd5\x89\x1ax\xc6U\xaf&BPX~\x0ca,9\xebU\xeap\x9ff\xbfm\x89/\xeb{\xed{\
|
||||
\x9e\xd8oH\xd4\xfeG\x00\xe9[\xf1\xd8\x98\xe7\xd7i\x0f%\xaeo[\xbaa!\x84\xf9\
|
||||
\xfc\x05\x1c\xc7FZ\xb9\x8c\x0eY\xbf\x0f\xd5\x1b\xc5\xb8\xce``\xd0\xe1\xcd\
|
||||
\xe71\xa3\x85\xe4^\x85\xda\xb7\t\x0b\x86\x8b\xad\x97\xf3\xf9~Z\x87\xda\xcb\
|
||||
\x84@\xbe;\xb4U\xd5=\x16X\xcb\xd1\x10\xcc7\x9b\x87\xd6\x1dGK:\xee\xd5\x81\
|
||||
\xed\xc0\xc2V\x7f\x06\xd3\xdfo\xea\xd0\xbd\xa1\xec\x89\x0c\xf5\xcb\xef\x16\
|
||||
\x1c\xd9.\xdcj\x17\x14\xdf\x8fb\x9cW\xf5\xc1\\^\xdf\xe3A\xfc\xf2c\x8d\xee\
|
||||
\xa5\x19Z\xe0\xa8\xac\xfdmv\x1d\x03\xc5u\xf4\x94\xb63\xa3\xf3y\xe6\x80\xa5f~\
|
||||
\xc108\xd8\x17{\x14W\n\xeepT\x16\x00\x04\x9d\xc5\x1c\xe5\x84vAq1\xf3\xe4\xf2\
|
||||
r\xb4\x07\xe6\xc4fm\'\xa6Yn\x99\xc3\xec\xac\xfd_\xed4\x0e\x96\xea\xc7M\xda\
|
||||
\xcf\x83\x9e\xda\xfb\x9c\xe0\x81\xa59Yz>d\x8f\xb7\xddn\xb0_nP?$\xbe\x85\xd8\
|
||||
\xcf\xa5Ca~\x19iv\x98\x88\n#1\xf6Ar\x953M\xc1\x91\x80\xbd\x8d"\xfb\xa7\xdcq\
|
||||
\x93\x0e\xfd\xa0\xae/\xb3\x14\xd1\xa1>f\xea\xc7J\xdaG\\\xfa\xdaC\x1f\t>\x9f\
|
||||
\x0f\xafU\xea\x0e:\xd4x\x03\x01\xd8\xc3?\xd4\xef\xb4\xe3\xe6|>\x82Yg\x95]\
|
||||
\x17=\x9fo\xc4\xb0\xd9\xce\xb5.e\xb5\x14\x95@\x8d\xf0\x0f\x9f\x93\x19u\xefi\
|
||||
\xf7Q\xca\xe2\xfc\xba\xfb\xd4&Z\xbdbP\xcc\xc1\x1d>r9\x9f\xf3w\xdd?(\x8e\x81\
|
||||
\xaf>M\x1f\x9fU\xf4 \x1e\xcf[\x18\xfb&\xda\xc0\xf6E\xf09\xbc\xb1Q"f\x17\x14=\
|
||||
_\xca\xd1]\xa8<\x86\xd1\xab\xa9 1n\x96\xfa\x98i\xe8\xf5\x1d\xce\xcf\x06\x1d\
|
||||
\xb2\x15\xfe\xfe\xfe\xda\xd9-\xa5\xf8av\x8e\xb7\xf0j\xa0VJ\x08%6J\xe8rB28w \
|
||||
\xbb\x9d\x0e\xa5\x82c\tE\xd5\x99\x18Km\xd8{(\xe9\xa8\xb1\x9fR\x08\xc5\xcf\
|
||||
\x0f]W\xe4X(\xfb\x88(\xd7\x1e\xaa\x1e\xcc\xf0\xdd\x87>\xee\xc6\xd7)D\xe61\
|
||||
\x9b[\xbb\xce\xef\xb7\xf3DD#*\xe1\x8d\x1f\xe3\x15U\x0fu\xbd\xd7e\xbb\xa6\xcb\
|
||||
\x14\xe3>c\x87\x1dz\xe2s\x99\xe9y+\xb7e1\xc3\xc2\xc9\xc8\x10\xf8\x8a\xaax]\
|
||||
\xc0\xaa\x97\xd5\x81A\x19\x17\xeb\xeej\x87\xd8\xfe\xe9\x0c\xf5A\xb3"\xbd\xdf\
|
||||
\xef\xe3H\x11\x1b\xe8\xd7g\x95\x9c\xe0U\x18\x1ad\x87\xf6w\x95\x11C\xfd\xfd4\
|
||||
\x97&\xae\xfa`\x93\xa3\xe8:0\x99\xfe:C\x038\xb1\x8f\x10\xa6Rs\xc7\xb1\xaa\
|
||||
\x0c\xf5\xb2\x83\xd1\xb5F\xae\x07R\xb6ml \xc9\x80\xadsY\xda!\xb2\x7f:C\t\xb0\
|
||||
w\x12s\xeaG{\xb9\x03\xe0\xd4\xbb\xb9\x90\xf5S\x08*\x8cO&\x00\x90u\x18\x141\
|
||||
\x88\x9f>G8\x9c\xe0\x93\xb14\x19\x9d\xed5\x1d\xc7\x93\x00\xc0\xe1lO*\x1b\xe0\
|
||||
\xb7?\x85\xc8\x8e\x88u\xa9\xc1\xe8\xc2\x0c\xad\xaeC):D]g\xaf\x83\xa7\xec\x98\
|
||||
1=\x1f\xd5\x01\xdeg\xb95\xa0\xadK\xa3\xacG\x05\x99\xda\x0cC\x9dL\xad\xb06u\
|
||||
\x96\r\xe1pQ\xf5#\x07\x9e\x11F\xa8\xce\xd0\x8c@\x0fo\xdf\xd97\xcf\xdb\xb7\
|
||||
\xa4\xe8g\x84\x85\xda\xb89\x86\x1eo+@5+\x92\xafl,$T\xb1Zu&\x16\xc8M\x1e\x15\
|
||||
\xecgM\xd1\xa1\xad\xf9\xf5B_~\xab\xbf\x8d\xce\xe7\xae\x83k\x19\xb1#\xe6\x0bn\
|
||||
\xca\x92\x8bk\xd9\xd2\x9c\x83\x1b\x80\xd6\x00\x00\x99\x03\xcb|\x8dH\x98\xe0\
|
||||
\x1c\xa7\\\x94\x0e(\xab}\xcc\xa2\x0f\xce\xc0)0\xd3\xb2\x95\x1f*\x1b\tJK\r\
|
||||
\x18\xe3\n\x12+\x1e\xb1\x10\x83u\xa2E\xd4\x0f\xaf<\x87\xb9\xaek $\xe69\xc1{\
|
||||
\xde6\xc0X[Q[-3T\xc1\xf7\xf6\xe6f*\xa5l\x96r<#A\x0c\x9a\xd4\xa16bt*\xf7w:\
|
||||
\xe4\t\x8d\'mx\xbd\x8e\xba\x19\xd7\x03\xad\xceQ\xf7\xdd\x81\xa1\n\xa1\xdd\
|
||||
\xc9\xf4\xeb\x1ae\x1b\xf9\x03z\xdf7\xd2\xa4\xa4)t\xc3\x820\x18\xee\xb3R\xd1\
|
||||
\xdfW\'0G\x18\xa8c\xddv\\3\x94u*W\x95\xe7Y\x1fG\xa7a\xf9\x12\xd3:C\x85a[\xb6\
|
||||
\xcce\x98\x19B,\x9b\x8eIA\x04;R\x19\x1b\x0c\x0e\xbf\x92\xc6\xc8\xf6\xcePah\
|
||||
\x8a\xa1\x18\xa2\x96\r\x11\xec\xf0\xc9\xf5\xeah\xf5wb\x9a\xcb\xa4H\xb5\xe5\
|
||||
\x86\x9e\xb53T\x18\x0e\x86\xdao,\xe5\x0bf;\xcf:MI\xf7Q@b\xaa\xad\xe7\x00H\
|
||||
\xba\xed\x98\xe5;\x82\xc4\xae0\x94\xea)\xb9\xe2m\xd1g\xdf\x9d\xa1\xc2p\n\xe3\
|
||||
\x8c\xd9[\x00ch\x8a\x9cP~\xca\xfd\'y\t3\xe0S\x1a\xe3L\x96\xc4\xb2\xc8\x999\
|
||||
\x16\xfe\xda\x19*\x0c\xa4Yn\xf0\r\xf1\xe4\xcbm}\x8a\x8a\x06`X\x1f\x92\xd8\
|
||||
\x92\xb0\x16\x8e\xd1\xa1\xbe\xe7\xe9\x0c\x15\x86&\x19\x9a"\'*l\x85A\x87z\xdb\
|
||||
$a-L\xd1\xa1\x94Y\xf8\xc6\xd0\x88\xed\\r#\xb8\xe0O\xbc\x17\x95\xc5d\x92;\r\
|
||||
\x89\x84ouP\x83\x81g\xc8Ee"\xf2\x9bqpS\x02\xaaBy\x94\x13\x98\\\x1eS\xd4\xa0\
|
||||
\xed\x80\x8e\xbe\x8f\xe0\xe0\xa6\xa2\xe9\x98"\x17B\x06\x8c(Y+l\xfb\xe3f^\xb6\
|
||||
x\xd3\x18M\x8c\'\x86\xe6\x0c;\xf41,\xb6\x83B\xb2\xa2\xd6\xb5+m\x84\xb8\x03\
|
||||
\x0c\x86\xaa\x07\xa2\x1a\x08(\xb8[#}\xcd\x80y\x8c\xf3\xb9\xd9\x1e\x1crc&)\
|
||||
\xd4\xces\r\x99)\xe1\x98>\xfb\xb0\xfa_\xcaK\xb5u\xec~\xdft\x9f#2o\xa9Ck@up\
|
||||
\xb2\x91\xc2\x97\xd6\x1d\xdc\x1d.\\\xdac!u\xc8u\xdd\x9f*\x87"\xb7\xc8\x1e\r\
|
||||
\xa9\x8eqF\xb6w\x86\nCU\x86\xba\xe4\\\x91\xe5\x93\xc9!\xb7ut\x86\nC\x13\x0c\
|
||||
\xc5d]\x95\xe7\x92\xc9!\xb7et\x86\nC\xd3\x0c\xbd*3\xa7\xdcV\xd1\x19*\x0c\xcd\
|
||||
0\x14\x93\xd7\xba\xdc\x16\xd1\x19*\x0cM1\x14\x93\x99S.\x97\xec\x96\xd0\x19*\
|
||||
\x0c?\xc3\xd0\xdc\xb2[A31E>\xb0\x85\x9bT\x88\x1b.\x8d\xe6:T\x1acJ\xa3\xb9\
|
||||
\x0eu!\'\x93$\xb1\xb4\xc9\x0e\xcd\x1d\xa8&\x19Mvh\r\xc6Hai\x93\x1d*\x9dE9\
|
||||
\xd1d\x87\xe6\x86\xe4\x17\xa6\x1b\x16\x84\xa19\xc3\x82K\xf6\xdd\xe4\xd7Bg\
|
||||
\xa804\xcbPL>g\x19\x9d\xa1\x1d\xb7@gh\x06\xd95\xd1\x19*\x0c\x9d\xa1\x19d\xd7\
|
||||
Dg\xa804\xbf\x1bgIt\x86v4\x87\xceP\r\x12\x18\xfa\x93\xc6y\x17$\xb8\xd0\xb6Y.\
|
||||
\xd3g\x80}\x96[\x1f\x9d\xa1\x1a$0\xf4V\x1d\x9a\x9bA\x9d\xa1\x19!\x81-5\xd0l\
|
||||
\x87v\xa4\xa1w\xa80t\xc3\x8204k\x9c/\xbdd\xe1\x94_\x13\x9d\xa1\xc2\xd0\x19\
|
||||
\xca,\xbb6:C\x85\xa1I\x86\xe6\xd4q\x92\xd9\t\xd0\x19*\x0e\xb7ah.\xd9\x92\xd8\
|
||||
\t\xd0\x19*\x0e\xcd1\xb4\xcfn\xaf\xa13T\x18~\x86\xa1\x92\xadC::C\x85\xa1)\
|
||||
\x86\x96d\xa74f*4\xe3>\xcb\xe5\xd0\xfe5Gy3\x1d\x8a!\xd7.\x9c\x92\xd1t\x87\
|
||||
\xe6\x82\xd4\xe1\x16\xa0\x91\x0e\xed\xfb\xcd\xf3\xa1\x89\x0e\xed\xe0C\xf5\
|
||||
\x0e\xcd\xa1\xe7Zd\xa7:\xf8U?8V?\x10\xd6\x95\x16\x8b\xaa\x87\xd9\xe5h\xf8V:\
|
||||
\xf3|\x04\xf3\x94t\x98\xdd\x00\xdfk\xca\xf2\xb2\x1b\x16\x84\xe1\xf8\xfa,\xe5\
|
||||
\r\xbebX\xe0f\x92ox\xca\xc9\xce\xe3\\\xd1\xca\x07\xc2\x1e\xe7\xa8v\x86\xca\
|
||||
\x82\xf1}\xe8\xd5\xe3"\xa9\xf7s\xb2\xb343\xa9\x07\xc2\xea\xfa\xce`\xf1\x9eo]\
|
||||
\xcf\xc7S\xae\xd3t\xd6\xbd\xd6\xe8y<o?\x10\xf67\xd0\xcc\x17\xdc\x1c\xfa7E\
|
||||
\x16\xa9,\x82.\xc4f\xa0\x98~=1\xd7b\xad+\xcd5\xcf\xb1\x19\xdd\x19*\x0cM0\xb4\
|
||||
Ev\x9e\xd7\x91\x10\x9c\xad\x9et\x9du\x9f]7\x1fC1\x19\xe8\xfdV\xbd:C\x85\x81\
|
||||
\xccP\xca\x99\'\xe8l,\x12\xa9g\xab\xb02\x13\x00\x9d\xc9\xba\xca8\xb1\x11a4\
|
||||
\xaac\x91Y\xee\xa9.\xc4QB\xc9\xef\x0c\x15\x86l\x0c\xc5\xd29\xc1\xbe\xe3\x8a\
|
||||
\xc3\xe2\x13\xad\xdf\x0b[\x8aNz\xb73T\x16\xd0 1\xaa%\xc7\xc5\xd0\x18\xebM\
|
||||
\x0c\x8b\xb3X~\x10V\xc5\x06\xcda:\xd4%\x83j\xfb\xf5\xeak\xed\xbeS{.\xcb\xb2>\
|
||||
\xdeo\xf2\x84\xc6\x97o\x9d\xa6{u\xa6c\x02\x14m\x02\r\x98\xeb\x82\xf7y\x8c\
|
||||
\x13\x94:\xeb\xf7\x1d\xfePj\xe3\xfa\xf2\x85d\xa4\xe8\xd4\\\x9e\x92\xad.g\xd9\
|
||||
\x1c\xe5e=\xeak\xd5:u\xc7\xf0\xfa\xbe@U\x1d\xdc>dwH\xdbC\xdd\x15\x17\xe2\x0c\
|
||||
\xd6\xe4\x85(g\xb6\x86\xfb\xd4\xfb\x9e\xd3qk\xf5\x10\x14\x1b\xeb4e\xefL\xfb\
|
||||
\rW\xe5\xd6\x92\x13\x0b\xa7M\x174\x1dZ\x1b\xa5BD\xb0\xc5\xfa\xa5/\x078tob=\
|
||||
\xec\t\xd6:M\xe6n\x9c\xa5\x02\x93[\n\xa5L\xed\xcc\x16`\xeb\xd3a\xd8\x19:\x8e\
|
||||
\xe6:4W\xc7\xd6\xeeHc\xca\x0f\x90\xac7\x0fy\x16\xdb\x93\x97;\x89\x01\x06\x86\
|
||||
\x0c\x80\xee\xe0\x96\x88\xff\x006\xeaJ\xff\x19\xe6\xcd\xf9uM\xd6.C\x97yI\x0e\
|
||||
\x87\x8c]Ng\xa80\xfc\x04C\x0f\x16ho\xf2ev\xc2\xf7\x9a\xab^\x97\xea\xb4\xcb\
|
||||
\xe9\x0c\x15\x06\xf1\x0c=pQW\x95`;G\xbd:C\x85\xe1\xe7\x18zY\x1e\x93\xde\xeb\
|
||||
\x0c\xed A4C\x01\xc0\\/^d\x94\xcd\xaa\x16\xd9\xde\x19*\x0c\xb2\x19\xcah\x1d:\
|
||||
\xe4eb;G?\x00t\x1d*\x0e\xb2\x19\n\xc0\xb2^4\xe4)\x99\x1c\xf2\x18u\xe8!oY\x96\
|
||||
U*`\x9e\xbf\x8f;\xcf<\xf2\x94L\x0ey`\xd6\x91\x03\xcd\x85\xa0p\x81}\x1fB$\xdc\
|
||||
\xa4IHe\xa8\xceL6v\x82\xc9*6\x99Lu\\W\xc1\x0c\xcd\rC\xa7\xb6\x04\xb1\x0c\xd5\
|
||||
\xf5\x1d \x0c\xa3\xa4a\xf9r\xa4\xc5\xd6\xcb\x93\xd6\x19*\x0c\xbdC\x85\xa1\
|
||||
\x1b\x16\x84A\xaca\xe1\x00\xe7\xa2]\x93\xc9RGf\xc3\xc2\xbav\x86\x8a\x83\\\
|
||||
\x862\x84Y\x9e\x18\xdf\xb8q\xbe3T \xfe\x01\x00\xcc\r\xec$\xd6\xc1\x83\xff\
|
||||
\x01\xf6\x8dNq(hH\xc7\x00\x00\x00\x00IEND\xaeB`\x82'
|
||||
|
||||
def getWizTest2Bitmap():
|
||||
return wxBitmapFromImage(getWizTest2Image())
|
||||
|
||||
def getWizTest2Image():
|
||||
stream = cStringIO.StringIO(getWizTest2Data())
|
||||
return wxImageFromStream(stream)
|
||||
|
||||
|
115
wxPython/demo/wxWizard.py
Normal file
115
wxPython/demo/wxWizard.py
Normal file
@ -0,0 +1,115 @@
|
||||
|
||||
from wxPython.wx import *
|
||||
from wxPython.wizard import *
|
||||
|
||||
import images
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
class TitledPage(wxWizardPageSimple):
|
||||
def __init__(self, parent, title):
|
||||
wxWizardPageSimple.__init__(self, parent)
|
||||
self.sizer = sizer = wxBoxSizer(wxVERTICAL)
|
||||
self.SetSizer(sizer)
|
||||
|
||||
title = wxStaticText(self, -1, title)
|
||||
title.SetFont(wxFont(18, wxSWISS, wxNORMAL, wxBOLD))
|
||||
sizer.AddWindow(title, 0, wxALIGN_CENTRE|wxALL, 5)
|
||||
sizer.AddWindow(wxStaticLine(self, -1), 0, wxEXPAND|wxALL, 5)
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
class TestPanel(wxPanel):
|
||||
ID_wiz = wxNewId()
|
||||
|
||||
def __init__(self, parent, log):
|
||||
self.log = log
|
||||
wxPanel.__init__(self, parent, -1)
|
||||
|
||||
b = wxButton(self, -1, "Run Simple Wizard", pos=(50,50))
|
||||
EVT_BUTTON(self, b.GetId(), self.OnRunSimpleWizard)
|
||||
|
||||
EVT_WIZARD_PAGE_CHANGED(self, self.ID_wiz, self.OnWizPageChanged)
|
||||
EVT_WIZARD_PAGE_CHANGING(self, self.ID_wiz, self.OnWizPageChanging)
|
||||
EVT_WIZARD_CANCEL(self, self.ID_wiz, self.OnWizCancel)
|
||||
|
||||
|
||||
def OnWizPageChanged(self, evt):
|
||||
if evt.GetDirection():
|
||||
dir = "forward"
|
||||
else:
|
||||
dir = "backward"
|
||||
self.log.write("OnWizPageChanged: %s, %s\n" % (dir, evt.GetPage()))
|
||||
|
||||
def OnWizPageChanging(self, evt):
|
||||
if evt.GetDirection():
|
||||
dir = "forward"
|
||||
else:
|
||||
dir = "backward"
|
||||
self.log.write("OnWizPageChanging: %s, %s\n" % (dir, evt.GetPage()))
|
||||
|
||||
def OnWizCancel(self, evt):
|
||||
pass
|
||||
|
||||
|
||||
def OnRunSimpleWizard(self, evt):
|
||||
# Create the wizard and the pages
|
||||
wizard = wxWizard(self, self.ID_wiz, "Simple Wizard",
|
||||
images.getWizTest1Bitmap())
|
||||
page1 = TitledPage(wizard, "Page 1")
|
||||
page2 = TitledPage(wizard, "Page 2")
|
||||
page3 = TitledPage(wizard, "Page 3")
|
||||
page4 = TitledPage(wizard, "Page 4")
|
||||
|
||||
page1.sizer.Add(wxStaticText(page1, -1, """\
|
||||
This wizard is totally useless, but is meant to show how to
|
||||
chain simple wizard pages together in a non-dynamic manner.
|
||||
IOW, the order of the pages never changes, and so the
|
||||
wxWizardPageSimple class can be used for the pages."""))
|
||||
wizard.FitToPage(page1)
|
||||
|
||||
# Use the convenience Chain function to connect the pages
|
||||
wxWizardPageSimple_Chain(page1, page2)
|
||||
wxWizardPageSimple_Chain(page2, page3)
|
||||
wxWizardPageSimple_Chain(page3, page4)
|
||||
|
||||
if wizard.RunWizard(page1):
|
||||
wxMessageBox("Wizard completed successfully", "That's all folks!")
|
||||
else:
|
||||
wxMessageBox("Wizard was cancelled", "That's all folks!")
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
def runTest(frame, nb, log):
|
||||
win = TestPanel(nb, log)
|
||||
return win
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
overview = """<html><body>
|
||||
<h2><center>wxWizard</center></h2>
|
||||
|
||||
wxWizard is the central class for implementing 'wizard-like'
|
||||
dialogs. These dialogs are mostly familiar to Windows users and are
|
||||
nothing else but a sequence of 'pages' each of them displayed inside a
|
||||
dialog which has the buttons to pass to the next (and previous) pages.
|
||||
<p>
|
||||
The wizards are typically used to decompose a complex dialog into
|
||||
several simple steps and are mainly useful to the novice users, hence
|
||||
it is important to keep them as simple as possible.
|
||||
|
||||
</body></html>
|
||||
"""
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys,os
|
||||
import run
|
||||
run.main(['', os.path.basename(sys.argv[0])])
|
||||
|
@ -473,6 +473,20 @@ if not GL_ONLY:
|
||||
wxpExtensions.append(ext)
|
||||
|
||||
|
||||
# Extension for the wizard module
|
||||
swig_sources = run_swig(['wizard.i'], 'src', GENDIR, PKGDIR,
|
||||
USE_SWIG, swig_force, swig_args, swig_deps)
|
||||
ext = Extension('wizardc', swig_sources,
|
||||
include_dirs = includes,
|
||||
define_macros = defines,
|
||||
library_dirs = libdirs,
|
||||
libraries = libs,
|
||||
extra_compile_args = cflags,
|
||||
extra_link_args = lflags,
|
||||
)
|
||||
wxpExtensions.append(ext)
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# Define the GLCanvas extension module
|
||||
#----------------------------------------------------------------------
|
||||
|
3
wxPython/src/_wizardextras.py
Normal file
3
wxPython/src/_wizardextras.py
Normal file
@ -0,0 +1,3 @@
|
||||
# Stuff these names into the wx namespace so wxPyConstructObject can find them
|
||||
import wx
|
||||
wx.wxWizardEventPtr = wxWizardEventPtr
|
@ -1740,4 +1740,50 @@ void wxPyCBH_delete(wxPyCallbackHelper* cbh);
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_WIZPG__pure(CBNAME) \
|
||||
wxWizardPage* CBNAME() const;
|
||||
|
||||
#define IMP_PYCALLBACK_WIZPG__pure(CLASS, PCLASS, CBNAME) \
|
||||
wxWizardPage* CLASS::CBNAME() const { \
|
||||
wxWizardPage* rv = NULL; \
|
||||
bool found; \
|
||||
wxPyBeginBlockThreads(); \
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||
PyObject* ro; \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()")); \
|
||||
if (ro) { \
|
||||
SWIG_GetPtrObj(ro, (void **)&rv, "_wxWizardPage_p"); \
|
||||
Py_DECREF(ro); \
|
||||
} \
|
||||
} \
|
||||
wxPyEndBlockThreads(); \
|
||||
return rv; \
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#define DEC_PYCALLBACK_BITMAP__pure(CBNAME) \
|
||||
wxBitmap CBNAME() const;
|
||||
|
||||
#define IMP_PYCALLBACK_BITMAP__pure(CLASS, PCLASS, CBNAME) \
|
||||
wxBitmap CLASS::CBNAME() const { \
|
||||
wxBitmap rv; \
|
||||
bool found; \
|
||||
wxPyBeginBlockThreads(); \
|
||||
if ((found = wxPyCBH_findCallback(m_myInst, #CBNAME))) { \
|
||||
PyObject* ro; \
|
||||
wxBitmap* ptr; \
|
||||
ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()")); \
|
||||
if (ro) { \
|
||||
if (! SWIG_GetPtrObj(ro, (void **)&ptr, "_wxBitmap_p")) \
|
||||
rv = *ptr; \
|
||||
Py_DECREF(ro); \
|
||||
} \
|
||||
} \
|
||||
wxPyEndBlockThreads(); \
|
||||
return rv; \
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
#endif
|
||||
|
2300
wxPython/src/msw/wizard.cpp
Normal file
2300
wxPython/src/msw/wizard.cpp
Normal file
File diff suppressed because it is too large
Load Diff
277
wxPython/src/msw/wizard.py
Normal file
277
wxPython/src/msw/wizard.py
Normal file
@ -0,0 +1,277 @@
|
||||
# This file was created automatically by SWIG.
|
||||
import wizardc
|
||||
|
||||
from windows import *
|
||||
|
||||
from misc import *
|
||||
|
||||
from gdi import *
|
||||
|
||||
from fonts import *
|
||||
|
||||
from clip_dnd import *
|
||||
|
||||
from frames import *
|
||||
|
||||
from stattool import *
|
||||
|
||||
from controls import *
|
||||
|
||||
from events import *
|
||||
|
||||
# wizard events
|
||||
def EVT_WIZARD_PAGE_CHANGED(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_WIZARD_PAGE_CHANGED, func)
|
||||
|
||||
def EVT_WIZARD_PAGE_CHANGING(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_WIZARD_PAGE_CHANGING, func)
|
||||
|
||||
def EVT_WIZARD_CANCEL(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_WIZARD_CANCEL, func)
|
||||
|
||||
def EVT_WIZARD_HELP(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_WIZARD_HELP, func)
|
||||
|
||||
|
||||
class wxWizardEventPtr(wxNotifyEventPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def GetDirection(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardEvent_GetDirection,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetPage(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardEvent_GetPage,(self,) + _args, _kwargs)
|
||||
if val: val = wxWizardPagePtr(val)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxWizardEvent instance at %s>" % (self.this,)
|
||||
class wxWizardEvent(wxWizardEventPtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(wizardc.new_wxWizardEvent,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
|
||||
|
||||
|
||||
|
||||
class wxWizardPagePtr(wxPanelPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def Create(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPage_Create,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Init(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPage_Init,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetPrev(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPage_GetPrev,(self,) + _args, _kwargs)
|
||||
if val: val = wxWizardPagePtr(val)
|
||||
return val
|
||||
def GetNext(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPage_GetNext,(self,) + _args, _kwargs)
|
||||
if val: val = wxWizardPagePtr(val)
|
||||
return val
|
||||
def GetBitmap(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPage_GetBitmap,(self,) + _args, _kwargs)
|
||||
if val: val = wxBitmapPtr(val) ; val.thisown = 1
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxWizardPage instance at %s>" % (self.this,)
|
||||
class wxWizardPage(wxWizardPagePtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
|
||||
|
||||
|
||||
|
||||
class wxPyWizardPagePtr(wxWizardPagePtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def Create(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_Create,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def _setCallbackInfo(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage__setCallbackInfo,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_DoMoveWindow(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoMoveWindow,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_DoSetSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoSetSize,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_DoSetClientSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoSetClientSize,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_DoSetVirtualSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoSetVirtualSize,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_DoGetSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoGetSize,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_DoGetClientSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoGetClientSize,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_DoGetPosition(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoGetPosition,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_DoGetVirtualSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoGetVirtualSize,(self,) + _args, _kwargs)
|
||||
if val: val = wxSizePtr(val) ; val.thisown = 1
|
||||
return val
|
||||
def base_DoGetBestSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_DoGetBestSize,(self,) + _args, _kwargs)
|
||||
if val: val = wxSizePtr(val) ; val.thisown = 1
|
||||
return val
|
||||
def base_InitDialog(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_InitDialog,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_TransferDataToWindow(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_TransferDataToWindow,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_TransferDataFromWindow(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_TransferDataFromWindow,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_Validate(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_Validate,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_AcceptsFocus(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_AcceptsFocus,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_AcceptsFocusFromKeyboard(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_AcceptsFocusFromKeyboard,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_GetMaxSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_GetMaxSize,(self,) + _args, _kwargs)
|
||||
if val: val = wxSizePtr(val) ; val.thisown = 1
|
||||
return val
|
||||
def base_AddChild(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_AddChild,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def base_RemoveChild(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxPyWizardPage_base_RemoveChild,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxPyWizardPage instance at %s>" % (self.this,)
|
||||
class wxPyWizardPage(wxPyWizardPagePtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(wizardc.new_wxPyWizardPage,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
self._setCallbackInfo(self, wxPyWizardPage)
|
||||
self._setOORInfo(self)
|
||||
|
||||
|
||||
|
||||
def wxPrePyWizardPage(*_args,**_kwargs):
|
||||
val = wxPyWizardPagePtr(apply(wizardc.new_wxPrePyWizardPage,_args,_kwargs))
|
||||
val.thisown = 1
|
||||
val._setOORInfo(val)
|
||||
return val
|
||||
|
||||
|
||||
class wxWizardPageSimplePtr(wxWizardPagePtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def Create(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPageSimple_Create,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Init(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPageSimple_Init,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def SetPrev(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPageSimple_SetPrev,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def SetNext(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizardPageSimple_SetNext,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxWizardPageSimple instance at %s>" % (self.this,)
|
||||
class wxWizardPageSimple(wxWizardPageSimplePtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(wizardc.new_wxWizardPageSimple,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
self._setOORInfo(self)
|
||||
|
||||
|
||||
|
||||
def wxPreWizardPageSimple(*_args,**_kwargs):
|
||||
val = wxWizardPageSimplePtr(apply(wizardc.new_wxPreWizardPageSimple,_args,_kwargs))
|
||||
val.thisown = 1
|
||||
val._setOORInfo(val)
|
||||
return val
|
||||
|
||||
|
||||
class wxWizardPtr(wxDialogPtr):
|
||||
def __init__(self,this):
|
||||
self.this = this
|
||||
self.thisown = 0
|
||||
def Create(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_Create,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def Init(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_Init,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def RunWizard(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_RunWizard,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetCurrentPage(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_GetCurrentPage,(self,) + _args, _kwargs)
|
||||
if val: val = wxWizardPagePtr(val)
|
||||
return val
|
||||
def SetPageSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_SetPageSize,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def GetPageSize(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_GetPageSize,(self,) + _args, _kwargs)
|
||||
if val: val = wxSizePtr(val) ; val.thisown = 1
|
||||
return val
|
||||
def FitToPage(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_FitToPage,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def IsRunning(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_IsRunning,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def ShowPage(self, *_args, **_kwargs):
|
||||
val = apply(wizardc.wxWizard_ShowPage,(self,) + _args, _kwargs)
|
||||
return val
|
||||
def __repr__(self):
|
||||
return "<C wxWizard instance at %s>" % (self.this,)
|
||||
class wxWizard(wxWizardPtr):
|
||||
def __init__(self,*_args,**_kwargs):
|
||||
self.this = apply(wizardc.new_wxWizard,_args,_kwargs)
|
||||
self.thisown = 1
|
||||
self._setOORInfo(self)
|
||||
|
||||
|
||||
|
||||
def wxPreWizard(*_args,**_kwargs):
|
||||
val = wxWizardPtr(apply(wizardc.new_wxPreWizard,_args,_kwargs))
|
||||
val.thisown = 1
|
||||
val._setOORInfo(val)
|
||||
return val
|
||||
|
||||
|
||||
|
||||
|
||||
#-------------- FUNCTION WRAPPERS ------------------
|
||||
|
||||
wxWizardPageSimple_Chain = wizardc.wxWizardPageSimple_Chain
|
||||
|
||||
|
||||
|
||||
#-------------- VARIABLE WRAPPERS ------------------
|
||||
|
||||
wxWIZARD_EX_HELPBUTTON = wizardc.wxWIZARD_EX_HELPBUTTON
|
||||
wxEVT_WIZARD_PAGE_CHANGED = wizardc.wxEVT_WIZARD_PAGE_CHANGED
|
||||
wxEVT_WIZARD_PAGE_CHANGING = wizardc.wxEVT_WIZARD_PAGE_CHANGING
|
||||
wxEVT_WIZARD_CANCEL = wizardc.wxEVT_WIZARD_CANCEL
|
||||
wxEVT_WIZARD_HELP = wizardc.wxEVT_WIZARD_HELP
|
||||
|
||||
|
||||
#-------------- USER INCLUDE -----------------------
|
||||
|
||||
# Stuff these names into the wx namespace so wxPyConstructObject can find them
|
||||
import wx
|
||||
wx.wxWizardEventPtr = wxWizardEventPtr
|
352
wxPython/src/wizard.i
Normal file
352
wxPython/src/wizard.i
Normal file
@ -0,0 +1,352 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wizard.i
|
||||
// Purpose: Classes for wxWizard and etc.
|
||||
//
|
||||
// Author: Robin Dunn
|
||||
//
|
||||
// Created: 16-Aug-2002
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2002 by Total Control Software
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
%module wizard
|
||||
|
||||
%{
|
||||
#include "wxPython.h"
|
||||
#include <wx/wizard.h>
|
||||
%}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
%include typemaps.i
|
||||
%include my_typemaps.i
|
||||
|
||||
// Import some definitions of other classes, etc.
|
||||
%import _defs.i
|
||||
%import windows.i
|
||||
%import frames.i
|
||||
%import misc.i
|
||||
%import controls.i
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
enum {
|
||||
wxWIZARD_EX_HELPBUTTON,
|
||||
|
||||
wxEVT_WIZARD_PAGE_CHANGED,
|
||||
wxEVT_WIZARD_PAGE_CHANGING,
|
||||
wxEVT_WIZARD_CANCEL,
|
||||
wxEVT_WIZARD_HELP
|
||||
};
|
||||
|
||||
|
||||
%pragma(python) code = "
|
||||
# wizard events
|
||||
def EVT_WIZARD_PAGE_CHANGED(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_WIZARD_PAGE_CHANGED, func)
|
||||
|
||||
def EVT_WIZARD_PAGE_CHANGING(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_WIZARD_PAGE_CHANGING, func)
|
||||
|
||||
def EVT_WIZARD_CANCEL(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_WIZARD_CANCEL, func)
|
||||
|
||||
def EVT_WIZARD_HELP(win, id, func):
|
||||
win.Connect(id, -1, wxEVT_WIZARD_HELP, func)
|
||||
|
||||
"
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
class wxWizardEvent : public wxNotifyEvent
|
||||
{
|
||||
public:
|
||||
wxWizardEvent(wxEventType type = wxEVT_NULL,
|
||||
int id = -1,
|
||||
bool direction = TRUE,
|
||||
wxWizardPage* page = NULL);
|
||||
|
||||
// for EVT_WIZARD_PAGE_CHANGING, return TRUE if we're going forward or
|
||||
// FALSE otherwise and for EVT_WIZARD_PAGE_CHANGED return TRUE if we came
|
||||
// from the previous page and FALSE if we returned from the next one
|
||||
// (this function doesn't make sense for CANCEL events)
|
||||
bool GetDirection() const { return m_direction; }
|
||||
|
||||
wxWizardPage* GetPage() const { return m_page; }
|
||||
};
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
// wxWizardPage is one of the wizards screen: it must know what are the
|
||||
// following and preceding pages (which may be NULL for the first/last page).
|
||||
//
|
||||
// Other than GetNext/Prev() functions, wxWizardPage is just a panel and may be
|
||||
// used as such (i.e. controls may be placed directly on it &c).
|
||||
class wxWizardPage : public wxPanel
|
||||
{
|
||||
public:
|
||||
// // ctor accepts an optional bitmap which will be used for this page instead
|
||||
// // of the default one for this wizard (should be of the same size). Notice
|
||||
// // that no other parameters are needed because the wizard will resize and
|
||||
// // reposition the page anyhow
|
||||
// wxWizardPage(wxWizard *parent,
|
||||
// const wxBitmap& bitmap = wxNullBitmap,
|
||||
// const char* resource = NULL);
|
||||
// %name(wxPreWizardPage)wxWizardPage();
|
||||
|
||||
bool Create(wxWizard *parent,
|
||||
const wxBitmap& bitmap = wxNullBitmap,
|
||||
const char* resource = NULL);
|
||||
|
||||
// common part of ctors:
|
||||
void Init();
|
||||
|
||||
// these functions are used by the wizard to show another page when the
|
||||
// user chooses "Back" or "Next" button
|
||||
virtual wxWizardPage *GetPrev() const;
|
||||
virtual wxWizardPage *GetNext() const;
|
||||
|
||||
// default GetBitmap() will just return m_bitmap which is ok in 99% of
|
||||
// cases - override this method if you want to create the bitmap to be used
|
||||
// dynamically or to do something even more fancy. It's ok to return
|
||||
// wxNullBitmap from here - the default one will be used then.
|
||||
virtual wxBitmap GetBitmap() const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
%{ // C++ Version of a Python aware class
|
||||
class wxPyWizardPage : public wxWizardPage {
|
||||
DECLARE_ABSTRACT_CLASS(wxPyWizardPage);
|
||||
public:
|
||||
wxPyWizardPage() : wxWizardPage() {}
|
||||
wxPyWizardPage(wxWizard *parent,
|
||||
const wxBitmap& bitmap = wxNullBitmap,
|
||||
const wxChar* resource = NULL)
|
||||
: wxWizardPage(parent, bitmap, resource) {}
|
||||
|
||||
DEC_PYCALLBACK_WIZPG__pure(GetPrev);
|
||||
DEC_PYCALLBACK_WIZPG__pure(GetNext);
|
||||
DEC_PYCALLBACK_BITMAP__pure(GetBitmap);
|
||||
|
||||
DEC_PYCALLBACK_VOID_INT4(DoMoveWindow);
|
||||
DEC_PYCALLBACK_VOID_INT5(DoSetSize);
|
||||
DEC_PYCALLBACK_VOID_INTINT(DoSetClientSize);
|
||||
DEC_PYCALLBACK_VOID_INTINT(DoSetVirtualSize);
|
||||
|
||||
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetSize);
|
||||
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetClientSize);
|
||||
DEC_PYCALLBACK_VOID_INTPINTP_const(DoGetPosition);
|
||||
|
||||
DEC_PYCALLBACK_SIZE_const(DoGetVirtualSize);
|
||||
DEC_PYCALLBACK_SIZE_const(DoGetBestSize);
|
||||
|
||||
DEC_PYCALLBACK__(InitDialog);
|
||||
DEC_PYCALLBACK_BOOL_(TransferDataFromWindow);
|
||||
DEC_PYCALLBACK_BOOL_(TransferDataToWindow);
|
||||
DEC_PYCALLBACK_BOOL_(Validate);
|
||||
|
||||
DEC_PYCALLBACK_BOOL_const(AcceptsFocus);
|
||||
DEC_PYCALLBACK_BOOL_const(AcceptsFocusFromKeyboard);
|
||||
DEC_PYCALLBACK_SIZE_const(GetMaxSize);
|
||||
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(AddChild);
|
||||
DEC_PYCALLBACK_VOID_WXWINBASE(RemoveChild);
|
||||
|
||||
PYPRIVATE;
|
||||
};
|
||||
|
||||
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxPyWizardPage, wxWizardPage);
|
||||
|
||||
IMP_PYCALLBACK_WIZPG__pure(wxPyWizardPage, wxWizardPage, GetPrev);
|
||||
IMP_PYCALLBACK_WIZPG__pure(wxPyWizardPage, wxWizardPage, GetNext);
|
||||
IMP_PYCALLBACK_BITMAP__pure(wxPyWizardPage, wxWizardPage, GetBitmap);
|
||||
|
||||
IMP_PYCALLBACK_VOID_INT4(wxPyWizardPage, wxWizardPage, DoMoveWindow);
|
||||
IMP_PYCALLBACK_VOID_INT5(wxPyWizardPage, wxWizardPage, DoSetSize);
|
||||
IMP_PYCALLBACK_VOID_INTINT(wxPyWizardPage, wxWizardPage, DoSetClientSize);
|
||||
IMP_PYCALLBACK_VOID_INTINT(wxPyWizardPage, wxWizardPage, DoSetVirtualSize);
|
||||
|
||||
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWizardPage, wxWizardPage, DoGetSize);
|
||||
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWizardPage, wxWizardPage, DoGetClientSize);
|
||||
IMP_PYCALLBACK_VOID_INTPINTP_const(wxPyWizardPage, wxWizardPage, DoGetPosition);
|
||||
|
||||
IMP_PYCALLBACK_SIZE_const(wxPyWizardPage, wxWizardPage, DoGetVirtualSize);
|
||||
IMP_PYCALLBACK_SIZE_const(wxPyWizardPage, wxWizardPage, DoGetBestSize);
|
||||
|
||||
IMP_PYCALLBACK__(wxPyWizardPage, wxWizardPage, InitDialog);
|
||||
IMP_PYCALLBACK_BOOL_(wxPyWizardPage, wxWizardPage, TransferDataFromWindow);
|
||||
IMP_PYCALLBACK_BOOL_(wxPyWizardPage, wxWizardPage, TransferDataToWindow);
|
||||
IMP_PYCALLBACK_BOOL_(wxPyWizardPage, wxWizardPage, Validate);
|
||||
|
||||
IMP_PYCALLBACK_BOOL_const(wxPyWizardPage, wxWizardPage, AcceptsFocus);
|
||||
IMP_PYCALLBACK_BOOL_const(wxPyWizardPage, wxWizardPage, AcceptsFocusFromKeyboard);
|
||||
IMP_PYCALLBACK_SIZE_const(wxPyWizardPage, wxWizardPage, GetMaxSize);
|
||||
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyWizardPage, wxWizardPage, AddChild);
|
||||
IMP_PYCALLBACK_VOID_WXWINBASE(wxPyWizardPage, wxWizardPage, RemoveChild);
|
||||
|
||||
%}
|
||||
|
||||
|
||||
|
||||
class wxPyWizardPage : public wxWizardPage {
|
||||
public:
|
||||
// ctor accepts an optional bitmap which will be used for this page instead
|
||||
// of the default one for this wizard (should be of the same size). Notice
|
||||
// that no other parameters are needed because the wizard will resize and
|
||||
// reposition the page anyhow
|
||||
wxPyWizardPage(wxWizard *parent,
|
||||
const wxBitmap& bitmap = wxNullBitmap,
|
||||
const char* resource = NULL);
|
||||
%name(wxPrePyWizardPage)wxPyWizardPage();
|
||||
|
||||
bool Create(wxWizard *parent,
|
||||
const wxBitmap& bitmap = wxNullBitmap,
|
||||
const char* resource = NULL);
|
||||
|
||||
void _setCallbackInfo(PyObject* self, PyObject* _class);
|
||||
%pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPyWizardPage)"
|
||||
|
||||
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
||||
%pragma(python) addtomethod = "wxPrePyWizardPage:val._setOORInfo(val)"
|
||||
|
||||
void base_DoMoveWindow(int x, int y, int width, int height);
|
||||
void base_DoSetSize(int x, int y, int width, int height,
|
||||
int sizeFlags = wxSIZE_AUTO);
|
||||
void base_DoSetClientSize(int width, int height);
|
||||
void base_DoSetVirtualSize( int x, int y );
|
||||
|
||||
void base_DoGetSize( int *OUTPUT, int *OUTPUT ) const;
|
||||
void base_DoGetClientSize( int *OUTPUT, int *OUTPUT ) const;
|
||||
void base_DoGetPosition( int *OUTPUT, int *OUTPUT ) const;
|
||||
|
||||
wxSize base_DoGetVirtualSize() const;
|
||||
wxSize base_DoGetBestSize() const;
|
||||
|
||||
void base_InitDialog();
|
||||
bool base_TransferDataToWindow();
|
||||
bool base_TransferDataFromWindow();
|
||||
bool base_Validate();
|
||||
|
||||
bool base_AcceptsFocus() const;
|
||||
bool base_AcceptsFocusFromKeyboard() const;
|
||||
wxSize base_GetMaxSize() const;
|
||||
|
||||
void base_AddChild(wxWindow* child);
|
||||
void base_RemoveChild(wxWindow* child);
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
||||
// wxWizardPageSimple just returns the pointers given to the ctor and is useful
|
||||
// to create a simple wizard where the order of pages never changes.
|
||||
//
|
||||
// OTOH, it is also possible to dynamicly decide which page to return (i.e.
|
||||
// depending on the user's choices) as the wizard sample shows - in order to do
|
||||
// this, you must derive from wxWizardPage directly.
|
||||
class wxWizardPageSimple : public wxWizardPage
|
||||
{
|
||||
public:
|
||||
// ctor takes the previous and next pages
|
||||
wxWizardPageSimple(wxWizard *parent,
|
||||
wxWizardPage *prev = NULL,
|
||||
wxWizardPage *next = NULL,
|
||||
const wxBitmap& bitmap = wxNullBitmap,
|
||||
const wxChar* resource = NULL);
|
||||
%name(wxPreWizardPageSimple)wxWizardPageSimple();
|
||||
|
||||
bool Create(wxWizard *parent = NULL,
|
||||
wxWizardPage *prev = NULL,
|
||||
wxWizardPage *next = NULL,
|
||||
const wxBitmap& bitmap = wxNullBitmap,
|
||||
const wxChar* resource = NULL);
|
||||
|
||||
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
||||
%pragma(python) addtomethod = "wxPreWizardPageSimple:val._setOORInfo(val)"
|
||||
|
||||
// common part of ctors:
|
||||
void Init();
|
||||
|
||||
// the pointers may be also set later - but before starting the wizard
|
||||
void SetPrev(wxWizardPage *prev);
|
||||
void SetNext(wxWizardPage *next);
|
||||
|
||||
// a convenience function to make the pages follow each other
|
||||
static void Chain(wxWizardPageSimple *first, wxWizardPageSimple *second);
|
||||
};
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
class wxWizard : public wxDialog
|
||||
{
|
||||
public:
|
||||
// ctor
|
||||
wxWizard(wxWindow *parent,
|
||||
int id = -1,
|
||||
const wxString& title = wxEmptyString,
|
||||
const wxBitmap& bitmap = wxNullBitmap,
|
||||
const wxPoint& pos = wxDefaultPosition);
|
||||
%name(wxPreWizard)wxWizard();
|
||||
|
||||
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
||||
%pragma(python) addtomethod = "wxPreWizard:val._setOORInfo(val)"
|
||||
|
||||
bool Create(wxWindow *parent,
|
||||
int id = -1,
|
||||
const wxString& title = wxEmptyString,
|
||||
const wxBitmap& bitmap = wxNullBitmap,
|
||||
const wxPoint& pos = wxDefaultPosition);
|
||||
|
||||
void Init();
|
||||
|
||||
|
||||
// executes the wizard starting from the given page, returns TRUE if it was
|
||||
// successfully finished, FALSE if user cancelled it
|
||||
virtual bool RunWizard(wxWizardPage *firstPage);
|
||||
|
||||
// get the current page (NULL if RunWizard() isn't running)
|
||||
virtual wxWizardPage *GetCurrentPage() const;
|
||||
|
||||
// set the min size which should be available for the pages: a
|
||||
// wizard will take into account the size of the bitmap (if any)
|
||||
// itself and will never be less than some predefined fixed size
|
||||
virtual void SetPageSize(const wxSize& size);
|
||||
|
||||
// get the size available for the page: the wizards are not resizeable, so
|
||||
// this size doesn't change
|
||||
virtual wxSize GetPageSize() const;
|
||||
|
||||
// set the best size for the wizard, i.e. make it big enough to contain all
|
||||
// of the pages starting from the given one
|
||||
//
|
||||
// this function may be called several times and possible with different
|
||||
// pages in which case it will only increase the page size if needed (this
|
||||
// may be useful if not all pages are accessible from the first one by
|
||||
// default)
|
||||
virtual void FitToPage(const wxWizardPage *firstPage);
|
||||
|
||||
// is the wizard running?
|
||||
bool IsRunning() const { return m_page != NULL; }
|
||||
|
||||
// show the prev/next page, but call TransferDataFromWindow on the current
|
||||
// page first and return FALSE without changing the page if
|
||||
// TransferDataFromWindow() returns FALSE - otherwise, returns TRUE
|
||||
bool ShowPage(wxWizardPage *page, bool goingForward = TRUE);
|
||||
};
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------
|
||||
// This file gets appended to the shadow class file.
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
%pragma(python) include="_wizardextras.py";
|
||||
|
||||
//---------------------------------------------------------------------------
|
Loading…
Reference in New Issue
Block a user