--- 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)