26 |
26 |
27 from dialogs.DurationEditorDialog import DurationEditorDialog |
27 from dialogs.DurationEditorDialog import DurationEditorDialog |
28 |
28 |
29 class DurationCellControl(wx.PyControl): |
29 class DurationCellControl(wx.PyControl): |
30 |
30 |
31 def _init_coll_MainSizer_Items(self, parent): |
|
32 parent.AddWindow(self.Duration, 0, border=0, flag=wx.GROW) |
|
33 parent.AddWindow(self.EditButton, 0, border=0, flag=wx.GROW) |
|
34 |
|
35 def _init_coll_MainSizer_Growables(self, parent): |
|
36 parent.AddGrowableCol(0) |
|
37 parent.AddGrowableRow(0) |
|
38 |
|
39 def _init_sizers(self): |
|
40 self.MainSizer = wx.FlexGridSizer(cols=2, hgap=0, rows=1, vgap=0) |
|
41 |
|
42 self._init_coll_MainSizer_Items(self.MainSizer) |
|
43 self._init_coll_MainSizer_Growables(self.MainSizer) |
|
44 |
|
45 self.SetSizer(self.MainSizer) |
|
46 |
|
47 def _init_ctrls(self, prnt): |
|
48 wx.Control.__init__(self, id=-1, |
|
49 name='DurationCellControl', parent=prnt, |
|
50 size=wx.DefaultSize, style=0) |
|
51 |
|
52 # create location text control |
|
53 self.Duration = wx.TextCtrl(id=-1, name='Duration', parent=self, |
|
54 pos=wx.Point(0, 0), size=wx.Size(0, 0), style=wx.TE_PROCESS_ENTER) |
|
55 self.Duration.Bind(wx.EVT_KEY_DOWN, self.OnDurationChar) |
|
56 |
|
57 # create browse button |
|
58 self.EditButton = wx.Button(id=-1, label='...', |
|
59 name='EditButton', parent=self, pos=wx.Point(0, 0), |
|
60 size=wx.Size(30, 0), style=0) |
|
61 self.EditButton.Bind(wx.EVT_BUTTON, self.OnEditButtonClick) |
|
62 |
|
63 self.Bind(wx.EVT_SIZE, self.OnSize) |
|
64 |
|
65 self._init_sizers() |
|
66 |
|
67 ''' |
31 ''' |
68 Custom cell editor control with a text box and a button that launches |
32 Custom cell editor control with a text box and a button that launches |
69 the DurationEditorDialog. |
33 the DurationEditorDialog. |
70 ''' |
34 ''' |
71 def __init__(self, parent): |
35 def __init__(self, parent): |
72 self._init_ctrls(parent) |
36 wx.Control.__init__(self, parent) |
|
37 |
|
38 main_sizer = wx.FlexGridSizer(cols=2, hgap=0, rows=1, vgap=0) |
|
39 main_sizer.AddGrowableCol(0) |
|
40 main_sizer.AddGrowableRow(0) |
|
41 |
|
42 # create location text control |
|
43 self.Duration = wx.TextCtrl(self, style=wx.TE_PROCESS_ENTER) |
|
44 self.Duration.Bind(wx.EVT_KEY_DOWN, self.OnDurationChar) |
|
45 main_sizer.AddWindow(self.Duration, flag=wx.GROW) |
|
46 |
|
47 # create browse button |
|
48 self.EditButton = wx.Button(self, label='...', size=wx.Size(30, 0)) |
|
49 self.Bind(wx.EVT_BUTTON, self.OnEditButtonClick, self.EditButton) |
|
50 main_sizer.AddWindow(self.EditButton, flag=wx.GROW) |
|
51 |
|
52 self.Bind(wx.EVT_SIZE, self.OnSize) |
|
53 |
|
54 self.SetSizer(main_sizer) |
73 |
55 |
74 self.Default = None |
56 self.Default = None |
75 |
57 |
76 def SetValue(self, value): |
58 def SetValue(self, value): |
77 self.Default = value |
59 self.Default = value |