source: drbl_ui/backup/old_version/Wizard.py @ 173

Last change on this file since 173 was 20, checked in by chris, 17 years ago
File size: 5.1 KB
Line 
1 #-*- coding: utf-8 -*-
2import  wx
3import  wx.wizard as wiz
4import  lang
5
6LangCH = '中文'
7LangEN = 'English'
8
9#RemoteLinuxGra = 'Boot Remote Linux Machine(s) on Graphic Mode'
10#RemoteLinuxTxt = 'Boot Remote Linux Machine(s) on Txt Mode'
11#ClonezillaStartSave = 'Start Clonezilla on SAVE mode'
12#ClonezillaStartRestore = 'Start Clonezilla on RESTORE mode'
13ToDo = 'What You Want To Do ?'
14
15#----------------------------------------------------------------------
16def makePageTitle(wizPg, title):
17    sizer = wx.BoxSizer(wx.VERTICAL)
18    wizPg.SetSizer(sizer)
19    title = wx.StaticText(wizPg, -1, title)
20    title.SetFont(wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD))
21    sizer.Add(title, 0, wx.ALIGN_CENTRE|wx.ALL, 5)
22    sizer.Add(wx.StaticLine(wizPg, -1), 0, wx.EXPAND|wx.ALL, 5)
23    return sizer
24
25#----------------------------------------------------------------------
26class SelectWizardPage(wiz.PyWizardPage):
27    def __init__(self, parent, title):
28        wiz.PyWizardPage.__init__(self, parent)
29        self.next = self.prev = None
30        self.sizer = makePageTitle(self, title)
31
32        FunctionList = ['lang.msg_remote_linux_graphic', 'lang.msg_remote_linux_text']
33  sizer = wx.BoxSizer(wx.HORIZONTAL)
34        choice = wx.RadioBox(self, -1, ToDo, (35,50), (500,150), LangList, 1, wx.RA_SPECIFY_COLS)
35        self.Bind(wx.EVT_RADIOBOX, self.EvtRadioBox, choice)
36        choice.SetSelection(0)
37        sizer.Add(choice, 0, wx.ALIGN_LEFT|wx.TOP|wx.RIGHT, 40)
38        self.SetSizer(sizer)
39
40    def EvtRadioBox(self, event):
41  if event.Selection() == 0:
42     
43
44    def SetNext(self, next):
45        self.next = next
46
47    def SetPrev(self, prev):
48        self.prev = prev
49
50    def GetNext(self):
51        return self.next
52
53    def GetPrev(self):
54        return self.prev
55
56#----------------------------------------------------------------------
57class WizardBasePage(wiz.PyWizardPage):
58    def __init__(self, parent, title):
59        wiz.PyWizardPage.__init__(self, parent)
60        self.next = self.prev = None
61        self.sizer = makePageTitle(self, title)
62
63    def SetNext(self, next):
64        self.next = next
65
66    def SetPrev(self, prev):
67        self.prev = prev
68
69    def GetNext(self):
70        return self.next
71
72    def GetPrev(self):
73        return self.prev
74
75#----------------------------------------------------------------------
76class MainFrame(wx.Frame):
77    def __init__(self, parent, id)
78        wx.Frame.__init__(self, parent, id, 'TEST WIZARD', size=(500,400))
79        panel  = wx.Panel(self)
80
81        LangList = [LangCH, LangEN]
82        sizer = wx.BoxSizer(wx.HORIZONTAL)
83        choice = wx.RadioBox(self, -1, ToDo, (35,50), (500,150), LangList,1,wx.RA_SPECIFY_COLS)
84        self.Bind(wx.EVT_RADIOBOX, self.EvtRadioBox, choice)
85        choice.SetSelection(0)
86        sizer.Add(choice, 0, wx.ALIGN_LEFT|wx.TOP|wx.RIGHT, 40)
87        self.SetSizer(sizer)
88        btn = wx.Button(self, -1, 'Run Wizard', pos=(400, 300))
89        self.Bind(wx.EVT_BUTTON, self.RunWizard, btn)
90
91    def EvtRadioBox(self, event):
92        btn = wx.Button(self, -1, 'Run Wizard', pos=(400, 300))
93        if event.GetSelection() == 0:
94      os.system("rm -rf lang.py")
95      os.system("cp /home/chris/lang_ch.py /home/chris/lang.py")
96            self.Bind(wx.EVT_BUTTON, self.RunWizard, btn)
97        if event.GetSelection() == 1:
98      os.system("rm -rf lang.py")
99      os.system("cp /home/chris/lang_en.py /home/chris/lang.py")
100            self.Bind(wx.EVT_BUTTON, self.RunWizard, btn)
101
102#--------------------------Wizard Module------------------------------
103    def RunWizard(self, evt):
104        wizard = wiz.Wizard(self, -1, lang.msg_remote_linux_graphic ,pos = (500,200))
105
106  page1 = SelectWizardPage(wizard, 'page1')
107  page2 = WizardBasePage(wizard, 'page2')
108  page3 = WizardBasePage(wizard, 'page3')
109  self.page1 = page1
110  wizard.SetPageSize((500,300))
111
112        page1.SetNext(page2)
113        page2.SetPrev(page1)
114        page2.SetNext(page3)
115
116        if wizard.RunWizard(page1):
117            wx.MessageBox('success', "That's all folks!")
118        else:
119            wx.MessageBox('cancel', "That's all folks!")
120
121#----------------------------------------------------------------------
122    def RemoteLinuxTxtWizard(self, evt):
123        wizard = wiz.Wizard(self, -1, lang.msg_remote_linux_text, pos = (500,200))
124
125        page1 = WizardBasePage(wizard, 'page1')
126        page2 = WizardBasePage(wizard, 'page2')
127        page3 = WizardBasePage(wizard, 'page3')
128        self.page1 = page1
129        wizard.SetPageSize((500,300))
130
131        page1.SetNext(page2)
132        page2.SetPrev(page1)
133        page2.SetNext(page3)
134
135        if wizard.RunWizard(page1):
136            wx.MessageBox('success', "That's all folks!")
137        else:
138            wx.MessageBox('cancel', "That's all folks!")
139
140#----------------------------------------------------------------------
141
142def runTest(frame, nb, log):
143    testWin = MainFrame(nb, -1, log)
144    return testWin
145
146#----------------------------------------------------------------------------
147if __name__ == '__main__':
148    import sys,os
149    import run
150    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
151
152
153#class App(wx.App):
154
155#    def OnInit(self):
156# frame = MainFrame(, id=-1)
157# frame.Show()
158# return True
159
160#app = App()
161#app.MainLoop()
162
Note: See TracBrowser for help on using the repository browser.