1 #----------------------------------------------------------------------
2 # Name: wx.lib.analogclockopts
3 # Purpose: An analog clock window - setup frame
7 # Created: 15-February-2004
8 #----------------------------------------------------------------------
10 # Originally generated by wx.Glade 0.3.1 on Wed Feb 18 00:05:35 2004
11 # Converted to wx namespace by Peter Damoc
14 A configuration dialog (frame actually) for the AnalogClockWindow
19 import wx.lib.colourselect as csel
20 import wx.lib.dialogs as dlgs
23 class ACCustomizationFrame(wx.Frame):
24 def __init__(self, parent, id, name, pos=wx.DefaultPosition, size=wx.DefaultSize,
25 style=wx.DEFAULT_FRAME_STYLE | wx.FRAME_NO_TASKBAR | wx.FRAME_FLOAT_ON_PARENT | wx.WANTS_CHARS):
26 # k=wx.NewId();ide=map(lambda x: x+k, range(0,100))
27 ide = [wx.NewId() for i in range(100)]
29 #kwds["style"] = wx.CAPTION|wx.SYSTEM_MENU
30 #wx.Frame.__init__(self, *args, **kwds)
31 wx.Frame.__init__(self, parent, id, name, pos, size, style)
33 self.panel_1 = wx.Panel(self, -1)
34 self.notebook_1 = wx.Notebook(self.panel_1, -1, style=0)
35 self.notebook_1_pane_3 = wx.Panel(self.notebook_1, -1)
36 self.notebook_1_pane_2 = wx.Panel(self.notebook_1, -1)
37 self.notebook_1_pane_1 = wx.Panel(self.notebook_1, -1)
38 self.label_top = wx.StaticText(self.panel_1, -1, "Use the options below to change the clock;\nthe main buttons on top of each category reset to its defaults.")
39 self.static_line_1 = wx.StaticLine(self.panel_1, -1)
40 self.button_1 = wx.Button(self.notebook_1_pane_1, ide[1], "SetClockStyle")
41 self.static_line_2 = wx.StaticLine(self.notebook_1_pane_1, -1)
42 self.button_2 = wx.Button(self.notebook_1_pane_1, ide[3], "styles...")
43 self.static_line_3 = wx.StaticLine(self.notebook_1_pane_1, -1, style=wx.LI_VERTICAL)
44 self.button_3 = wx.Button(self.notebook_1_pane_1, ide[2], "SetTickStyles")
45 self.static_line_4 = wx.StaticLine(self.notebook_1_pane_1, -1)
46 self.button_4 = wx.Button(self.notebook_1_pane_1, ide[4], "styles...")
47 self.button_22 = wx.Button(self.notebook_1_pane_1, ide[22], "minutes...")
48 self.static_line_5 = wx.StaticLine(self.notebook_1_pane_1, -1)
49 self.button_5 = wx.Button(self.notebook_1_pane_1, ide[5], "SetShadowColour")
50 self.static_line_6 = wx.StaticLine(self.notebook_1_pane_1, -1)
51 self.button_6 = csel.ColourSelect(self.notebook_1_pane_1, ide[6], "all...")
52 self.static_line_7 = wx.StaticLine(self.notebook_1_pane_1, -1, style=wx.LI_VERTICAL)
53 self.button_7 = wx.Button(self.notebook_1_pane_1, ide[7], "SetWatchPenBrush")
54 self.static_line_8 = wx.StaticLine(self.notebook_1_pane_1, -1)
55 self.button_8 = csel.ColourSelect(self.notebook_1_pane_1, ide[8], "Pen colour...")
56 self.button_9 = csel.ColourSelect(self.notebook_1_pane_1, ide[9], "Brush colour...")
57 self.button_10 = wx.Button(self.notebook_1_pane_2, ide[10], "SetTickColours")
58 self.static_line_8 = wx.StaticLine(self.notebook_1_pane_2, -1)
59 self.button_11 = csel.ColourSelect(self.notebook_1_pane_2, ide[11], "hours...", colour=self.parent.tickMarkHoursPen.GetColour())
60 self.button_12 = csel.ColourSelect(self.notebook_1_pane_2, ide[12], "minutes...", colour=self.parent.tickMarkMinutesPen.GetColour())
61 self.static_line_10 = wx.StaticLine(self.notebook_1_pane_2, -1, style=wx.LI_VERTICAL)
62 self.button_13 = wx.Button(self.notebook_1_pane_2, ide[13], "SetTickSizes")
63 self.static_line_11 = wx.StaticLine(self.notebook_1_pane_2, -1)
64 self.label_1 = wx.StaticText(self.notebook_1_pane_2, -1, "hours")
65 self.spin_ctrl_1 = wx.SpinCtrl(self.notebook_1_pane_2, ide[71], "10", min=1, max=100)
66 self.label_2 = wx.StaticText(self.notebook_1_pane_2, -1, "minutes")
67 self.spin_ctrl_2 = wx.SpinCtrl(self.notebook_1_pane_2, ide[72], "5", min=0, max=100)
68 self.label_3 = wx.StaticText(self.notebook_1_pane_2, -1, "offset")
69 self.spin_ctrl_3 = wx.SpinCtrl(self.notebook_1_pane_2, ide[73], "0", min=0, max=100)
70 self.static_line_12 = wx.StaticLine(self.notebook_1_pane_2, -1, style=wx.LI_VERTICAL)
71 self.button_14 = wx.Button(self.notebook_1_pane_2, ide[14], "SetTickFonts")
72 self.static_line_13 = wx.StaticLine(self.notebook_1_pane_2, -1)
73 self.button_15 = wx.Button(self.notebook_1_pane_2, ide[15], "hours...")
74 self.button_16 = wx.Button(self.notebook_1_pane_2, ide[16], "minutes...")
75 self.button_17 = wx.Button(self.notebook_1_pane_3, ide[17], "SetHandWeights")
76 self.static_line_14 = wx.StaticLine(self.notebook_1_pane_3, -1)
77 self.label_4 = wx.StaticText(self.notebook_1_pane_3, -1, "hours")
78 self.spin_ctrl_4 = wx.SpinCtrl(self.notebook_1_pane_3, ide[74], "5", min=0, max=100)
79 self.label_5 = wx.StaticText(self.notebook_1_pane_3, -1, "minutes")
80 self.spin_ctrl_5 = wx.SpinCtrl(self.notebook_1_pane_3, ide[75], "3", min=0, max=100)
81 self.label_6 = wx.StaticText(self.notebook_1_pane_3, -1, "seconds")
82 self.spin_ctrl_6 = wx.SpinCtrl(self.notebook_1_pane_3, ide[76], "1", min=0, max=100)
83 self.static_line_15 = wx.StaticLine(self.notebook_1_pane_3, -1, style=wx.LI_VERTICAL)
84 self.button_18 = wx.Button(self.notebook_1_pane_3, ide[18], "SetHandColours")
85 self.static_line_16 = wx.StaticLine(self.notebook_1_pane_3, -1)
86 self.button_19 = csel.ColourSelect(self.notebook_1_pane_3, ide[19], "hours...")
87 self.button_20 = csel.ColourSelect(self.notebook_1_pane_3, ide[20], "minutes...")
88 self.button_21 = csel.ColourSelect(self.notebook_1_pane_3, ide[21], "seconds...")
90 self.__set_properties()
94 self.Bind(wx.EVT_BUTTON, self.OnEventsHook, id=ide[0], id2=ide[29])
95 self.Bind(csel.EVT_COLOURSELECT, self.OnEventsHook, id=ide[0], id2=ide[29])
96 self.Bind(wx.EVT_SPINCTRL, self.OnEventsHook, id=ide[71], id2=ide[80])
97 self.Bind(wx.EVT_RADIOBUTTON, self.OnEventsHook, id=ide[51], id2=ide[60])
98 self.Bind(wx.EVT_WINDOW_DESTROY, self.OnQuit)
102 def __set_properties(self):
103 #self.SetTitle("AnalogClock Test")
104 self.spin_ctrl_1.SetSize((50, -1))
105 self.spin_ctrl_2.SetSize((50, -1))
106 self.spin_ctrl_3.SetSize((50, -1))
107 self.spin_ctrl_4.SetSize((50, -1))
108 self.spin_ctrl_5.SetSize((50, -1))
109 self.spin_ctrl_6.SetSize((50, -1))
112 def __do_layout(self):
113 sizer_frame = wx.BoxSizer(wx.HORIZONTAL)
114 sizer_main = wx.BoxSizer(wx.VERTICAL)
115 sizer_25 = wx.BoxSizer(wx.HORIZONTAL)
116 sizer_26 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_3, -1, ""), wx.VERTICAL)
117 sizer_27 = wx.BoxSizer(wx.HORIZONTAL)
118 sizer_31 = wx.BoxSizer(wx.VERTICAL)
119 sizer_33 = wx.BoxSizer(wx.HORIZONTAL)
120 sizer_32 = wx.BoxSizer(wx.HORIZONTAL)
121 sizer_28 = wx.BoxSizer(wx.VERTICAL)
122 sizer_30 = wx.BoxSizer(wx.HORIZONTAL)
123 sizer_29 = wx.BoxSizer(wx.HORIZONTAL)
124 sizer_12 = wx.BoxSizer(wx.HORIZONTAL)
125 sizer_13 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_2, -1, ""), wx.VERTICAL)
126 sizer_14 = wx.BoxSizer(wx.HORIZONTAL)
127 sizer_22 = wx.BoxSizer(wx.VERTICAL)
128 sizer_24 = wx.BoxSizer(wx.HORIZONTAL)
129 sizer_23 = wx.BoxSizer(wx.HORIZONTAL)
130 sizer_18 = wx.BoxSizer(wx.VERTICAL)
131 sizer_21 = wx.BoxSizer(wx.HORIZONTAL)
132 sizer_20 = wx.BoxSizer(wx.HORIZONTAL)
133 sizer_19 = wx.BoxSizer(wx.HORIZONTAL)
134 sizer_15 = wx.BoxSizer(wx.VERTICAL)
135 sizer_17 = wx.BoxSizer(wx.HORIZONTAL)
136 sizer_16 = wx.BoxSizer(wx.HORIZONTAL)
137 sizer_1 = wx.BoxSizer(wx.HORIZONTAL)
138 sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_1, -1, ""), wx.VERTICAL)
139 sizer_8 = wx.BoxSizer(wx.HORIZONTAL)
140 sizer_11 = wx.BoxSizer(wx.VERTICAL)
141 sizer_12b = wx.BoxSizer(wx.HORIZONTAL)
142 sizer_9 = wx.BoxSizer(wx.VERTICAL)
143 sizer_10 = wx.BoxSizer(wx.HORIZONTAL)
144 sizer_3 = wx.BoxSizer(wx.HORIZONTAL)
145 sizer_6 = wx.BoxSizer(wx.VERTICAL)
146 sizer_7 = wx.BoxSizer(wx.HORIZONTAL)
147 sizer_4 = wx.BoxSizer(wx.VERTICAL)
148 sizer_5 = wx.BoxSizer(wx.HORIZONTAL)
149 sizer_main.Add(self.label_top, 0, wx.LEFT|wx.TOP, 5)
150 sizer_main.Add(self.static_line_1, 0, wx.TOP|wx.BOTTOM|wx.EXPAND, 10)
151 sizer_4.Add(self.button_1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
152 sizer_4.Add(self.static_line_2, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
153 sizer_5.Add(self.button_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
154 sizer_4.Add(sizer_5, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
155 sizer_3.Add(sizer_4, 1, wx.EXPAND, 0)
156 sizer_3.Add(self.static_line_3, 0, wx.EXPAND, 0)
157 sizer_6.Add(self.button_3, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
158 sizer_6.Add(self.static_line_4, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
159 sizer_7.Add(self.button_4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
160 sizer_7.Add(self.button_22, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
161 sizer_6.Add(sizer_7, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
162 sizer_3.Add(sizer_6, 1, wx.EXPAND, 0)
163 sizer_2.Add(sizer_3, 1, wx.EXPAND, 0)
164 sizer_2.Add(self.static_line_5, 0, wx.EXPAND, 0)
165 sizer_9.Add(self.button_5, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
166 sizer_9.Add(self.static_line_6, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
167 sizer_10.Add(self.button_6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
168 sizer_9.Add(sizer_10, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
169 sizer_8.Add(sizer_9, 1, wx.EXPAND, 0)
170 sizer_8.Add(self.static_line_7, 0, wx.EXPAND, 0)
171 sizer_11.Add(self.button_7, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
172 sizer_11.Add(self.static_line_8, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
173 sizer_12b.Add(self.button_8, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
174 sizer_12b.Add(self.button_9, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
175 sizer_11.Add(sizer_12b, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
176 sizer_8.Add(sizer_11, 1, wx.EXPAND, 0)
177 sizer_2.Add(sizer_8, 1, wx.EXPAND, 0)
178 sizer_1.Add(sizer_2, 1, wx.EXPAND, 0)
179 self.notebook_1_pane_1.SetAutoLayout(1)
180 self.notebook_1_pane_1.SetSizer(sizer_1)
181 sizer_1.Fit(self.notebook_1_pane_1)
182 sizer_1.SetSizeHints(self.notebook_1_pane_1)
183 sizer_15.Add(self.button_10, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
184 sizer_15.Add(self.static_line_8, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
185 sizer_16.Add(self.button_11, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
186 sizer_15.Add(sizer_16, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
187 sizer_17.Add(self.button_12, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
188 sizer_15.Add(sizer_17, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
189 sizer_14.Add(sizer_15, 1, wx.EXPAND, 0)
190 sizer_14.Add(self.static_line_10, 0, wx.EXPAND, 0)
191 sizer_18.Add(self.button_13, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
192 sizer_18.Add(self.static_line_11, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
193 sizer_19.Add(self.label_1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
194 sizer_19.Add(self.spin_ctrl_1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
195 sizer_18.Add(sizer_19, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
196 sizer_20.Add(self.label_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
197 sizer_20.Add(self.spin_ctrl_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
198 sizer_18.Add(sizer_20, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
199 sizer_21.Add(self.label_3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
200 sizer_21.Add(self.spin_ctrl_3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
201 sizer_18.Add(sizer_21, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
202 sizer_14.Add(sizer_18, 1, wx.EXPAND, 0)
203 sizer_14.Add(self.static_line_12, 0, wx.EXPAND, 0)
204 sizer_22.Add(self.button_14, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
205 sizer_22.Add(self.static_line_13, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
206 sizer_23.Add(self.button_15, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
207 sizer_22.Add(sizer_23, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
208 sizer_24.Add(self.button_16, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
209 sizer_22.Add(sizer_24, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
210 sizer_14.Add(sizer_22, 1, wx.EXPAND, 0)
211 sizer_13.Add(sizer_14, 1, wx.EXPAND, 0)
212 sizer_12.Add(sizer_13, 1, wx.EXPAND, 0)
213 self.notebook_1_pane_2.SetAutoLayout(1)
214 self.notebook_1_pane_2.SetSizer(sizer_12)
215 sizer_12.Fit(self.notebook_1_pane_2)
216 sizer_12.SetSizeHints(self.notebook_1_pane_2)
217 sizer_28.Add(self.button_17, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
218 sizer_28.Add(self.static_line_14, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
219 sizer_29.Add(self.label_4, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5)
220 sizer_29.Add(self.spin_ctrl_4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
221 sizer_29.Add(self.label_5, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5)
222 sizer_29.Add(self.spin_ctrl_5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
223 sizer_28.Add(sizer_29, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
224 sizer_30.Add(self.label_6, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5)
225 sizer_30.Add(self.spin_ctrl_6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
226 sizer_28.Add(sizer_30, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
227 sizer_27.Add(sizer_28, 1, wx.EXPAND, 0)
228 sizer_27.Add(self.static_line_15, 0, wx.EXPAND, 0)
229 sizer_31.Add(self.button_18, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
230 sizer_31.Add(self.static_line_16, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
231 sizer_32.Add(self.button_19, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
232 sizer_32.Add(self.button_20, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
233 sizer_31.Add(sizer_32, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
234 sizer_33.Add(self.button_21, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
235 sizer_31.Add(sizer_33, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
236 sizer_27.Add(sizer_31, 1, wx.EXPAND, 0)
237 sizer_26.Add(sizer_27, 1, wx.EXPAND, 0)
238 sizer_25.Add(sizer_26, 1, wx.EXPAND, 0)
239 self.notebook_1_pane_3.SetAutoLayout(1)
240 self.notebook_1_pane_3.SetSizer(sizer_25)
241 sizer_25.Fit(self.notebook_1_pane_3)
242 sizer_25.SetSizeHints(self.notebook_1_pane_3)
243 self.notebook_1.AddPage(self.notebook_1_pane_1, "Clock")
244 self.notebook_1.AddPage(self.notebook_1_pane_2, "Ticks")
245 self.notebook_1.AddPage(self.notebook_1_pane_3, "Hands")
246 sizer_main.Add(wx.NotebookSizer(self.notebook_1), 1, wx.LEFT|wx.RIGHT|wx.BOTTOM|wx.EXPAND, 5)
247 self.panel_1.SetAutoLayout(1)
248 self.panel_1.SetSizer(sizer_main)
249 sizer_main.Fit(self.panel_1)
250 sizer_main.SetSizeHints(self.panel_1)
251 sizer_frame.Add(self.panel_1, 1, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
252 self.SetAutoLayout(1)
253 self.SetSizer(sizer_frame)
254 sizer_frame.Fit(self)
255 sizer_frame.SetSizeHints(self)
261 self.parent.OnSize(None)
263 def UpdateWidgets(self):
264 self.button_6.SetColour(self.parent.shadowPenColour)
266 bc=self.parent.watchPen
270 bc=self.parent.GetBackgroundColour()
271 self.button_8.SetColour(bc)
273 bc=self.parent.watchBrush
277 bc=self.parent.GetBackgroundColour()
278 self.button_9.SetColour(bc)
280 self.button_11.SetColour(self.parent.tickMarkHoursPen.GetColour())
281 self.button_12.SetColour(self.parent.tickMarkMinutesPen.GetColour())
282 self.button_19.SetColour(self.parent.handHoursColour)
283 self.button_20.SetColour(self.parent.handMinutesColour)
284 self.button_21.SetColour(self.parent.handSecondsColour)
286 self.spin_ctrl_1.SetValue(self.parent.markSizeHour)
287 self.spin_ctrl_2.SetValue(self.parent.markSizeMin)
288 self.spin_ctrl_3.SetValue(self.parent.offM)
289 self.spin_ctrl_4.SetValue(self.parent.handHoursThickness)
290 self.spin_ctrl_5.SetValue(self.parent.handMinutesThickness)
291 self.spin_ctrl_6.SetValue(self.parent.handSecondsThickness)
294 def gfid(self, id, lista):
295 return self.ide.index(id) in lista
297 # if id==self.ide[x]:
304 def OnEventsHook(self, evt):
307 if self.gfid(id, [6,8,9,11,12,19,20,21,23]):
308 self.OnSelectColour(evt)
310 elif self.gfid(id, [15,16]):
311 self.OnSelectFont(evt)
313 elif self.gfid(id, [71,72,73,74,75,76]):
314 self.OnSpinChange(evt)
316 elif self.gfid(id, [3,4,22]):
317 self.OnChangeStyle(evt)
319 elif self.gfid(id, [1,2,5,7,10,13,14,17,18]):
322 def OnSelectColour(self, evt):
323 id=evt.GetId();colour=evt.GetValue()
326 self.parent.SetShadowColour(colour)
327 elif id==self.ide[8]:
328 self.parent.SetWatchPenBrush(p=wx.Pen(colour, 1, wx.SOLID))
329 elif id==self.ide[9]:
330 self.parent.SetWatchPenBrush(b=wx.Brush(colour, wx.SOLID))
331 elif id==self.ide[11]:
332 self.parent.SetTickColours(h=colour)
333 elif id==self.ide[12]:
334 self.parent.SetTickColours(m=colour)
335 elif id==self.ide[19]:
336 self.parent.SetHandColours(h=colour)
337 elif id==self.ide[20]:
338 self.parent.SetHandColours(m=colour)
339 elif id==self.ide[21]:
340 self.parent.SetHandColours(s=colour)
347 def OnSelectFont(self, evt):
350 font=self.parent.tickMarkHoursFont;font.SetPointSize(self.parent.markSizeHour)
351 colour=self.parent.tickMarkHoursPen.GetColour()
353 font=self.parent.tickMarkMinutesFont;font.SetPointSize(self.parent.markSizeMin)
354 colour=self.parent.tickMarkMinutesPen.GetColour()
357 data.EnableEffects(True)
358 data.SetColour(colour)
359 data.SetInitialFont(font)
361 dlg = wx.FontDialog(self, data)
362 if dlg.ShowModal() == wx.ID_OK:
363 data = dlg.GetFontData()
364 font = data.GetChosenFont()
365 colour = data.GetColour()
367 self.parent.SetTickFonts(h=font)
368 self.parent.SetTickColours(h=colour.Get())
370 self.parent.SetTickFonts(m=font)
371 self.parent.SetTickColours(m=colour.Get())
376 def OnSpinChange(self, evt):
377 id=evt.GetId();v=evt.GetInt()
379 self.parent.SetTickSizes(h=v)
381 self.parent.SetTickSizes(m=v)
383 self.parent.SetMinutesOffset(v)
385 self.parent.SetHandWeights(h=v)
387 self.parent.SetHandWeights(m=v)
389 self.parent.SetHandWeights(s=v)
393 def OnChangeStyle(self, evt):
397 x="""SHOW_QUARTERS_TICKS
405 OVERLAP_TICKS""".split()
406 m=map(lambda f: (self.parent.clockStyle & f)/f, map(lambda f: 2**x.index(f),x))
408 dlg = dlgs.MultipleChoiceDialog(self,
409 "Select some styles for the clock:",
411 for i in range(0,len(m)):
413 dlg.lbox.SetSelection(i)
415 if (dlg.ShowModal() == wx.ID_OK):
416 v=reduce(lambda x,y:x+y,map(lambda f: 2**f,dlg.GetValue()))
417 self.parent.SetClockStyle(v)
419 elif id==self.ide[4]:
425 TICKS_ROMAN""".split()
426 m=map(lambda f: (self.parent.tickMarkHoursStyle & f)/f, map(lambda f: 2**x.index(f),x))
428 dlg = wx.SingleChoiceDialog(self,
429 "Select a style for the hours:",
430 "Styles", x, wx.CHOICEDLG_STYLE)
431 for i in range(0,len(m)):
435 if dlg.ShowModal() == wx.ID_OK:
436 v=2**dlg.GetSelection()
437 self.parent.SetTickStyles(h=v)
440 elif id==self.ide[22]:
441 tipo="for the minutes"
447 TICKS_ROMAN""".split()
448 m=map(lambda f: (self.parent.tickMarkMinutesStyle & f)/f, map(lambda f: 2**x.index(f),x))
450 dlg = wx.SingleChoiceDialog(self,
451 "Select a style for the minutes:",
452 "Styles", x, wx.CHOICEDLG_STYLE)
453 for i in range(0,len(m)):
457 if dlg.ShowModal() == wx.ID_OK:
458 v=2**dlg.GetSelection()
459 self.parent.SetTickStyles(m=v)
464 def OnDefaults(self, evt):
467 self.parent.SetClockStyle(142)
468 elif id==self.ide[2]:
469 self.parent.SetTickStyles(8, 4)
470 elif id==self.ide[5]:
471 self.parent.SetShadowColour((128,128,128))
472 elif id==self.ide[7]:
473 colour=self.parent.GetBackgroundColour()
474 self.parent.SetWatchPenBrush(p=wx.Pen(colour, 1, wx.SOLID), b=wx.Brush(colour, wx.SOLID))
475 elif id==self.ide[10]:
477 self.parent.SetTickColours(h=colour, m=colour)
478 elif id==self.ide[13]:
479 self.parent.SetTickSizes(h=10, m=5)
480 self.parent.SetMinutesOffset(0)
481 elif id==self.ide[14]:
482 self.parent.SetTickFonts(wx.Font(1, wx.SWISS, wx.NORMAL, wx.BOLD))
483 elif id==self.ide[17]:
484 self.parent.SetHandWeights(h=5, m=3, s=1)
485 elif id==self.ide[18]:
487 self.parent.SetHandColours(h=colour, m=colour, s=colour)
492 def OnQuit(self, evt):
493 self.parent.prefs_open=False