]> git.saurik.com Git - wxWidgets.git/blob - wxPython/wx/lib/analogclockopts.py
Themed backgrounds for flat generic buttons
[wxWidgets.git] / wxPython / wx / lib / analogclockopts.py
1 #----------------------------------------------------------------------
2 # Name: wx.lib.analogclockopts
3 # Purpose: An analog clock window - setup frame
4 #
5 # Author: E. A. Tacao
6 #
7 # Created: 15-February-2004
8 #----------------------------------------------------------------------
9
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
12
13 """
14 A configuration dialog (frame actually) for the AnalogClockWindow
15 """
16
17
18 import wx
19 import wx.lib.colourselect as csel
20 import wx.lib.dialogs as dlgs
21 import string
22
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)]
28
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)
32 self.parent=parent
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...")
89
90 self.__set_properties()
91 self.__do_layout()
92
93
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)
99
100 self.ide=ide
101
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))
110
111
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)
256 self.Layout()
257 self.UpdateWidgets()
258
259 def UpdateAll(self):
260 self.UpdateWidgets()
261 self.parent.OnSize(None)
262
263 def UpdateWidgets(self):
264 self.button_6.SetColour(self.parent.shadowPenColour)
265
266 bc=self.parent.watchPen
267 if bc:
268 bc=bc.GetColour()
269 else:
270 bc=self.parent.GetBackgroundColour()
271 self.button_8.SetColour(bc)
272
273 bc=self.parent.watchBrush
274 if bc:
275 bc=bc.GetColour()
276 else:
277 bc=self.parent.GetBackgroundColour()
278 self.button_9.SetColour(bc)
279
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)
285
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)
292
293
294 def gfid(self, id, lista):
295 return self.ide.index(id) in lista
296 # for x in lista:
297 # if id==self.ide[x]:
298 # f=True
299 # break
300 # else:
301 # f=False
302 # return f
303
304 def OnEventsHook(self, evt):
305 id=evt.GetId()
306
307 if self.gfid(id, [6,8,9,11,12,19,20,21,23]):
308 self.OnSelectColour(evt)
309
310 elif self.gfid(id, [15,16]):
311 self.OnSelectFont(evt)
312
313 elif self.gfid(id, [71,72,73,74,75,76]):
314 self.OnSpinChange(evt)
315
316 elif self.gfid(id, [3,4,22]):
317 self.OnChangeStyle(evt)
318
319 elif self.gfid(id, [1,2,5,7,10,13,14,17,18]):
320 self.OnDefaults(evt)
321
322 def OnSelectColour(self, evt):
323 id=evt.GetId();colour=evt.GetValue()
324
325 if id==self.ide[6]:
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)
341
342
343 self.UpdateAll()
344
345
346
347 def OnSelectFont(self, evt):
348 id=evt.GetId()
349 if id==self.ide[15]:
350 font=self.parent.tickMarkHoursFont;font.SetPointSize(self.parent.markSizeHour)
351 colour=self.parent.tickMarkHoursPen.GetColour()
352 else:
353 font=self.parent.tickMarkMinutesFont;font.SetPointSize(self.parent.markSizeMin)
354 colour=self.parent.tickMarkMinutesPen.GetColour()
355
356 data = wx.FontData()
357 data.EnableEffects(True)
358 data.SetColour(colour)
359 data.SetInitialFont(font)
360
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()
366 if id==self.ide[15]:
367 self.parent.SetTickFonts(h=font)
368 self.parent.SetTickColours(h=colour.Get())
369 else:
370 self.parent.SetTickFonts(m=font)
371 self.parent.SetTickColours(m=colour.Get())
372 dlg.Destroy()
373
374 self.UpdateAll()
375
376 def OnSpinChange(self, evt):
377 id=evt.GetId();v=evt.GetInt()
378 if id==self.ide[71]:
379 self.parent.SetTickSizes(h=v)
380 if id==self.ide[72]:
381 self.parent.SetTickSizes(m=v)
382 if id==self.ide[73]:
383 self.parent.SetMinutesOffset(v)
384 if id==self.ide[74]:
385 self.parent.SetHandWeights(h=v)
386 if id==self.ide[75]:
387 self.parent.SetHandWeights(m=v)
388 if id==self.ide[76]:
389 self.parent.SetHandWeights(s=v)
390
391 self.UpdateAll()
392
393 def OnChangeStyle(self, evt):
394 id=evt.GetId()
395
396 if id==self.ide[3]:
397 x="""SHOW_QUARTERS_TICKS
398 SHOW_HOURS_TICKS
399 SHOW_MINUTES_TICKS
400 ROTATE_TICKS
401 SHOW_HOURS_HAND
402 SHOW_MINUTES_HAND
403 SHOW_SECONDS_HAND
404 SHOW_SHADOWS
405 OVERLAP_TICKS""".split()
406 m=map(lambda f: (self.parent.clockStyle & f)/f, map(lambda f: 2**x.index(f),x))
407
408 dlg = dlgs.MultipleChoiceDialog(self,
409 "Select some styles for the clock:",
410 "Styles", x)
411 for i in range(0,len(m)):
412 if m[i]:
413 dlg.lbox.SetSelection(i)
414
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)
418
419 elif id==self.ide[4]:
420 x="""TICKS_NONE
421 TICKS_SQUARE
422 TICKS_CIRCLE
423 TICKS_POLY
424 TICKS_DECIMAL
425 TICKS_ROMAN""".split()
426 m=map(lambda f: (self.parent.tickMarkHoursStyle & f)/f, map(lambda f: 2**x.index(f),x))
427
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)):
432 if m[i]:
433 dlg.SetSelection(i)
434
435 if dlg.ShowModal() == wx.ID_OK:
436 v=2**dlg.GetSelection()
437 self.parent.SetTickStyles(h=v)
438 dlg.Destroy()
439
440 elif id==self.ide[22]:
441 tipo="for the minutes"
442 x="""TICKS_NONE
443 TICKS_SQUARE
444 TICKS_CIRCLE
445 TICKS_POLY
446 TICKS_DECIMAL
447 TICKS_ROMAN""".split()
448 m=map(lambda f: (self.parent.tickMarkMinutesStyle & f)/f, map(lambda f: 2**x.index(f),x))
449
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)):
454 if m[i]:
455 dlg.SetSelection(i)
456
457 if dlg.ShowModal() == wx.ID_OK:
458 v=2**dlg.GetSelection()
459 self.parent.SetTickStyles(m=v)
460 dlg.Destroy()
461
462 self.UpdateAll()
463
464 def OnDefaults(self, evt):
465 id=evt.GetId()
466 if id==self.ide[1]:
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]:
476 colour=(0, 0, 0)
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]:
486 colour=(0, 0, 0)
487 self.parent.SetHandColours(h=colour, m=colour, s=colour)
488
489 self.UpdateAll()
490
491
492 def OnQuit(self, evt):
493 self.parent.prefs_open=False
494
495
496 #
497 ##
498 ### eof
499
500
501