#---------------------------------------------------------------------- # Name: wx.lib.analogclockopts # Purpose: An analog clock window - setup frame # # Author: E. A. Tacao # # Created: 15-February-2004 #---------------------------------------------------------------------- # Originally generated by wx.Glade 0.3.1 on Wed Feb 18 00:05:35 2004 # Converted to wx namespace by Peter Damoc """ A configuration dialog (frame actually) for the AnalogClockWindow """ import wx import wx.lib.colourselect as csel import wx.lib.dialogs as dlgs import string class ACCustomizationFrame(wx.Frame): def __init__(self, parent, id, name, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE | wx.FRAME_NO_TASKBAR | wx.FRAME_FLOAT_ON_PARENT | wx.WANTS_CHARS): # k=wx.NewId();ide=map(lambda x: x+k, range(0,100)) ide = [wx.NewId() for i in range(100)] #kwds["style"] = wx.CAPTION|wx.SYSTEM_MENU #wx.Frame.__init__(self, *args, **kwds) wx.Frame.__init__(self, parent, id, name, pos, size, style) self.parent=parent self.panel_1 = wx.Panel(self, -1) self.notebook_1 = wx.Notebook(self.panel_1, -1, style=0) self.notebook_1_pane_3 = wx.Panel(self.notebook_1, -1) self.notebook_1_pane_2 = wx.Panel(self.notebook_1, -1) self.notebook_1_pane_1 = wx.Panel(self.notebook_1, -1) 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.") self.static_line_1 = wx.StaticLine(self.panel_1, -1) self.button_1 = wx.Button(self.notebook_1_pane_1, ide[1], "SetClockStyle") self.static_line_2 = wx.StaticLine(self.notebook_1_pane_1, -1) self.button_2 = wx.Button(self.notebook_1_pane_1, ide[3], "styles...") self.static_line_3 = wx.StaticLine(self.notebook_1_pane_1, -1, style=wx.LI_VERTICAL) self.button_3 = wx.Button(self.notebook_1_pane_1, ide[2], "SetTickStyles") self.static_line_4 = wx.StaticLine(self.notebook_1_pane_1, -1) self.button_4 = wx.Button(self.notebook_1_pane_1, ide[4], "styles...") self.button_22 = wx.Button(self.notebook_1_pane_1, ide[22], "minutes...") self.static_line_5 = wx.StaticLine(self.notebook_1_pane_1, -1) self.button_5 = wx.Button(self.notebook_1_pane_1, ide[5], "SetShadowColour") self.static_line_6 = wx.StaticLine(self.notebook_1_pane_1, -1) self.button_6 = csel.ColourSelect(self.notebook_1_pane_1, ide[6], "all...") self.static_line_7 = wx.StaticLine(self.notebook_1_pane_1, -1, style=wx.LI_VERTICAL) self.button_7 = wx.Button(self.notebook_1_pane_1, ide[7], "SetWatchPenBrush") self.static_line_8 = wx.StaticLine(self.notebook_1_pane_1, -1) self.button_8 = csel.ColourSelect(self.notebook_1_pane_1, ide[8], "Pen colour...") self.button_9 = csel.ColourSelect(self.notebook_1_pane_1, ide[9], "Brush colour...") self.button_10 = wx.Button(self.notebook_1_pane_2, ide[10], "SetTickColours") self.static_line_8 = wx.StaticLine(self.notebook_1_pane_2, -1) self.button_11 = csel.ColourSelect(self.notebook_1_pane_2, ide[11], "hours...", colour=self.parent.tickMarkHoursPen.GetColour()) self.button_12 = csel.ColourSelect(self.notebook_1_pane_2, ide[12], "minutes...", colour=self.parent.tickMarkMinutesPen.GetColour()) self.static_line_10 = wx.StaticLine(self.notebook_1_pane_2, -1, style=wx.LI_VERTICAL) self.button_13 = wx.Button(self.notebook_1_pane_2, ide[13], "SetTickSizes") self.static_line_11 = wx.StaticLine(self.notebook_1_pane_2, -1) self.label_1 = wx.StaticText(self.notebook_1_pane_2, -1, "hours") self.spin_ctrl_1 = wx.SpinCtrl(self.notebook_1_pane_2, ide[71], "10", min=1, max=100) self.label_2 = wx.StaticText(self.notebook_1_pane_2, -1, "minutes") self.spin_ctrl_2 = wx.SpinCtrl(self.notebook_1_pane_2, ide[72], "5", min=0, max=100) self.label_3 = wx.StaticText(self.notebook_1_pane_2, -1, "offset") self.spin_ctrl_3 = wx.SpinCtrl(self.notebook_1_pane_2, ide[73], "0", min=0, max=100) self.static_line_12 = wx.StaticLine(self.notebook_1_pane_2, -1, style=wx.LI_VERTICAL) self.button_14 = wx.Button(self.notebook_1_pane_2, ide[14], "SetTickFonts") self.static_line_13 = wx.StaticLine(self.notebook_1_pane_2, -1) self.button_15 = wx.Button(self.notebook_1_pane_2, ide[15], "hours...") self.button_16 = wx.Button(self.notebook_1_pane_2, ide[16], "minutes...") self.button_17 = wx.Button(self.notebook_1_pane_3, ide[17], "SetHandWeights") self.static_line_14 = wx.StaticLine(self.notebook_1_pane_3, -1) self.label_4 = wx.StaticText(self.notebook_1_pane_3, -1, "hours") self.spin_ctrl_4 = wx.SpinCtrl(self.notebook_1_pane_3, ide[74], "5", min=0, max=100) self.label_5 = wx.StaticText(self.notebook_1_pane_3, -1, "minutes") self.spin_ctrl_5 = wx.SpinCtrl(self.notebook_1_pane_3, ide[75], "3", min=0, max=100) self.label_6 = wx.StaticText(self.notebook_1_pane_3, -1, "seconds") self.spin_ctrl_6 = wx.SpinCtrl(self.notebook_1_pane_3, ide[76], "1", min=0, max=100) self.static_line_15 = wx.StaticLine(self.notebook_1_pane_3, -1, style=wx.LI_VERTICAL) self.button_18 = wx.Button(self.notebook_1_pane_3, ide[18], "SetHandColours") self.static_line_16 = wx.StaticLine(self.notebook_1_pane_3, -1) self.button_19 = csel.ColourSelect(self.notebook_1_pane_3, ide[19], "hours...") self.button_20 = csel.ColourSelect(self.notebook_1_pane_3, ide[20], "minutes...") self.button_21 = csel.ColourSelect(self.notebook_1_pane_3, ide[21], "seconds...") self.__set_properties() self.__do_layout() self.Bind(wx.EVT_BUTTON, self.OnEventsHook, id=ide[0], id2=ide[29]) self.Bind(csel.EVT_COLOURSELECT, self.OnEventsHook, id=ide[0], id2=ide[29]) self.Bind(wx.EVT_SPINCTRL, self.OnEventsHook, id=ide[71], id2=ide[80]) self.Bind(wx.EVT_RADIOBUTTON, self.OnEventsHook, id=ide[51], id2=ide[60]) self.Bind(wx.EVT_WINDOW_DESTROY, self.OnQuit) self.ide=ide def __set_properties(self): #self.SetTitle("AnalogClock Test") self.spin_ctrl_1.SetSize((50, -1)) self.spin_ctrl_2.SetSize((50, -1)) self.spin_ctrl_3.SetSize((50, -1)) self.spin_ctrl_4.SetSize((50, -1)) self.spin_ctrl_5.SetSize((50, -1)) self.spin_ctrl_6.SetSize((50, -1)) def __do_layout(self): sizer_frame = wx.BoxSizer(wx.HORIZONTAL) sizer_main = wx.BoxSizer(wx.VERTICAL) sizer_25 = wx.BoxSizer(wx.HORIZONTAL) sizer_26 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_3, -1, ""), wx.VERTICAL) sizer_27 = wx.BoxSizer(wx.HORIZONTAL) sizer_31 = wx.BoxSizer(wx.VERTICAL) sizer_33 = wx.BoxSizer(wx.HORIZONTAL) sizer_32 = wx.BoxSizer(wx.HORIZONTAL) sizer_28 = wx.BoxSizer(wx.VERTICAL) sizer_30 = wx.BoxSizer(wx.HORIZONTAL) sizer_29 = wx.BoxSizer(wx.HORIZONTAL) sizer_12 = wx.BoxSizer(wx.HORIZONTAL) sizer_13 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_2, -1, ""), wx.VERTICAL) sizer_14 = wx.BoxSizer(wx.HORIZONTAL) sizer_22 = wx.BoxSizer(wx.VERTICAL) sizer_24 = wx.BoxSizer(wx.HORIZONTAL) sizer_23 = wx.BoxSizer(wx.HORIZONTAL) sizer_18 = wx.BoxSizer(wx.VERTICAL) sizer_21 = wx.BoxSizer(wx.HORIZONTAL) sizer_20 = wx.BoxSizer(wx.HORIZONTAL) sizer_19 = wx.BoxSizer(wx.HORIZONTAL) sizer_15 = wx.BoxSizer(wx.VERTICAL) sizer_17 = wx.BoxSizer(wx.HORIZONTAL) sizer_16 = wx.BoxSizer(wx.HORIZONTAL) sizer_1 = wx.BoxSizer(wx.HORIZONTAL) sizer_2 = wx.StaticBoxSizer(wx.StaticBox(self.notebook_1_pane_1, -1, ""), wx.VERTICAL) sizer_8 = wx.BoxSizer(wx.HORIZONTAL) sizer_11 = wx.BoxSizer(wx.VERTICAL) sizer_12b = wx.BoxSizer(wx.HORIZONTAL) sizer_9 = wx.BoxSizer(wx.VERTICAL) sizer_10 = wx.BoxSizer(wx.HORIZONTAL) sizer_3 = wx.BoxSizer(wx.HORIZONTAL) sizer_6 = wx.BoxSizer(wx.VERTICAL) sizer_7 = wx.BoxSizer(wx.HORIZONTAL) sizer_4 = wx.BoxSizer(wx.VERTICAL) sizer_5 = wx.BoxSizer(wx.HORIZONTAL) sizer_main.Add(self.label_top, 0, wx.LEFT|wx.TOP, 5) sizer_main.Add(self.static_line_1, 0, wx.TOP|wx.BOTTOM|wx.EXPAND, 10) sizer_4.Add(self.button_1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_4.Add(self.static_line_2, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_5.Add(self.button_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_4.Add(sizer_5, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_3.Add(sizer_4, 1, wx.EXPAND, 0) sizer_3.Add(self.static_line_3, 0, wx.EXPAND, 0) sizer_6.Add(self.button_3, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_6.Add(self.static_line_4, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_7.Add(self.button_4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_7.Add(self.button_22, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_6.Add(sizer_7, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_3.Add(sizer_6, 1, wx.EXPAND, 0) sizer_2.Add(sizer_3, 1, wx.EXPAND, 0) sizer_2.Add(self.static_line_5, 0, wx.EXPAND, 0) sizer_9.Add(self.button_5, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_9.Add(self.static_line_6, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_10.Add(self.button_6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_9.Add(sizer_10, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_8.Add(sizer_9, 1, wx.EXPAND, 0) sizer_8.Add(self.static_line_7, 0, wx.EXPAND, 0) sizer_11.Add(self.button_7, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_11.Add(self.static_line_8, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_12b.Add(self.button_8, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_12b.Add(self.button_9, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_11.Add(sizer_12b, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_8.Add(sizer_11, 1, wx.EXPAND, 0) sizer_2.Add(sizer_8, 1, wx.EXPAND, 0) sizer_1.Add(sizer_2, 1, wx.EXPAND, 0) self.notebook_1_pane_1.SetAutoLayout(1) self.notebook_1_pane_1.SetSizer(sizer_1) sizer_1.Fit(self.notebook_1_pane_1) sizer_1.SetSizeHints(self.notebook_1_pane_1) sizer_15.Add(self.button_10, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_15.Add(self.static_line_8, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_16.Add(self.button_11, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_15.Add(sizer_16, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_17.Add(self.button_12, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_15.Add(sizer_17, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_14.Add(sizer_15, 1, wx.EXPAND, 0) sizer_14.Add(self.static_line_10, 0, wx.EXPAND, 0) sizer_18.Add(self.button_13, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_18.Add(self.static_line_11, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_19.Add(self.label_1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_19.Add(self.spin_ctrl_1, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_18.Add(sizer_19, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_20.Add(self.label_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_20.Add(self.spin_ctrl_2, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_18.Add(sizer_20, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_21.Add(self.label_3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_21.Add(self.spin_ctrl_3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_18.Add(sizer_21, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_14.Add(sizer_18, 1, wx.EXPAND, 0) sizer_14.Add(self.static_line_12, 0, wx.EXPAND, 0) sizer_22.Add(self.button_14, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_22.Add(self.static_line_13, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_23.Add(self.button_15, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_22.Add(sizer_23, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_24.Add(self.button_16, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_22.Add(sizer_24, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_14.Add(sizer_22, 1, wx.EXPAND, 0) sizer_13.Add(sizer_14, 1, wx.EXPAND, 0) sizer_12.Add(sizer_13, 1, wx.EXPAND, 0) self.notebook_1_pane_2.SetAutoLayout(1) self.notebook_1_pane_2.SetSizer(sizer_12) sizer_12.Fit(self.notebook_1_pane_2) sizer_12.SetSizeHints(self.notebook_1_pane_2) sizer_28.Add(self.button_17, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_28.Add(self.static_line_14, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_29.Add(self.label_4, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizer_29.Add(self.spin_ctrl_4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_29.Add(self.label_5, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizer_29.Add(self.spin_ctrl_5, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_28.Add(sizer_29, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_30.Add(self.label_6, 0, wx.ALL|wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL, 5) sizer_30.Add(self.spin_ctrl_6, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_28.Add(sizer_30, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_27.Add(sizer_28, 1, wx.EXPAND, 0) sizer_27.Add(self.static_line_15, 0, wx.EXPAND, 0) sizer_31.Add(self.button_18, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_31.Add(self.static_line_16, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 20) sizer_32.Add(self.button_19, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_32.Add(self.button_20, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_31.Add(sizer_32, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_33.Add(self.button_21, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5) sizer_31.Add(sizer_33, 1, wx.ALIGN_CENTER_HORIZONTAL, 0) sizer_27.Add(sizer_31, 1, wx.EXPAND, 0) sizer_26.Add(sizer_27, 1, wx.EXPAND, 0) sizer_25.Add(sizer_26, 1, wx.EXPAND, 0) self.notebook_1_pane_3.SetAutoLayout(1) self.notebook_1_pane_3.SetSizer(sizer_25) sizer_25.Fit(self.notebook_1_pane_3) sizer_25.SetSizeHints(self.notebook_1_pane_3) self.notebook_1.AddPage(self.notebook_1_pane_1, "Clock") self.notebook_1.AddPage(self.notebook_1_pane_2, "Ticks") self.notebook_1.AddPage(self.notebook_1_pane_3, "Hands") sizer_main.Add(wx.NotebookSizer(self.notebook_1), 1, wx.LEFT|wx.RIGHT|wx.BOTTOM|wx.EXPAND, 5) self.panel_1.SetAutoLayout(1) self.panel_1.SetSizer(sizer_main) sizer_main.Fit(self.panel_1) sizer_main.SetSizeHints(self.panel_1) sizer_frame.Add(self.panel_1, 1, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0) self.SetAutoLayout(1) self.SetSizer(sizer_frame) sizer_frame.Fit(self) sizer_frame.SetSizeHints(self) self.Layout() self.UpdateWidgets() def UpdateAll(self): self.UpdateWidgets() self.parent.OnSize(None) def UpdateWidgets(self): self.button_6.SetColour(self.parent.shadowPenColour) bc=self.parent.watchPen if bc: bc=bc.GetColour() else: bc=self.parent.GetBackgroundColour() self.button_8.SetColour(bc) bc=self.parent.watchBrush if bc: bc=bc.GetColour() else: bc=self.parent.GetBackgroundColour() self.button_9.SetColour(bc) self.button_11.SetColour(self.parent.tickMarkHoursPen.GetColour()) self.button_12.SetColour(self.parent.tickMarkMinutesPen.GetColour()) self.button_19.SetColour(self.parent.handHoursColour) self.button_20.SetColour(self.parent.handMinutesColour) self.button_21.SetColour(self.parent.handSecondsColour) self.spin_ctrl_1.SetValue(self.parent.markSizeHour) self.spin_ctrl_2.SetValue(self.parent.markSizeMin) self.spin_ctrl_3.SetValue(self.parent.offM) self.spin_ctrl_4.SetValue(self.parent.handHoursThickness) self.spin_ctrl_5.SetValue(self.parent.handMinutesThickness) self.spin_ctrl_6.SetValue(self.parent.handSecondsThickness) def gfid(self, id, lista): return self.ide.index(id) in lista # for x in lista: # if id==self.ide[x]: # f=True # break # else: # f=False # return f def OnEventsHook(self, evt): id=evt.GetId() if self.gfid(id, [6,8,9,11,12,19,20,21,23]): self.OnSelectColour(evt) elif self.gfid(id, [15,16]): self.OnSelectFont(evt) elif self.gfid(id, [71,72,73,74,75,76]): self.OnSpinChange(evt) elif self.gfid(id, [3,4,22]): self.OnChangeStyle(evt) elif self.gfid(id, [1,2,5,7,10,13,14,17,18]): self.OnDefaults(evt) def OnSelectColour(self, evt): id=evt.GetId();colour=evt.GetValue() if id==self.ide[6]: self.parent.SetShadowColour(colour) elif id==self.ide[8]: self.parent.SetWatchPenBrush(p=wx.Pen(colour, 1, wx.SOLID)) elif id==self.ide[9]: self.parent.SetWatchPenBrush(b=wx.Brush(colour, wx.SOLID)) elif id==self.ide[11]: self.parent.SetTickColours(h=colour) elif id==self.ide[12]: self.parent.SetTickColours(m=colour) elif id==self.ide[19]: self.parent.SetHandColours(h=colour) elif id==self.ide[20]: self.parent.SetHandColours(m=colour) elif id==self.ide[21]: self.parent.SetHandColours(s=colour) self.UpdateAll() def OnSelectFont(self, evt): id=evt.GetId() if id==self.ide[15]: font=self.parent.tickMarkHoursFont;font.SetPointSize(self.parent.markSizeHour) colour=self.parent.tickMarkHoursPen.GetColour() else: font=self.parent.tickMarkMinutesFont;font.SetPointSize(self.parent.markSizeMin) colour=self.parent.tickMarkMinutesPen.GetColour() data = wx.FontData() data.EnableEffects(True) data.SetColour(colour) data.SetInitialFont(font) dlg = wx.FontDialog(self, data) if dlg.ShowModal() == wx.ID_OK: data = dlg.GetFontData() font = data.GetChosenFont() colour = data.GetColour() if id==self.ide[15]: self.parent.SetTickFonts(h=font) self.parent.SetTickColours(h=colour.Get()) else: self.parent.SetTickFonts(m=font) self.parent.SetTickColours(m=colour.Get()) dlg.Destroy() self.UpdateAll() def OnSpinChange(self, evt): id=evt.GetId();v=evt.GetInt() if id==self.ide[71]: self.parent.SetTickSizes(h=v) if id==self.ide[72]: self.parent.SetTickSizes(m=v) if id==self.ide[73]: self.parent.SetMinutesOffset(v) if id==self.ide[74]: self.parent.SetHandWeights(h=v) if id==self.ide[75]: self.parent.SetHandWeights(m=v) if id==self.ide[76]: self.parent.SetHandWeights(s=v) self.UpdateAll() def OnChangeStyle(self, evt): id=evt.GetId() if id==self.ide[3]: x="""SHOW_QUARTERS_TICKS SHOW_HOURS_TICKS SHOW_MINUTES_TICKS ROTATE_TICKS SHOW_HOURS_HAND SHOW_MINUTES_HAND SHOW_SECONDS_HAND SHOW_SHADOWS OVERLAP_TICKS""".split() m=map(lambda f: (self.parent.clockStyle & f)/f, map(lambda f: 2**x.index(f),x)) dlg = dlgs.MultipleChoiceDialog(self, "Select some styles for the clock:", "Styles", x) for i in range(0,len(m)): if m[i]: dlg.lbox.SetSelection(i) if (dlg.ShowModal() == wx.ID_OK): v=reduce(lambda x,y:x+y,map(lambda f: 2**f,dlg.GetValue())) self.parent.SetClockStyle(v) elif id==self.ide[4]: x="""TICKS_NONE TICKS_SQUARE TICKS_CIRCLE TICKS_POLY TICKS_DECIMAL TICKS_ROMAN""".split() m=map(lambda f: (self.parent.tickMarkHoursStyle & f)/f, map(lambda f: 2**x.index(f),x)) dlg = wx.SingleChoiceDialog(self, "Select a style for the hours:", "Styles", x, wx.CHOICEDLG_STYLE) for i in range(0,len(m)): if m[i]: dlg.SetSelection(i) if dlg.ShowModal() == wx.ID_OK: v=2**dlg.GetSelection() self.parent.SetTickStyles(h=v) dlg.Destroy() elif id==self.ide[22]: tipo="for the minutes" x="""TICKS_NONE TICKS_SQUARE TICKS_CIRCLE TICKS_POLY TICKS_DECIMAL TICKS_ROMAN""".split() m=map(lambda f: (self.parent.tickMarkMinutesStyle & f)/f, map(lambda f: 2**x.index(f),x)) dlg = wx.SingleChoiceDialog(self, "Select a style for the minutes:", "Styles", x, wx.CHOICEDLG_STYLE) for i in range(0,len(m)): if m[i]: dlg.SetSelection(i) if dlg.ShowModal() == wx.ID_OK: v=2**dlg.GetSelection() self.parent.SetTickStyles(m=v) dlg.Destroy() self.UpdateAll() def OnDefaults(self, evt): id=evt.GetId() if id==self.ide[1]: self.parent.SetClockStyle(142) elif id==self.ide[2]: self.parent.SetTickStyles(8, 4) elif id==self.ide[5]: self.parent.SetShadowColour((128,128,128)) elif id==self.ide[7]: colour=self.parent.GetBackgroundColour() self.parent.SetWatchPenBrush(p=wx.Pen(colour, 1, wx.SOLID), b=wx.Brush(colour, wx.SOLID)) elif id==self.ide[10]: colour=(0, 0, 0) self.parent.SetTickColours(h=colour, m=colour) elif id==self.ide[13]: self.parent.SetTickSizes(h=10, m=5) self.parent.SetMinutesOffset(0) elif id==self.ide[14]: self.parent.SetTickFonts(wx.Font(1, wx.SWISS, wx.NORMAL, wx.BOLD)) elif id==self.ide[17]: self.parent.SetHandWeights(h=5, m=3, s=1) elif id==self.ide[18]: colour=(0, 0, 0) self.parent.SetHandColours(h=colour, m=colour, s=colour) self.UpdateAll() def OnQuit(self, evt): self.parent.prefs_open=False # ## ### eof