1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import wx
20
21 from timelinelib.editors.duplicateevent import DuplicateEventEditor
22 from timelinelib.wxgui.utils import BORDER
23 from timelinelib.wxgui.utils import _display_error_message
24 from timelinelib.wxgui.utils import _set_focus_and_select
25 import timelinelib.wxgui.utils as gui_utils
26
27
29
35
38
41
44
47
49 self.rb_period.SetSelection(index)
50
52 return self._move_period_fns[self.rb_period.GetSelection()]
53
55 self.rb_direction.SetSelection(direction)
56
58 return self.rb_direction.GetSelection()
59
61 self.EndModal(wx.ID_OK)
62
65
67 _display_error_message(
68 _("%d Events not duplicated due to missing dates.")
69 % error_count)
70
72 self._move_period_fns = [fn for (label, fn) in move_period_config]
73 period_list = [label for (label, fn) in move_period_config]
74 vbox = wx.BoxSizer(wx.VERTICAL)
75 self._create_and_add_sc_count_box(vbox)
76 self._create_and_add_rb_period(vbox, period_list)
77 self._create_and_add_sc_frequency_box(vbox)
78 self._create_and_add_rb_direction(vbox)
79 self._create_and_add_button_box(vbox)
80 self.SetSizerAndFit(vbox)
81 _set_focus_and_select(self.sc_count)
82
84 sc_count_box = self._create_count_spin_control()
85 form.Add(sc_count_box, border=BORDER)
86
88 st_count = wx.StaticText(self, label=_("Number of duplicates:"))
89 self.sc_count = wx.SpinCtrl(self, wx.ID_ANY, size=(50,-1))
90 self.sc_count.SetRange(1,999)
91 self.sc_count.SetValue(1)
92 hbox = wx.BoxSizer(wx.HORIZONTAL)
93 hbox.Add(st_count, flag=wx.ALL, border=BORDER)
94 hbox.Add(self.sc_count, flag=wx.ALL, border=BORDER)
95 return hbox
96
98 self.rb_period = wx.RadioBox(self, wx.ID_ANY, _("Period"),
99 wx.DefaultPosition, wx.DefaultSize,
100 period_list)
101 form.Add(self.rb_period, flag=wx.ALL|wx.EXPAND, border=BORDER)
102
104 sc_frequency_box = self._creat_frequency_spin_control()
105 form.Add(sc_frequency_box, border=BORDER)
106
108 st_frequency = wx.StaticText(self, label=_("Frequency:"))
109 self.sc_frequency = wx.SpinCtrl(self, wx.ID_ANY, size=(50,-1))
110 self.sc_frequency.SetRange(1,999)
111 self.sc_frequency.SetValue(1)
112 hbox = wx.BoxSizer(wx.HORIZONTAL)
113 hbox.Add(st_frequency, flag=wx.ALL, border=BORDER)
114 hbox.Add(self.sc_frequency, flag=wx.ALL, border=BORDER)
115 return hbox
116
118 direction_list = [_("Forward"), _("Backward"), _("Both")]
119 self.rb_direction = wx.RadioBox(self, wx.ID_ANY, _("Direction"),
120 choices=direction_list)
121 form.Add(self.rb_direction, flag=wx.ALL|wx.EXPAND, border=BORDER)
122
127
132
133
137 gui_utils.show_modal(create_dialog, handle_db_error)
138