]> git.saurik.com Git - wxWidgets.git/blame - wxPython/wx/lib/analogclockopts.py
Remember the version selected and allow require to be called again as
[wxWidgets.git] / wxPython / wx / lib / analogclockopts.py
CommitLineData
f04ad14a 1#----------------------------------------------------------------------
d6dabac0 2# Name: wx.lib.aanalogclockopts
f04ad14a
RD
3# Purpose: An analog clock window - setup frame
4#
5# Author: E. A. Tacao
6#
7# Created: 15-February-2004
8#----------------------------------------------------------------------
9
d6dabac0
RD
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
f04ad14a 12
d6dabac0
RD
13
14import wx
15import wx.lib.colourselect as csel
16import wx.lib.dialogs as dlgs
f04ad14a
RD
17import string
18
d6dabac0
RD
19class ACCustomizationFrame(wx.Frame):
20 def __init__(self, parent, id, name, pos=wx.DefaultPosition, size=wx.DefaultSize,
21 style=wx.DEFAULT_FRAME_STYLE | wx.FRAME_NO_TASKBAR | wx.FRAME_FLOAT_ON_PARENT | wx.WANTS_CHARS):
22 # k=wx.NewId();ide=map(lambda x: x+k, range(0,100))
23 ide = [wx.NewId() for i in range(100)]
24
25 #kwds["style"] = wx.CAPTION|wx.SYSTEM_MENU
26 #wx.Frame.__init__(self, *args, **kwds)
27 wx.Frame.__init__(self, parent, id, name, pos, size, style)
f04ad14a 28 self.parent=parent
d6dabac0
RD
29 self.panel_1 = wx.Panel(self, -1)
30 self.notebook_1 = wx.Notebook(self.panel_1, -1, style=0)
31 self.notebook_1_pane_3 = wx.Panel(self.notebook_1, -1)
32 self.notebook_1_pane_2 = wx.Panel(self.notebook_1, -1)
33 self.notebook_1_pane_1 = wx.Panel(self.notebook_1, -1)
34 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.")
35 self.static_line_1 = wx.StaticLine(self.panel_1, -1)
36 self.button_1 = wx.Button(self.notebook_1_pane_1, ide[1], "SetClockStyle")
37 self.static_line_2 = wx.StaticLine(self.notebook_1_pane_1, -1)
38 self.button_2 = wx.Button(self.notebook_1_pane_1, ide[3], "styles...")
39 self.static_line_3 = wx.StaticLine(self.notebook_1_pane_1, -1, style=wx.LI_VERTICAL)
40 self.button_3 = wx.Button(self.notebook_1_pane_1, ide[2], "SetTickStyles")
41 self.static_line_4 = wx.StaticLine(self.notebook_1_pane_1, -1)
42 self.button_4 = wx.Button(self.notebook_1_pane_1, ide[4], "styles...")
43 self.button_22 = wx.Button(self.notebook_1_pane_1, ide[22], "minutes...")
44 self.static_line_5 = wx.StaticLine(self.notebook_1_pane_1, -1)
45 self.button_5 = wx.Button(self.notebook_1_pane_1, ide[5], "SetShadowColour")
46 self.static_line_6 = wx.StaticLine(self.notebook_1_pane_1, -1)
47 self.button_6 = csel.ColourSelect(self.notebook_1_pane_1, ide[6], "all...")
48 self.static_line_7 = wx.StaticLine(self.notebook_1_pane_1, -1, style=wx.LI_VERTICAL)
49 self.button_7 = wx.Button(self.notebook_1_pane_1, ide[7], "SetWatchPenBrush")
50 self.static_line_8 = wx.StaticLine(self.notebook_1_pane_1, -1)
51 self.button_8 = csel.ColourSelect(self.notebook_1_pane_1, ide[8], "Pen colour...")
52 self.button_9 = csel.ColourSelect(self.notebook_1_pane_1, ide[9], "Brush colour...")
53 self.button_10 = wx.Button(self.notebook_1_pane_2, ide[10], "SetTickColours")
54 self.static_line_8 = wx.StaticLine(self.notebook_1_pane_2, -1)
55 self.button_11 = csel.ColourSelect(self.notebook_1_pane_2, ide[11], "hours...", colour=self.parent.tickMarkHoursPen.GetColour())
56 self.button_12 = csel.ColourSelect(self.notebook_1_pane_2, ide[12], "minutes...", colour=self.parent.tickMarkMinutesPen.GetColour())
57 self.static_line_10 = wx.StaticLine(self.notebook_1_pane_2, -1, style=wx.LI_VERTICAL)
58 self.button_13 = wx.Button(self.notebook_1_pane_2, ide[13], "SetTickSizes")
59 self.static_line_11 = wx.StaticLine(self.notebook_1_pane_2, -1)
60 self.label_1 = wx.StaticText(self.notebook_1_pane_2, -1, "hours")
61 self.spin_ctrl_1 = wx.SpinCtrl(self.notebook_1_pane_2, ide[71], "10", min=1, max=100)
62 self.label_2 = wx.StaticText(self.notebook_1_pane_2, -1, "minutes")
63 self.spin_ctrl_2 = wx.SpinCtrl(self.notebook_1_pane_2, ide[72], "5", min=0, max=100)
64 self.label_3 = wx.StaticText(self.notebook_1_pane_2, -1, "offset")
65 self.spin_ctrl_3 = wx.SpinCtrl(self.notebook_1_pane_2, ide[73], "0", min=0, max=100)
66 self.static_line_12 = wx.StaticLine(self.notebook_1_pane_2, -1, style=wx.LI_VERTICAL)
67 self.button_14 = wx.Button(self.notebook_1_pane_2, ide[14], "SetTickFonts")
68 self.static_line_13 = wx.StaticLine(self.notebook_1_pane_2, -1)
69 self.button_15 = wx.Button(self.notebook_1_pane_2, ide[15], "hours...")
70 self.button_16 = wx.Button(self.notebook_1_pane_2, ide[16], "minutes...")
71 self.button_17 = wx.Button(self.notebook_1_pane_3, ide[17], "SetHandWeights")
72 self.static_line_14 = wx.StaticLine(self.notebook_1_pane_3, -1)
73 self.label_4 = wx.StaticText(self.notebook_1_pane_3, -1, "hours")
74 self.spin_ctrl_4 = wx.SpinCtrl(self.notebook_1_pane_3, ide[74], "5", min=0, max=100)
75 self.label_5 = wx.StaticText(self.notebook_1_pane_3, -1, "minutes")
76 self.spin_ctrl_5 = wx.SpinCtrl(self.notebook_1_pane_3, ide[75], "3", min=0, max=100)
77 self.label_6 = wx.StaticText(self.notebook_1_pane_3, -1, "seconds")
78 self.spin_ctrl_6 = wx.SpinCtrl(self.notebook_1_pane_3, ide[76], "1", min=0, max=100)
79 self.static_line_15 = wx.StaticLine(self.notebook_1_pane_3, -1, style=wx.LI_VERTICAL)
80 self.button_18 = wx.Button(self.notebook_1_pane_3, ide[18], "SetHandColours")
81 self.static_line_16 = wx.StaticLine(self.notebook_1_pane_3, -1)
82 self.button_19 = csel.ColourSelect(self.notebook_1_pane_3, ide[19], "hours...")
83 self.button_20 = csel.ColourSelect(self.notebook_1_pane_3, ide[20], "minutes...")
84 self.button_21 = csel.ColourSelect(self.notebook_1_pane_3, ide[21], "seconds...")
f04ad14a
RD
85
86 self.__set_properties()
87 self.__do_layout()
d6dabac0
RD
88
89
90 self.Bind(wx.EVT_BUTTON, self.OnEventsHook, id=ide[0], id2=ide[29])
91 self.Bind(csel.EVT_COLOURSELECT, self.OnEventsHook, id=ide[0], id2=ide[29])
92 self.Bind(wx.EVT_SPINCTRL, self.OnEventsHook, id=ide[71], id2=ide[80])
93 self.Bind(wx.EVT_RADIOBUTTON, self.OnEventsHook, id=ide[51], id2=ide[60])
94 self.Bind(wx.EVT_WINDOW_DESTROY, self.OnQuit)
f04ad14a
RD
95
96 self.ide=ide
97
98 def __set_properties(self):
f04ad14a
RD
99 #self.SetTitle("AnalogClock Test")
100 self.spin_ctrl_1.SetSize((50, -1))
101 self.spin_ctrl_2.SetSize((50, -1))
102 self.spin_ctrl_3.SetSize((50, -1))
103 self.spin_ctrl_4.SetSize((50, -1))
104 self.spin_ctrl_5.SetSize((50, -1))
105 self.spin_ctrl_6.SetSize((50, -1))
d6dabac0 106
f04ad14a
RD
107
108 def __do_layout(self):
d6dabac0
RD
109 sizer_frame = wx.BoxSizer(wx.HORIZONTAL)
110 sizer_main = wx.BoxSizer(wx.VERTICAL)
111 sizer_25 = wx.BoxSizer(wx.HORIZONTAL)
112 sizer_26 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_3, -1, ""), wx.VERTICAL)
113 sizer_27 = wx.BoxSizer(wx.HORIZONTAL)
114 sizer_31 = wx.BoxSizer(wx.VERTICAL)
115 sizer_33 = wx.BoxSizer(wx.HORIZONTAL)
116 sizer_32 = wx.BoxSizer(wx.HORIZONTAL)
117 sizer_28 = wx.BoxSizer(wx.VERTICAL)
118 sizer_30 = wx.BoxSizer(wx.HORIZONTAL)
119 sizer_29 = wx.BoxSizer(wx.HORIZONTAL)
120 sizer_12 = wx.BoxSizer(wx.HORIZONTAL)
121 sizer_13 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_2, -1, ""), wx.VERTICAL)
122 sizer_14 = wx.BoxSizer(wx.HORIZONTAL)
123 sizer_22 = wx.BoxSizer(wx.VERTICAL)
124 sizer_24 = wx.BoxSizer(wx.HORIZONTAL)
125 sizer_23 = wx.BoxSizer(wx.HORIZONTAL)
126 sizer_18 = wx.BoxSizer(wx.VERTICAL)
127 sizer_21 = wx.BoxSizer(wx.HORIZONTAL)
128 sizer_20 = wx.BoxSizer(wx.HORIZONTAL)
129 sizer_19 = wx.BoxSizer(wx.HORIZONTAL)
130 sizer_15 = wx.BoxSizer(wx.VERTICAL)
131 sizer_17 = wx.BoxSizer(wx.HORIZONTAL)
132 sizer_16 = wx.BoxSizer(wx.HORIZONTAL)
133 sizer_1 = wx.BoxSizer(wx.HORIZONTAL)
134 sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_1, -1, ""), wx.VERTICAL)
135 sizer_8 = wx.BoxSizer(wx.HORIZONTAL)
136 sizer_11 = wx.BoxSizer(wx.VERTICAL)
137 sizer_12b = wx.BoxSizer(wx.HORIZONTAL)
138 sizer_9 = wx.BoxSizer(wx.VERTICAL)
139 sizer_10 = wx.BoxSizer(wx.HORIZONTAL)
140 sizer_3 = wx.BoxSizer(wx.HORIZONTAL)
141 sizer_6 = wx.BoxSizer(wx.VERTICAL)
142 sizer_7 = wx.BoxSizer(wx.HORIZONTAL)
143 sizer_4 = wx.BoxSizer(wx.VERTICAL)
144 sizer_5 = wx.BoxSizer(wx.HORIZONTAL)
145 sizer_main.Add(self.label_top, 0, wx.LEFT|wx.TOP, 5)
146 sizer_main.Add(self.static_line_1, 0, wx.TOP|wx.BOTTOM|wx.EXPAND, 10)
147 sizer_4.Add(self.button_1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
148 sizer_4.Add(self.static_line_2, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
149 sizer_5.Add(self.button_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
150 sizer_4.Add(sizer_5, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
151 sizer_3.Add(sizer_4, 1, wx.EXPAND, 0)
152 sizer_3.Add(self.static_line_3, 0, wx.EXPAND, 0)
153 sizer_6.Add(self.button_3, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
154 sizer_6.Add(self.static_line_4, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
155 sizer_7.Add(self.button_4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
156 sizer_7.Add(self.button_22, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
157 sizer_6.Add(sizer_7, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
158 sizer_3.Add(sizer_6, 1, wx.EXPAND, 0)
159 sizer_2.Add(sizer_3, 1, wx.EXPAND, 0)
160 sizer_2.Add(self.static_line_5, 0, wx.EXPAND, 0)
161 sizer_9.Add(self.button_5, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
162 sizer_9.Add(self.static_line_6, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
163 sizer_10.Add(self.button_6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
164 sizer_9.Add(sizer_10, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
165 sizer_8.Add(sizer_9, 1, wx.EXPAND, 0)
166 sizer_8.Add(self.static_line_7, 0, wx.EXPAND, 0)
167 sizer_11.Add(self.button_7, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
168 sizer_11.Add(self.static_line_8, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
169 sizer_12b.Add(self.button_8, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
170 sizer_12b.Add(self.button_9, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
171 sizer_11.Add(sizer_12b, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
172 sizer_8.Add(sizer_11, 1, wx.EXPAND, 0)
173 sizer_2.Add(sizer_8, 1, wx.EXPAND, 0)
174 sizer_1.Add(sizer_2, 1, wx.EXPAND, 0)
f04ad14a
RD
175 self.notebook_1_pane_1.SetAutoLayout(1)
176 self.notebook_1_pane_1.SetSizer(sizer_1)
177 sizer_1.Fit(self.notebook_1_pane_1)
178 sizer_1.SetSizeHints(self.notebook_1_pane_1)
d6dabac0
RD
179 sizer_15.Add(self.button_10, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
180 sizer_15.Add(self.static_line_8, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
181 sizer_16.Add(self.button_11, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
182 sizer_15.Add(sizer_16, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
183 sizer_17.Add(self.button_12, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
184 sizer_15.Add(sizer_17, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
185 sizer_14.Add(sizer_15, 1, wx.EXPAND, 0)
186 sizer_14.Add(self.static_line_10, 0, wx.EXPAND, 0)
187 sizer_18.Add(self.button_13, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
188 sizer_18.Add(self.static_line_11, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
189 sizer_19.Add(self.label_1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
190 sizer_19.Add(self.spin_ctrl_1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
191 sizer_18.Add(sizer_19, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
192 sizer_20.Add(self.label_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
193 sizer_20.Add(self.spin_ctrl_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
194 sizer_18.Add(sizer_20, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
195 sizer_21.Add(self.label_3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
196 sizer_21.Add(self.spin_ctrl_3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
197 sizer_18.Add(sizer_21, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
198 sizer_14.Add(sizer_18, 1, wx.EXPAND, 0)
199 sizer_14.Add(self.static_line_12, 0, wx.EXPAND, 0)
200 sizer_22.Add(self.button_14, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
201 sizer_22.Add(self.static_line_13, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
202 sizer_23.Add(self.button_15, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
203 sizer_22.Add(sizer_23, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
204 sizer_24.Add(self.button_16, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
205 sizer_22.Add(sizer_24, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
206 sizer_14.Add(sizer_22, 1, wx.EXPAND, 0)
207 sizer_13.Add(sizer_14, 1, wx.EXPAND, 0)
208 sizer_12.Add(sizer_13, 1, wx.EXPAND, 0)
f04ad14a
RD
209 self.notebook_1_pane_2.SetAutoLayout(1)
210 self.notebook_1_pane_2.SetSizer(sizer_12)
211 sizer_12.Fit(self.notebook_1_pane_2)
212 sizer_12.SetSizeHints(self.notebook_1_pane_2)
d6dabac0
RD
213 sizer_28.Add(self.button_17, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
214 sizer_28.Add(self.static_line_14, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
215 sizer_29.Add(self.label_4, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5)
216 sizer_29.Add(self.spin_ctrl_4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
217 sizer_29.Add(self.label_5, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5)
218 sizer_29.Add(self.spin_ctrl_5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
219 sizer_28.Add(sizer_29, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
220 sizer_30.Add(self.label_6, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5)
221 sizer_30.Add(self.spin_ctrl_6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
222 sizer_28.Add(sizer_30, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
223 sizer_27.Add(sizer_28, 1, wx.EXPAND, 0)
224 sizer_27.Add(self.static_line_15, 0, wx.EXPAND, 0)
225 sizer_31.Add(self.button_18, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5)
226 sizer_31.Add(self.static_line_16, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20)
227 sizer_32.Add(self.button_19, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
228 sizer_32.Add(self.button_20, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
229 sizer_31.Add(sizer_32, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
230 sizer_33.Add(self.button_21, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5)
231 sizer_31.Add(sizer_33, 1, wx.ALIGN_CENTER_HORIZONTAL, 0)
232 sizer_27.Add(sizer_31, 1, wx.EXPAND, 0)
233 sizer_26.Add(sizer_27, 1, wx.EXPAND, 0)
234 sizer_25.Add(sizer_26, 1, wx.EXPAND, 0)
f04ad14a
RD
235 self.notebook_1_pane_3.SetAutoLayout(1)
236 self.notebook_1_pane_3.SetSizer(sizer_25)
237 sizer_25.Fit(self.notebook_1_pane_3)
238 sizer_25.SetSizeHints(self.notebook_1_pane_3)
239 self.notebook_1.AddPage(self.notebook_1_pane_1, "Clock")
240 self.notebook_1.AddPage(self.notebook_1_pane_2, "Ticks")
241 self.notebook_1.AddPage(self.notebook_1_pane_3, "Hands")
d6dabac0 242 sizer_main.Add(wx.NotebookSizer(self.notebook_1), 1, wx.LEFT|wx.RIGHT|wx.BOTTOM|wx.EXPAND, 5)
f04ad14a
RD
243 self.panel_1.SetAutoLayout(1)
244 self.panel_1.SetSizer(sizer_main)
245 sizer_main.Fit(self.panel_1)
246 sizer_main.SetSizeHints(self.panel_1)
d6dabac0 247 sizer_frame.Add(self.panel_1, 1, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
f04ad14a
RD
248 self.SetAutoLayout(1)
249 self.SetSizer(sizer_frame)
250 sizer_frame.Fit(self)
251 sizer_frame.SetSizeHints(self)
252 self.Layout()
f04ad14a
RD
253 self.UpdateWidgets()
254
255 def UpdateAll(self):
256 self.UpdateWidgets()
257 self.parent.OnSize(None)
258
259 def UpdateWidgets(self):
260 self.button_6.SetColour(self.parent.shadowPenColour)
261
262 bc=self.parent.watchPen
263 if bc:
264 bc=bc.GetColour()
265 else:
266 bc=self.parent.GetBackgroundColour()
267 self.button_8.SetColour(bc)
268
269 bc=self.parent.watchBrush
270 if bc:
271 bc=bc.GetColour()
272 else:
273 bc=self.parent.GetBackgroundColour()
274 self.button_9.SetColour(bc)
275
276 self.button_11.SetColour(self.parent.tickMarkHoursPen.GetColour())
277 self.button_12.SetColour(self.parent.tickMarkMinutesPen.GetColour())
278 self.button_19.SetColour(self.parent.handHoursColour)
279 self.button_20.SetColour(self.parent.handMinutesColour)
280 self.button_21.SetColour(self.parent.handSecondsColour)
281
282 self.spin_ctrl_1.SetValue(self.parent.markSizeHour)
283 self.spin_ctrl_2.SetValue(self.parent.markSizeMin)
284 self.spin_ctrl_3.SetValue(self.parent.offM)
285 self.spin_ctrl_4.SetValue(self.parent.handHoursThickness)
286 self.spin_ctrl_5.SetValue(self.parent.handMinutesThickness)
287 self.spin_ctrl_6.SetValue(self.parent.handSecondsThickness)
288
289
290 def gfid(self, id, lista):
d6dabac0
RD
291 return self.ide.index(id) in lista
292 # for x in lista:
293 # if id==self.ide[x]:
294 # f=True
295 # break
296 # else:
297 # f=False
298 # return f
f04ad14a
RD
299
300 def OnEventsHook(self, evt):
301 id=evt.GetId()
302
303 if self.gfid(id, [6,8,9,11,12,19,20,21,23]):
304 self.OnSelectColour(evt)
305
306 elif self.gfid(id, [15,16]):
307 self.OnSelectFont(evt)
308
309 elif self.gfid(id, [71,72,73,74,75,76]):
310 self.OnSpinChange(evt)
311
312 elif self.gfid(id, [3,4,22]):
313 self.OnChangeStyle(evt)
314
315 elif self.gfid(id, [1,2,5,7,10,13,14,17,18]):
316 self.OnDefaults(evt)
317
f04ad14a
RD
318 def OnSelectColour(self, evt):
319 id=evt.GetId();colour=evt.GetValue()
320
321 if id==self.ide[6]:
322 self.parent.SetShadowColour(colour)
323 elif id==self.ide[8]:
d6dabac0 324 self.parent.SetWatchPenBrush(p=wx.Pen(colour, 1, wx.SOLID))
f04ad14a 325 elif id==self.ide[9]:
d6dabac0 326 self.parent.SetWatchPenBrush(b=wx.Brush(colour, wx.SOLID))
f04ad14a
RD
327 elif id==self.ide[11]:
328 self.parent.SetTickColours(h=colour)
329 elif id==self.ide[12]:
330 self.parent.SetTickColours(m=colour)
331 elif id==self.ide[19]:
332 self.parent.SetHandColours(h=colour)
333 elif id==self.ide[20]:
334 self.parent.SetHandColours(m=colour)
335 elif id==self.ide[21]:
336 self.parent.SetHandColours(s=colour)
337
338
339 self.UpdateAll()
340
341
342
343 def OnSelectFont(self, evt):
344 id=evt.GetId()
345 if id==self.ide[15]:
346 font=self.parent.tickMarkHoursFont;font.SetPointSize(self.parent.markSizeHour)
347 colour=self.parent.tickMarkHoursPen.GetColour()
348 else:
349 font=self.parent.tickMarkMinutesFont;font.SetPointSize(self.parent.markSizeMin)
350 colour=self.parent.tickMarkMinutesPen.GetColour()
351
d6dabac0 352 data = wx.FontData()
f04ad14a
RD
353 data.EnableEffects(True)
354 data.SetColour(colour)
355 data.SetInitialFont(font)
356
d6dabac0
RD
357 dlg = wx.FontDialog(self, data)
358 if dlg.ShowModal() == wx.ID_OK:
f04ad14a
RD
359 data = dlg.GetFontData()
360 font = data.GetChosenFont()
361 colour = data.GetColour()
362 if id==self.ide[15]:
363 self.parent.SetTickFonts(h=font)
364 self.parent.SetTickColours(h=colour.Get())
365 else:
366 self.parent.SetTickFonts(m=font)
367 self.parent.SetTickColours(m=colour.Get())
368 dlg.Destroy()
369
370 self.UpdateAll()
371
372 def OnSpinChange(self, evt):
373 id=evt.GetId();v=evt.GetInt()
374 if id==self.ide[71]:
375 self.parent.SetTickSizes(h=v)
376 if id==self.ide[72]:
377 self.parent.SetTickSizes(m=v)
378 if id==self.ide[73]:
379 self.parent.SetMinutesOffset(v)
380 if id==self.ide[74]:
381 self.parent.SetHandWeights(h=v)
382 if id==self.ide[75]:
383 self.parent.SetHandWeights(m=v)
384 if id==self.ide[76]:
385 self.parent.SetHandWeights(s=v)
386
387 self.UpdateAll()
388
389 def OnChangeStyle(self, evt):
390 id=evt.GetId()
391
392 if id==self.ide[3]:
393 x="""SHOW_QUARTERS_TICKS
394 SHOW_HOURS_TICKS
395 SHOW_MINUTES_TICKS
396 ROTATE_TICKS
397 SHOW_HOURS_HAND
398 SHOW_MINUTES_HAND
399 SHOW_SECONDS_HAND
400 SHOW_SHADOWS
401 OVERLAP_TICKS""".split()
402 m=map(lambda f: (self.parent.clockStyle & f)/f, map(lambda f: 2**x.index(f),x))
403
d6dabac0 404 dlg = dlgs.MultipleChoiceDialog(self,
f04ad14a
RD
405 "Select some styles for the clock:",
406 "Styles", x)
407 for i in range(0,len(m)):
408 if m[i]:
409 dlg.lbox.SetSelection(i)
410
d6dabac0 411 if (dlg.ShowModal() == wx.ID_OK):
f04ad14a
RD
412 v=reduce(lambda x,y:x+y,map(lambda f: 2**f,dlg.GetValue()))
413 self.parent.SetClockStyle(v)
414
415 elif id==self.ide[4]:
416 x="""TICKS_NONE
417 TICKS_SQUARE
418 TICKS_CIRCLE
419 TICKS_POLY
420 TICKS_DECIMAL
421 TICKS_ROMAN""".split()
422 m=map(lambda f: (self.parent.tickMarkHoursStyle & f)/f, map(lambda f: 2**x.index(f),x))
423
d6dabac0 424 dlg = wx.SingleChoiceDialog(self,
f04ad14a 425 "Select a style for the hours:",
d6dabac0 426 "Styles", x, wx.CHOICEDLG_STYLE)
f04ad14a
RD
427 for i in range(0,len(m)):
428 if m[i]:
429 dlg.SetSelection(i)
430
d6dabac0 431 if dlg.ShowModal() == wx.ID_OK:
f04ad14a
RD
432 v=2**dlg.GetSelection()
433 self.parent.SetTickStyles(h=v)
434 dlg.Destroy()
435
436 elif id==self.ide[22]:
437 tipo="for the minutes"
438 x="""TICKS_NONE
439 TICKS_SQUARE
440 TICKS_CIRCLE
441 TICKS_POLY
442 TICKS_DECIMAL
443 TICKS_ROMAN""".split()
444 m=map(lambda f: (self.parent.tickMarkMinutesStyle & f)/f, map(lambda f: 2**x.index(f),x))
445
d6dabac0 446 dlg = wx.SingleChoiceDialog(self,
f04ad14a 447 "Select a style for the minutes:",
d6dabac0 448 "Styles", x, wx.CHOICEDLG_STYLE)
f04ad14a
RD
449 for i in range(0,len(m)):
450 if m[i]:
451 dlg.SetSelection(i)
452
d6dabac0 453 if dlg.ShowModal() == wx.ID_OK:
f04ad14a
RD
454 v=2**dlg.GetSelection()
455 self.parent.SetTickStyles(m=v)
456 dlg.Destroy()
457
458 self.UpdateAll()
459
460 def OnDefaults(self, evt):
461 id=evt.GetId()
462 if id==self.ide[1]:
463 self.parent.SetClockStyle(142)
464 elif id==self.ide[2]:
465 self.parent.SetTickStyles(8, 4)
466 elif id==self.ide[5]:
467 self.parent.SetShadowColour((128,128,128))
468 elif id==self.ide[7]:
469 colour=self.parent.GetBackgroundColour()
d6dabac0 470 self.parent.SetWatchPenBrush(p=wx.Pen(colour, 1, wx.SOLID), b=wx.Brush(colour, wx.SOLID))
f04ad14a
RD
471 elif id==self.ide[10]:
472 colour=(0, 0, 0)
473 self.parent.SetTickColours(h=colour, m=colour)
474 elif id==self.ide[13]:
475 self.parent.SetTickSizes(h=10, m=5)
476 self.parent.SetMinutesOffset(0)
477 elif id==self.ide[14]:
d6dabac0 478 self.parent.SetTickFonts(wx.Font(1, wx.SWISS, wx.NORMAL, wx.BOLD))
f04ad14a
RD
479 elif id==self.ide[17]:
480 self.parent.SetHandWeights(h=5, m=3, s=1)
481 elif id==self.ide[18]:
482 colour=(0, 0, 0)
483 self.parent.SetHandColours(h=colour, m=colour, s=colour)
484
485 self.UpdateAll()
486
487
488 def OnQuit(self, evt):
489 self.parent.prefs_open=False
490
491
492#
493##
494### eof
495
496
d6dabac0 497