diff -r 95a0a427f3ef -r 131ea7f237b9 RessourceEditor.py --- a/RessourceEditor.py Fri Jun 15 18:03:25 2012 +0200 +++ b/RessourceEditor.py Mon Jun 25 20:03:53 2012 +0200 @@ -23,10 +23,12 @@ #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA import wx +import wx.lib.buttons import wx.grid from graphics.GraphicCommons import REFRESH_HIGHLIGHT_PERIOD from controls import CustomGrid, CustomTable, EditorPanel, DurationCellEditor +from utils.BitmapLibrary import GetBitmap #------------------------------------------------------------------------------- # Configuration Editor class @@ -187,149 +189,81 @@ if len(col_highlights) == 0: row_highlights.pop(col) -[ID_RESOURCEEDITOR, ID_RESOURCEEDITORPANEL, ID_RESOURCEEDITORSTATICTEXT1, - ID_RESOURCEEDITORSTATICTEXT2, ID_RESOURCEEDITORINSTANCESGRID, - ID_RESOURCEEDITORTASKSGRID, ID_RESOURCEEDITORADDINSTANCEBUTTON, - ID_RESOURCEEDITORDELETEINSTANCEBUTTON, ID_RESOURCEEDITORUPINSTANCEBUTTON, - ID_RESOURCEEDITORDOWNINSTANCEBUTTON, ID_RESOURCEEDITORADDTASKBUTTON, - ID_RESOURCEEDITORDELETETASKBUTTON, ID_RESOURCEEDITORUPTASKBUTTON, - ID_RESOURCEEDITORDOWNTASKBUTTON, -] = [wx.NewId() for _init_ctrls in range(14)] + class ResourceEditor(EditorPanel): - ID = ID_RESOURCEEDITOR VARIABLE_PANEL_TYPE = "resource" - - def _init_coll_InstancesSizer_Growables(self, parent): - parent.AddGrowableCol(0) - parent.AddGrowableRow(1) - - def _init_coll_InstancesSizer_Items(self, parent): - parent.AddSizer(self.InstancesButtonsSizer, 0, border=0, flag=wx.GROW) - parent.AddWindow(self.InstancesGrid, 0, border=0, flag=wx.GROW) - - def _init_coll_InstancesButtonsSizer_Growables(self, parent): - parent.AddGrowableCol(0) - parent.AddGrowableRow(0) - - def _init_coll_InstancesButtonsSizer_Items(self, parent): - parent.AddWindow(self.staticText2, 0, border=0, flag=wx.ALIGN_BOTTOM) - parent.AddWindow(self.AddInstanceButton, 0, border=0, flag=0) - parent.AddWindow(self.DeleteInstanceButton, 0, border=0, flag=0) - parent.AddWindow(self.UpInstanceButton, 0, border=0, flag=0) - parent.AddWindow(self.DownInstanceButton, 0, border=0, flag=0) - - def _init_coll_TasksSizer_Growables(self, parent): - parent.AddGrowableCol(0) - parent.AddGrowableRow(1) - - def _init_coll_TasksSizer_Items(self, parent): - parent.AddSizer(self.TasksButtonsSizer, 0, border=0, flag=wx.GROW) - parent.AddWindow(self.TasksGrid, 0, border=0, flag=wx.GROW) - - def _init_coll_TasksButtonsSizer_Growables(self, parent): - parent.AddGrowableCol(0) - parent.AddGrowableRow(0) - - def _init_coll_TasksButtonsSizer_Items(self, parent): - parent.AddWindow(self.staticText1, 0, border=0, flag=wx.ALIGN_BOTTOM) - parent.AddWindow(self.AddTaskButton, 0, border=0, flag=0) - parent.AddWindow(self.DeleteTaskButton, 0, border=0, flag=0) - parent.AddWindow(self.UpTaskButton, 0, border=0, flag=0) - parent.AddWindow(self.DownTaskButton, 0, border=0, flag=0) - - def _init_coll_MainGridSizer_Items(self, parent): - parent.AddSizer(self.TasksSizer, 0, border=5, flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) - parent.AddSizer(self.InstancesSizer, 0, border=5, flag=wx.GROW|wx.BOTTOM|wx.LEFT|wx.RIGHT) - - def _init_coll_MainGridSizer_Growables(self, parent): - parent.AddGrowableCol(0) - parent.AddGrowableRow(0) - parent.AddGrowableRow(1) - - def _init_sizers(self): - self.MainGridSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) - self.InstancesSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) - self.InstancesButtonsSizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) - self.TasksSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) - self.TasksButtonsSizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) - - self._init_coll_MainGridSizer_Growables(self.MainGridSizer) - self._init_coll_MainGridSizer_Items(self.MainGridSizer) - self._init_coll_InstancesSizer_Growables(self.InstancesSizer) - self._init_coll_InstancesSizer_Items(self.InstancesSizer) - self._init_coll_InstancesButtonsSizer_Growables(self.InstancesButtonsSizer) - self._init_coll_InstancesButtonsSizer_Items(self.InstancesButtonsSizer) - self._init_coll_TasksSizer_Growables(self.TasksSizer) - self._init_coll_TasksSizer_Items(self.TasksSizer) - self._init_coll_TasksButtonsSizer_Growables(self.TasksButtonsSizer) - self._init_coll_TasksButtonsSizer_Items(self.TasksButtonsSizer) - - self.Editor.SetSizer(self.MainGridSizer) - - def _init_Editor(self, prnt): - self.Editor = wx.Panel(id=ID_RESOURCEEDITORPANEL, name='ResourceEditor', parent=prnt, - size=wx.Size(0, 0), style=wx.SUNKEN_BORDER|wx.TAB_TRAVERSAL) - - self.staticText1 = wx.StaticText(id=ID_RESOURCEEDITORSTATICTEXT1, - label=_(u'Tasks:'), name='staticText2', parent=self.Editor, pos=wx.Point(0, - 0), size=wx.DefaultSize, style=0) - - self.TasksGrid = CustomGrid(id=ID_RESOURCEEDITORTASKSGRID, - name='TasksGrid', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.Size(-1, -1), style=wx.VSCROLL) - if wx.VERSION >= (2, 6, 0): - self.TasksGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnTasksGridCellChange) - else: - wx.grid.EVT_GRID_CELL_CHANGE(self.TasksGrid, self.OnTasksGridCellChange) - - self.AddTaskButton = wx.Button(id=ID_RESOURCEEDITORADDTASKBUTTON, label=_('Add Task'), - name='AddTaskButton', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.DefaultSize, style=0) - - self.DeleteTaskButton = wx.Button(id=ID_RESOURCEEDITORDELETETASKBUTTON, label=_('Delete Task'), - name='DeleteTaskButton', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.DefaultSize, style=0) - - self.UpTaskButton = wx.Button(id=ID_RESOURCEEDITORUPTASKBUTTON, label='^', - name='UpTaskButton', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.Size(32, -1), style=0) - - self.DownTaskButton = wx.Button(id=ID_RESOURCEEDITORDOWNTASKBUTTON, label='v', - name='DownTaskButton', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.Size(32, -1), style=0) - - self.staticText2 = wx.StaticText(id=ID_RESOURCEEDITORSTATICTEXT2, - label=_(u'Instances:'), name='staticText1', parent=self.Editor, - pos=wx.Point(0, 0), size=wx.DefaultSize, style=0) - - self.InstancesGrid = CustomGrid(id=ID_RESOURCEEDITORINSTANCESGRID, - name='InstancesGrid', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.Size(-1, -1), style=wx.VSCROLL) - if wx.VERSION >= (2, 6, 0): - self.InstancesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnInstancesGridCellChange) - else: - wx.grid.EVT_GRID_CELL_CHANGE(self.InstancesGrid, self.OnInstancesGridCellChange) - - self.AddInstanceButton = wx.Button(id=ID_RESOURCEEDITORADDINSTANCEBUTTON, label=_('Add Instance'), - name='AddInstanceButton', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.DefaultSize, style=0) - - self.DeleteInstanceButton = wx.Button(id=ID_RESOURCEEDITORDELETEINSTANCEBUTTON, label=_('Delete Instance'), - name='DeleteInstanceButton', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.DefaultSize, style=0) - - self.UpInstanceButton = wx.Button(id=ID_RESOURCEEDITORUPINSTANCEBUTTON, label='^', - name='UpInstanceButton', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.Size(32, -1), style=0) - - self.DownInstanceButton = wx.Button(id=ID_RESOURCEEDITORDOWNINSTANCEBUTTON, label='v', - name='DownInstanceButton', parent=self.Editor, pos=wx.Point(0, 0), - size=wx.Size(32, -1), style=0) - - self._init_sizers() - + + def _init_Editor(self, parent): + self.Editor = wx.Panel(parent, style=wx.SUNKEN_BORDER|wx.TAB_TRAVERSAL) + + main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) + main_sizer.AddGrowableCol(0) + main_sizer.AddGrowableRow(0) + main_sizer.AddGrowableRow(1) + + tasks_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) + tasks_sizer.AddGrowableCol(0) + tasks_sizer.AddGrowableRow(1) + main_sizer.AddSizer(tasks_sizer, border=5, + flag=wx.GROW|wx.TOP|wx.LEFT|wx.RIGHT) + + tasks_buttons_sizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) + tasks_buttons_sizer.AddGrowableCol(0) + tasks_buttons_sizer.AddGrowableRow(0) + tasks_sizer.AddSizer(tasks_buttons_sizer, flag=wx.GROW) + + tasks_label = wx.StaticText(self.Editor, label=_(u'Tasks:')) + tasks_buttons_sizer.AddWindow(tasks_label, flag=wx.ALIGN_BOTTOM) + + for name, bitmap, help in [ + ("AddTaskButton", "add_element", _("Add task")), + ("DeleteTaskButton", "remove_element", _("Remove task")), + ("UpTaskButton", "up", _("Move task up")), + ("DownTaskButton", "down", _("Move task down"))]: + button = wx.lib.buttons.GenBitmapButton(self.Editor, + bitmap=GetBitmap(bitmap), size=wx.Size(28, 28), style=wx.NO_BORDER) + button.SetToolTipString(help) + setattr(self, name, button) + tasks_buttons_sizer.AddWindow(button) + + self.TasksGrid = CustomGrid(self.Editor, style=wx.VSCROLL) + self.TasksGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, self.OnTasksGridCellChange) + tasks_sizer.AddWindow(self.TasksGrid, flag=wx.GROW) + + instances_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) + instances_sizer.AddGrowableCol(0) + instances_sizer.AddGrowableRow(1) + main_sizer.AddSizer(instances_sizer, border=5, + flag=wx.GROW|wx.BOTTOM|wx.LEFT|wx.RIGHT) + + instances_buttons_sizer = wx.FlexGridSizer(cols=5, hgap=5, rows=1, vgap=0) + instances_buttons_sizer.AddGrowableCol(0) + instances_buttons_sizer.AddGrowableRow(0) + instances_sizer.AddSizer(instances_buttons_sizer, flag=wx.GROW) + + instances_label = wx.StaticText(self.Editor, label=_(u'Instances:')) + instances_buttons_sizer.AddWindow(instances_label, flag=wx.ALIGN_BOTTOM) + + for name, bitmap, help in [ + ("AddInstanceButton", "add_element", _("Add instance")), + ("DeleteInstanceButton", "remove_element", _("Remove instance")), + ("UpInstanceButton", "up", _("Move instance up")), + ("DownInstanceButton", "down", _("Move instance down"))]: + button = wx.lib.buttons.GenBitmapButton(self.Editor, + bitmap=GetBitmap(bitmap), size=wx.Size(28, 28), style=wx.NO_BORDER) + button.SetToolTipString(help) + setattr(self, name, button) + instances_buttons_sizer.AddWindow(button) + + self.InstancesGrid = CustomGrid(self.Editor, style=wx.VSCROLL) + self.InstancesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, + self.OnInstancesGridCellChange) + instances_sizer.AddWindow(self.InstancesGrid, flag=wx.GROW) + + self.Editor.SetSizer(main_sizer) + def __init__(self, parent, tagname, window, controler): EditorPanel.__init__(self, parent, tagname, window, controler)