231 |
231 |
232 tasks_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
232 tasks_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
233 tasks_sizer.AddGrowableCol(0) |
233 tasks_sizer.AddGrowableCol(0) |
234 tasks_sizer.AddGrowableRow(1) |
234 tasks_sizer.AddGrowableRow(1) |
235 main_sizer.AddSizer(tasks_sizer, border=5, |
235 main_sizer.AddSizer(tasks_sizer, border=5, |
236 flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT) |
236 flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT) |
237 |
237 |
238 tasks_buttons_sizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) |
238 tasks_buttons_sizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) |
239 tasks_buttons_sizer.AddGrowableCol(0) |
239 tasks_buttons_sizer.AddGrowableCol(0) |
240 tasks_buttons_sizer.AddGrowableRow(0) |
240 tasks_buttons_sizer.AddGrowableRow(0) |
241 tasks_sizer.AddSizer(tasks_buttons_sizer, flag=wx.GROW) |
241 tasks_sizer.AddSizer(tasks_buttons_sizer, flag=wx.GROW) |
247 ("AddTaskButton", "add_element", _("Add task")), |
247 ("AddTaskButton", "add_element", _("Add task")), |
248 ("DeleteTaskButton", "remove_element", _("Remove task")), |
248 ("DeleteTaskButton", "remove_element", _("Remove task")), |
249 ("UpTaskButton", "up", _("Move task up")), |
249 ("UpTaskButton", "up", _("Move task up")), |
250 ("DownTaskButton", "down", _("Move task down"))]: |
250 ("DownTaskButton", "down", _("Move task down"))]: |
251 button = wx.lib.buttons.GenBitmapButton(self.Editor, |
251 button = wx.lib.buttons.GenBitmapButton(self.Editor, |
252 bitmap=GetBitmap(bitmap), size=wx.Size(28, 28), style=wx.NO_BORDER) |
252 bitmap=GetBitmap(bitmap), |
|
253 size=wx.Size(28, 28), |
|
254 style=wx.NO_BORDER) |
253 button.SetToolTipString(help) |
255 button.SetToolTipString(help) |
254 setattr(self, name, button) |
256 setattr(self, name, button) |
255 tasks_buttons_sizer.AddWindow(button) |
257 tasks_buttons_sizer.AddWindow(button) |
256 |
258 |
257 self.TasksGrid = CustomGrid(self.Editor, style=wx.VSCROLL) |
259 self.TasksGrid = CustomGrid(self.Editor, style=wx.VSCROLL) |
260 |
262 |
261 instances_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
263 instances_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) |
262 instances_sizer.AddGrowableCol(0) |
264 instances_sizer.AddGrowableCol(0) |
263 instances_sizer.AddGrowableRow(1) |
265 instances_sizer.AddGrowableRow(1) |
264 main_sizer.AddSizer(instances_sizer, border=5, |
266 main_sizer.AddSizer(instances_sizer, border=5, |
265 flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
267 flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT) |
266 |
268 |
267 instances_buttons_sizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) |
269 instances_buttons_sizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) |
268 instances_buttons_sizer.AddGrowableCol(0) |
270 instances_buttons_sizer.AddGrowableCol(0) |
269 instances_buttons_sizer.AddGrowableRow(0) |
271 instances_buttons_sizer.AddGrowableRow(0) |
270 instances_sizer.AddSizer(instances_buttons_sizer, flag=wx.GROW) |
272 instances_sizer.AddSizer(instances_buttons_sizer, flag=wx.GROW) |
275 for name, bitmap, help in [ |
277 for name, bitmap, help in [ |
276 ("AddInstanceButton", "add_element", _("Add instance")), |
278 ("AddInstanceButton", "add_element", _("Add instance")), |
277 ("DeleteInstanceButton", "remove_element", _("Remove instance")), |
279 ("DeleteInstanceButton", "remove_element", _("Remove instance")), |
278 ("UpInstanceButton", "up", _("Move instance up")), |
280 ("UpInstanceButton", "up", _("Move instance up")), |
279 ("DownInstanceButton", "down", _("Move instance down"))]: |
281 ("DownInstanceButton", "down", _("Move instance down"))]: |
280 button = wx.lib.buttons.GenBitmapButton(self.Editor, |
282 button = wx.lib.buttons.GenBitmapButton( |
281 bitmap=GetBitmap(bitmap), size=wx.Size(28, 28), style=wx.NO_BORDER) |
283 self.Editor, bitmap=GetBitmap(bitmap), |
|
284 size=wx.Size(28, 28), style=wx.NO_BORDER) |
282 button.SetToolTipString(help) |
285 button.SetToolTipString(help) |
283 setattr(self, name, button) |
286 setattr(self, name, button) |
284 instances_buttons_sizer.AddWindow(button) |
287 instances_buttons_sizer.AddWindow(button) |
285 |
288 |
286 self.InstancesGrid = CustomGrid(self.Editor, style=wx.VSCROLL) |
289 self.InstancesGrid = CustomGrid(self.Editor, style=wx.VSCROLL) |
287 self.InstancesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, |
290 self.InstancesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnInstancesGridCellChange) |
288 self.OnInstancesGridCellChange) |
|
289 instances_sizer.AddWindow(self.InstancesGrid, flag=wx.GROW) |
291 instances_sizer.AddWindow(self.InstancesGrid, flag=wx.GROW) |
290 |
292 |
291 self.Editor.SetSizer(main_sizer) |
293 self.Editor.SetSizer(main_sizer) |
292 |
294 |
293 def __init__(self, parent, tagname, window, controler): |
295 def __init__(self, parent, tagname, window, controler): |
368 def _RefreshInstanceButtons(): |
370 def _RefreshInstanceButtons(): |
369 if self: |
371 if self: |
370 rows = self.InstancesTable.GetNumberRows() |
372 rows = self.InstancesTable.GetNumberRows() |
371 row = self.InstancesGrid.GetGridCursorRow() |
373 row = self.InstancesGrid.GetGridCursorRow() |
372 self.DeleteInstanceButton.Enable(rows > 0) |
374 self.DeleteInstanceButton.Enable(rows > 0) |
373 self.UpInstanceButton.Enable(row > 0 and |
375 self.UpInstanceButton.Enable( |
|
376 row > 0 and |
374 self.InstancesTable.GetValueByName(row, "Task") == self.InstancesTable.GetValueByName(row - 1, "Task")) |
377 self.InstancesTable.GetValueByName(row, "Task") == self.InstancesTable.GetValueByName(row - 1, "Task")) |
375 self.DownInstanceButton.Enable(0 <= row < rows - 1 and |
378 self.DownInstanceButton.Enable( |
|
379 0 <= row < rows - 1 and |
376 self.InstancesTable.GetValueByName(row, "Task") == self.InstancesTable.GetValueByName(row + 1, "Task")) |
380 self.InstancesTable.GetValueByName(row, "Task") == self.InstancesTable.GetValueByName(row + 1, "Task")) |
377 setattr(self.InstancesGrid, "RefreshButtons", _RefreshInstanceButtons) |
381 setattr(self.InstancesGrid, "RefreshButtons", _RefreshInstanceButtons) |
378 |
382 |
379 self.InstancesGrid.SetRowLabelSize(0) |
383 self.InstancesGrid.SetRowLabelSize(0) |
380 self.InstancesTable.ResetView(self.InstancesGrid) |
384 self.InstancesTable.ResetView(self.InstancesGrid) |