Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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()
        }
Exemplo n.º 3
0
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(),
        }
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
    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
        )
Exemplo n.º 6
0
    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
Exemplo n.º 7
0
    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()