def __init__( self, parent, label, input_values, # Temporary workaround for bug #332 filename, id_): self.box = wx.BoxSizer(wx.HORIZONTAL) self.slabel = wx.StaticText(parent, label=label) self.box.Add(self.slabel, flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, border=4) self.startw = DateHourCtrl(parent) self.startw.set_values(input_values['start_year'], input_values['start_month'], input_values['start_day'], input_values['start_hour'], input_values['start_minute']) self.box.Add(self.startw.get_main_panel()) # Temporary workaround for bug #332 # This widget is always placed at the top, so the previous # Tab-traversal element is always the OK button wxgui_api.Bug332Workaround( self.startw.datectrl, wxscheduler_api.work_around_bug332(filename, id_), self.startw.hourctrl.hourctrl)
class _StartDate(object): def __init__( self, parent, label, input_values, # Temporary workaround for bug #332 filename, id_): self.box = wx.BoxSizer(wx.HORIZONTAL) self.slabel = wx.StaticText(parent, label=label) self.box.Add(self.slabel, flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, border=4) self.startw = DateHourCtrl(parent) self.startw.set_values(input_values['start_year'], input_values['start_month'], input_values['start_day'], input_values['start_hour'], input_values['start_minute']) self.box.Add(self.startw.get_main_panel()) # Temporary workaround for bug #332 # This widget is always placed at the top, so the previous # Tab-traversal element is always the OK button wxgui_api.Bug332Workaround( self.startw.datectrl, wxscheduler_api.work_around_bug332(filename, id_), self.startw.hourctrl.hourctrl) def get_main_window(self): return self.box def get_first_column_width(self): return self.slabel.GetSizeTuple()[0] def set_first_column_width(self, width): sminh = self.slabel.GetMinHeight() self.slabel.SetMinSize((width, sminh)) def get_values(self, values): start = self.startw.get_unix_time() utcoffset = timeaux.UTCOffset.compute2(start) ostart = self.startw.get_unix_time() - utcoffset return { 'utc_offset': utcoffset, 'start_unix_time': ostart, 'start_relative_time': ostart % 86400, 'start_year': self.startw.get_year(), 'start_month': self.startw.get_month(), 'start_day': self.startw.get_day(), 'start_hour': self.startw.get_hour(), 'start_minute': self.startw.get_minute() }
class _StartDate(object): def __init__( self, parent, label, input_values, # Temporary workaround for bug #332 filename, id_, ): self.box = wx.BoxSizer(wx.HORIZONTAL) self.slabel = wx.StaticText(parent, label=label) self.box.Add(self.slabel, flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, border=4) self.startw = DateHourCtrl(parent) self.startw.set_values( input_values["start_year"], input_values["start_month"], input_values["start_day"], input_values["start_hour"], input_values["start_minute"], ) self.box.Add(self.startw.get_main_panel()) # Temporary workaround for bug #332 # This widget is always placed at the top, so the previous # Tab-traversal element is always the OK button wxgui_api.Bug332Workaround( self.startw.datectrl, wxscheduler_api.work_around_bug332(filename, id_), self.startw.hourctrl.hourctrl ) def get_main_window(self): return self.box def get_first_column_width(self): return self.slabel.GetSizeTuple()[0] def set_first_column_width(self, width): sminh = self.slabel.GetMinHeight() self.slabel.SetMinSize((width, sminh)) def get_values(self, values): start = self.startw.get_unix_time() utcoffset = timeaux.UTCOffset.compute2(start) ostart = self.startw.get_unix_time() - utcoffset return { "utc_offset": utcoffset, "start_unix_time": ostart, "start_relative_time": ostart % 86400, "start_year": self.startw.get_year(), "start_month": self.startw.get_month(), "start_day": self.startw.get_day(), "start_hour": self.startw.get_hour(), "start_minute": self.startw.get_minute(), }
def _make_label(interval, refyear, month, day, rstartH, rstartM, rendH, rendM, ralarmH, ralarmM, rendn, rendu, ralarmn, ralarmu, endtype, alarmtype, fend, palarm, standard): label = 'Occur on {} {} at {}:{} ({}) every {} years (e.g. {})'.format( day, DateHourCtrl.compute_month_label(month), str(rstartH).zfill(2), str(rstartM).zfill(2), standard, interval, refyear) if endtype == 1: label += ' for {} {}'.format(rendn, rendu) elif endtype == 2: label += ' until {}:{}'.format(str(rendH).zfill(2), str(rendM).zfill(2)) if fend: label += ' of the following day' if alarmtype == 1: label += ', activate alarm {} {} before'.format(ralarmn, ralarmu) elif alarmtype == 2: label += ', activate alarm at {}:{}'.format( str(ralarmH).zfill(2), str(ralarmM).zfill(2)) if palarm: label += ' of the previous day' return label
def __init__( self, parent, label, input_values, # Temporary workaround for bug #332 filename, id_, ): self.box = wx.BoxSizer(wx.HORIZONTAL) self.slabel = wx.StaticText(parent, label=label) self.box.Add(self.slabel, flag=wx.ALIGN_CENTER_VERTICAL | wx.RIGHT, border=4) self.startw = DateHourCtrl(parent) self.startw.set_values( input_values["start_year"], input_values["start_month"], input_values["start_day"], input_values["start_hour"], input_values["start_minute"], ) self.box.Add(self.startw.get_main_panel()) # Temporary workaround for bug #332 # This widget is always placed at the top, so the previous # Tab-traversal element is always the OK button wxgui_api.Bug332Workaround( self.startw.datectrl, wxscheduler_api.work_around_bug332(filename, id_), self.startw.hourctrl.hourctrl )
def _make_label(interval, refyear, month, day, rstartH, rstartM, rendH, rendM, ralarmH, ralarmM, rendn, rendu, ralarmn, ralarmu, endtype, alarmtype, fend, palarm, standard): label = 'Occur on {} {} at {}:{} ({}) every {} years (e.g. {})'.format( day, DateHourCtrl.compute_month_label(month), str(rstartH).zfill(2), str(rstartM).zfill(2), standard, interval, refyear) if endtype == 1: label += ' for {} {}'.format(rendn, rendu) elif endtype == 2: label += ' until {}:{}'.format( str(rendH).zfill(2), str(rendM).zfill(2)) if fend: label += ' of the following day' if alarmtype == 1: label += ', activate alarm {} {} before'.format(ralarmn, ralarmu) elif alarmtype == 2: label += ', activate alarm at {}:{}'.format( str(ralarmH).zfill(2), str(ralarmM).zfill(2)) if palarm: label += ' of the previous day' return label
def _create_alarm_date_widget(self): self.alarmw = DateHourCtrl(self.alarmchoicew.get_main_panel()) self.alarmw.set_values(self.input_values['alarm_year'], self.input_values['alarm_month'], self.input_values['alarm_day'], self.input_values['alarm_hour'], self.input_values['alarm_minute']) # Temporary workaround for bug #332 wxgui_api.Bug332Workaround(self.alarmw.datectrl, self.alarmchoicew.choicectrl, self.alarmw.hourctrl.hourctrl) return self.alarmw.get_main_panel()