--- a/DataTypeEditor.py Fri Jul 24 12:49:57 2009 +0200
+++ b/DataTypeEditor.py Fri Jul 24 17:12:59 2009 +0200
@@ -41,6 +41,10 @@
# Structure Elements Table
#-------------------------------------------------------------------------------
+def GetElementsTableColnames():
+ _ = lambda x : x
+ return ["#", _("Name"), _("Type"), _("Initial Value")]
+
class ElementsTable(wx.grid.PyGridTableBase):
"""
@@ -66,23 +70,25 @@
def GetNumberRows(self):
return len(self.data)
- def GetColLabelValue(self, col):
+ def GetColLabelValue(self, col, translate=True):
if col < len(self.colnames):
+ if translate:
+ return _(self.colnames[col])
return self.colnames[col]
- def GetRowLabelValues(self, row):
+ def GetRowLabelValues(self, row, translate=True):
return row
def GetValue(self, row, col):
if row < self.GetNumberRows():
if col == 0:
return row + 1
- name = str(self.data[row].get(self.GetColLabelValue(col), ""))
+ name = str(self.data[row].get(self.GetColLabelValue(col, False), ""))
return name
def SetValue(self, row, col, value):
if col < len(self.colnames):
- colname = self.GetColLabelValue(col)
+ colname = self.GetColLabelValue(col, False)
if colname == "Name":
self.old_value = self.data[row][colname]
self.data[row][colname] = value
@@ -140,13 +146,11 @@
Otherwise default to the default renderer.
"""
- typelist = None
- accesslist = None
for row in range(self.GetNumberRows()):
for col in range(self.GetNumberCols()):
editor = None
renderer = None
- colname = self.GetColLabelValue(col)
+ colname = self.GetColLabelValue(col, False)
if col != 0:
grid.SetReadOnly(row, col, False)
if colname == "Name":
@@ -227,6 +231,11 @@
ID_DATATYPEEDITORSTATICTEXT11,
] = [wx.NewId() for _init_ctrls in range(35)]
+def GetDatatypeTypes():
+ _ = lambda x : x
+ return [_("Directly"), _("Subrange"), _("Enumerated"), _("Array"), _("Structure")]
+DATATYPE_TYPES_DICT = dict([(_(datatype), datatype) for datatype in GetDatatypeTypes()])
+
class DataTypeEditor(wx.Panel):
def _init_coll_MainSizer_Items(self, parent):
@@ -238,8 +247,8 @@
parent.AddGrowableRow(1)
def _init_coll_TopSizer_Items(self, parent):
- parent.AddWindow(self.staticText1, 0, border=5, flag=wx.GROW|wx.LEFT)
- parent.AddWindow(self.DerivationType, 0, border=0, flag=wx.GROW)
+ parent.AddWindow(self.staticText1, 0, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.LEFT|wx.RIGHT)
+ parent.AddWindow(self.DerivationType, 0, border=5, flag=wx.GROW|wx.RIGHT)
def _init_coll_TypeInfosSizer_Items(self, parent):
parent.AddWindow(self.DirectlyPanel, 1, border=0, flag=wx.ALL)
@@ -249,31 +258,34 @@
parent.AddWindow(self.StructurePanel, 1, border=0, flag=wx.GROW|wx.ALL)
def _init_coll_DirectlyPanelSizer_Items(self, parent):
- parent.AddWindow(self.staticText2, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText2, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.DirectlyBaseType, 1, border=5, flag=wx.GROW|wx.ALL)
- parent.AddWindow(self.staticText3, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText3, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.DirectlyInitialValue, 1, border=5, flag=wx.GROW|wx.ALL)
def _init_coll_SubrangePanelSizer_Items(self, parent):
- parent.AddWindow(self.staticText4, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText4, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.SubrangeBaseType, 1, border=5, flag=wx.GROW|wx.ALL)
- parent.AddWindow(self.staticText5, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText5, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.SubrangeInitialValue, 1, border=5, flag=wx.GROW|wx.ALL)
- parent.AddWindow(self.staticText6, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText6, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.SubrangeMinimum, 1, border=5, flag=wx.GROW|wx.ALL)
parent.AddWindow(wx.Size(0, 0), 1, border=5, flag=wx.GROW|wx.ALL)
parent.AddWindow(wx.Size(0, 0), 1, border=5, flag=wx.GROW|wx.ALL)
- parent.AddWindow(self.staticText7, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText7, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.SubrangeMaximum, 1, border=5, flag=wx.GROW|wx.ALL)
def _init_coll_EnumeratedPanelSizer_Items(self, parent):
- parent.AddWindow(self.EnumeratedValues, 2, border=5, flag=wx.GROW|wx.ALL)
- parent.AddWindow(self.staticText8, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.EnumeratedValues, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddSizer(self.EnumeratedPanelRightSizer, 1, border=0, flag=0)
+
+ def _init_coll_EnumeratedPanelRightSizer_Items(self, parent):
+ parent.AddWindow(self.staticText8, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.EnumeratedInitialValue, 1, border=5, flag=wx.ALL)
def _init_coll_ArrayPanelSizer_Items(self, parent):
parent.AddSizer(self.ArrayPanelLeftSizer, 0, border=0, flag=wx.GROW)
- parent.AddSizer(self.ArrayPanelRightSizer, 0, border=0, flag=wx.GROW)
+ parent.AddSizer(self.ArrayPanelRightSizer, 0, border=0, flag=0)
parent.AddWindow(self.ArrayDimensions, 0, border=5, flag=wx.GROW|wx.ALL)
def _init_coll_ArrayPanelSizer_Growables(self, parent):
@@ -282,15 +294,15 @@
parent.AddGrowableRow(1)
def _init_coll_ArrayPanelLeftSizer_Items(self, parent):
- parent.AddWindow(self.staticText9, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText9, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.ArrayBaseType, 1, border=5, flag=wx.GROW|wx.ALL)
def _init_coll_ArrayPanelRightSizer_Items(self, parent):
- parent.AddWindow(self.staticText10, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText10, 1, border=5, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
parent.AddWindow(self.ArrayInitialValue, 1, border=5, flag=wx.GROW|wx.ALL)
def _init_coll_StructurePanelSizer_Items(self, parent):
- parent.AddWindow(self.staticText11, 0, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.staticText11, 0, border=5, flag=wx.ALL)
parent.AddWindow(self.StructureElementsGrid, 0, border=0, flag=wx.GROW)
parent.AddSizer(self.StructurePanelButtonSizer, 0, border=0, flag=wx.ALIGN_RIGHT)
@@ -299,22 +311,23 @@
parent.AddGrowableRow(1)
def _init_coll_StructurePanelButtonSizer_Items(self, parent):
- parent.AddWindow(self.StructureAddButton, 1, border=5, flag=wx.GROW|wx.ALL)
- parent.AddWindow(self.StructureDeleteButton, 1, border=5, flag=wx.GROW|wx.ALL)
- parent.AddWindow(self.StructureUpButton, 1, border=5, flag=wx.GROW|wx.ALL)
- parent.AddWindow(self.StructureDownButton, 1, border=5, flag=wx.GROW|wx.ALL)
+ parent.AddWindow(self.StructureAddButton, 0, border=5, flag=wx.ALL)
+ parent.AddWindow(self.StructureDeleteButton, 0, border=5, flag=wx.ALL)
+ parent.AddWindow(self.StructureUpButton, 0, border=5, flag=wx.ALL)
+ parent.AddWindow(self.StructureDownButton, 0, border=5, flag=wx.ALL)
def _init_sizers(self):
self.MainSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10)
self.TopSizer = wx.BoxSizer(wx.HORIZONTAL)
self.TypeInfosSizer = wx.StaticBoxSizer(self.staticbox, wx.HORIZONTAL)
self.DirectlyPanelSizer = wx.BoxSizer(wx.HORIZONTAL)
- self.SubrangePanelSizer = wx.GridSizer(cols=4, hgap=0, rows=3, vgap=0)
+ self.SubrangePanelSizer = wx.GridSizer(cols=4, hgap=5, rows=3, vgap=0)
self.EnumeratedPanelSizer = wx.BoxSizer(wx.HORIZONTAL)
- self.ArrayPanelSizer = wx.FlexGridSizer(cols=2, hgap=0, rows=2, vgap=0)
+ self.EnumeratedPanelRightSizer = wx.BoxSizer(wx.HORIZONTAL)
+ self.ArrayPanelSizer = wx.FlexGridSizer(cols=2, hgap=5, rows=2, vgap=0)
self.ArrayPanelLeftSizer = wx.BoxSizer(wx.HORIZONTAL)
self.ArrayPanelRightSizer = wx.BoxSizer(wx.HORIZONTAL)
- self.StructurePanelSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=3, vgap=0)
+ self.StructurePanelSizer = wx.FlexGridSizer(cols=1, hgap=5, rows=3, vgap=0)
self.StructurePanelButtonSizer = wx.BoxSizer(wx.HORIZONTAL)
self._init_coll_MainSizer_Items(self.MainSizer)
self._init_coll_MainSizer_Growables(self.MainSizer)
@@ -323,6 +336,7 @@
self._init_coll_DirectlyPanelSizer_Items(self.DirectlyPanelSizer)
self._init_coll_SubrangePanelSizer_Items(self.SubrangePanelSizer)
self._init_coll_EnumeratedPanelSizer_Items(self.EnumeratedPanelSizer)
+ self._init_coll_EnumeratedPanelRightSizer_Items(self.EnumeratedPanelRightSizer)
self._init_coll_ArrayPanelSizer_Items(self.ArrayPanelSizer)
self._init_coll_ArrayPanelSizer_Growables(self.ArrayPanelSizer)
self._init_coll_ArrayPanelLeftSizer_Items(self.ArrayPanelLeftSizer)
@@ -343,12 +357,12 @@
size=wx.Size(0, 0), style=wx.SUNKEN_BORDER)
self.staticbox = wx.StaticBox(id=ID_DATATYPEEDITORSTATICBOX,
- label='Type infos:', name='staticBox1', parent=self,
- pos=wx.Point(0, 0), size=wx.Size(10, 0), style=0)
+ label=_('Type infos:'), name='staticBox1', parent=self,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.staticText1 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT1,
- label='Derivation Type:', name='staticText1', parent=self,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Derivation Type:'), name='staticText1', parent=self,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.DerivationType = wx.ComboBox(id=ID_DATATYPEEDITORDERIVATIONTYPE,
name='DerivationType', parent=self, pos=wx.Point(0, 0),
@@ -362,8 +376,8 @@
size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
self.staticText2 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT2,
- label='Base Type:', name='staticText2', parent=self.DirectlyPanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Base Type:'), name='staticText2', parent=self.DirectlyPanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.DirectlyBaseType = wx.ComboBox(id=ID_DATATYPEEDITORDIRECTLYBASETYPE,
name='DirectlyBaseType', parent=self.DirectlyPanel, pos=wx.Point(0, 0),
@@ -371,8 +385,8 @@
self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, id=ID_DATATYPEEDITORDIRECTLYBASETYPE)
self.staticText3 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT3,
- label='Initial Value:', name='staticText3', parent=self.DirectlyPanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Initial Value:'), name='staticText3', parent=self.DirectlyPanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.DirectlyInitialValue = wx.TextCtrl(id=ID_DATATYPEEDITORDIRECTLYINITIALVALUE,
name='DirectlyInitialValue', parent=self.DirectlyPanel, pos=wx.Point(0, 0),
@@ -386,8 +400,8 @@
size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
self.staticText4 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT4,
- label='Base Type:', name='staticText4', parent=self.SubrangePanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Base Type:'), name='staticText4', parent=self.SubrangePanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.SubrangeBaseType = wx.ComboBox(id=ID_DATATYPEEDITORSUBRANGEBASETYPE,
name='SubrangeBaseType', parent=self.SubrangePanel, pos=wx.Point(0, 0),
@@ -395,8 +409,8 @@
self.Bind(wx.EVT_COMBOBOX, self.OnSubrangeBaseTypeChanged, id=ID_DATATYPEEDITORSUBRANGEBASETYPE)
self.staticText5 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT5,
- label='Initial Value:', name='staticText5', parent=self.SubrangePanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Initial Value:'), name='staticText5', parent=self.SubrangePanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.SubrangeInitialValue = wx.SpinCtrl(id=ID_DATATYPEEDITORSUBRANGEINITIALVALUE,
name='SubrangeInitialValue', parent=self.SubrangePanel, pos=wx.Point(0, 0),
@@ -404,8 +418,8 @@
self.Bind(wx.EVT_SPINCTRL, self.OnInfosChanged, id=ID_DATATYPEEDITORSUBRANGEINITIALVALUE)
self.staticText6 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT6,
- label='Minimum:', name='staticText6', parent=self.SubrangePanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Minimum:'), name='staticText6', parent=self.SubrangePanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.SubrangeMinimum = wx.SpinCtrl(id=ID_DATATYPEEDITORSUBRANGEMINIMUM,
name='SubrangeMinimum', parent=self.SubrangePanel, pos=wx.Point(0, 0),
@@ -413,8 +427,8 @@
self.Bind(wx.EVT_SPINCTRL, self.OnSubrangeMinimumChanged, id=ID_DATATYPEEDITORSUBRANGEMINIMUM)
self.staticText7 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT7,
- label='Maximum:', name='staticText7', parent=self.SubrangePanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Maximum:'), name='staticText7', parent=self.SubrangePanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.SubrangeMaximum = wx.SpinCtrl(id=ID_DATATYPEEDITORSUBRANGEMAXIMUM,
name='SubrangeMaximum', parent=self.SubrangePanel, pos=wx.Point(0, 0),
@@ -428,17 +442,26 @@
size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
self.EnumeratedValues = wx.gizmos.EditableListBox(id=ID_DATATYPEEDITORENUMERATEDVALUES,
- name='EnumeratedValues', parent=self.EnumeratedPanel, label="Values:", pos=wx.Point(0, 0),
+ name='EnumeratedValues', parent=self.EnumeratedPanel, label=_("Values:"), pos=wx.Point(0, 0),
size=wx.Size(0, 0), style=wx.gizmos.EL_ALLOW_NEW | wx.gizmos.EL_ALLOW_EDIT | wx.gizmos.EL_ALLOW_DELETE)
self.EnumeratedValues.GetListCtrl().Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnEnumeratedValueEndEdit)
- self.EnumeratedValues.GetNewButton().Bind(wx.EVT_BUTTON, self.OnEnumeratedValuesChanged)
- self.EnumeratedValues.GetDelButton().Bind(wx.EVT_BUTTON, self.OnEnumeratedValuesChanged)
- self.EnumeratedValues.GetUpButton().Bind(wx.EVT_BUTTON, self.OnEnumeratedValuesChanged)
- self.EnumeratedValues.GetDownButton().Bind(wx.EVT_BUTTON, self.OnEnumeratedValuesChanged)
+ self.EnumeratedValues.GetEditButton().SetToolTipString(_("Edit item"))
+ new_button = self.EnumeratedValues.GetNewButton()
+ new_button.SetToolTipString(_("New item"))
+ new_button.Bind(wx.EVT_BUTTON, self.OnEnumeratedValuesChanged)
+ del_button = self.EnumeratedValues.GetDelButton()
+ del_button.SetToolTipString(_("Delete item"))
+ del_button.Bind(wx.EVT_BUTTON, self.OnEnumeratedValuesChanged)
+ up_button = self.EnumeratedValues.GetUpButton()
+ up_button.SetToolTipString(_("Move up"))
+ up_button.Bind(wx.EVT_BUTTON, self.OnEnumeratedValuesChanged)
+ down_button = self.EnumeratedValues.GetDownButton()
+ down_button.SetToolTipString(_("Move down"))
+ down_button.Bind(wx.EVT_BUTTON, self.OnEnumeratedValuesChanged)
self.staticText8 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT8,
- label='Initial Value:', name='staticText8', parent=self.EnumeratedPanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Initial Value:'), name='staticText8', parent=self.EnumeratedPanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.EnumeratedInitialValue = wx.ComboBox(id=ID_DATATYPEEDITORENUMERATEDINITIALVALUE,
name='EnumeratedInitialValue', parent=self.EnumeratedPanel, pos=wx.Point(0, 0),
@@ -452,8 +475,8 @@
size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
self.staticText9 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT9,
- label='Base Type:', name='staticText9', parent=self.ArrayPanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Base Type:'), name='staticText9', parent=self.ArrayPanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.ArrayBaseType = wx.ComboBox(id=ID_DATATYPEEDITORARRAYBASETYPE,
name='SubrangeBaseType', parent=self.ArrayPanel, pos=wx.Point(0, 0),
@@ -461,17 +484,26 @@
self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, id=ID_DATATYPEEDITORARRAYBASETYPE)
self.ArrayDimensions = wx.gizmos.EditableListBox(id=ID_DATATYPEEDITORARRAYDIMENSIONS,
- name='ArrayDimensions', parent=self.ArrayPanel, label="Dimensions:", pos=wx.Point(0, 0),
+ name='ArrayDimensions', parent=self.ArrayPanel, label=_("Dimensions:"), pos=wx.Point(0, 0),
size=wx.Size(0, 24), style=wx.gizmos.EL_ALLOW_NEW | wx.gizmos.EL_ALLOW_EDIT | wx.gizmos.EL_ALLOW_DELETE)
self.ArrayDimensions.GetListCtrl().Bind(wx.EVT_LIST_END_LABEL_EDIT, self.OnDimensionsChanged)
- self.ArrayDimensions.GetNewButton().Bind(wx.EVT_BUTTON, self.OnDimensionsChanged)
- self.ArrayDimensions.GetDelButton().Bind(wx.EVT_BUTTON, self.OnDimensionsChanged)
- self.ArrayDimensions.GetUpButton().Bind(wx.EVT_BUTTON, self.OnDimensionsChanged)
- self.ArrayDimensions.GetDownButton().Bind(wx.EVT_BUTTON, self.OnDimensionsChanged)
+ self.ArrayDimensions.GetEditButton().SetToolTipString(_("Edit item"))
+ new_button = self.ArrayDimensions.GetNewButton()
+ new_button.SetToolTipString(_("New item"))
+ new_button.Bind(wx.EVT_BUTTON, self.OnDimensionsChanged)
+ del_button = self.ArrayDimensions.GetDelButton()
+ del_button.SetToolTipString(_("Delete item"))
+ del_button.Bind(wx.EVT_BUTTON, self.OnDimensionsChanged)
+ up_button = self.ArrayDimensions.GetUpButton()
+ up_button.SetToolTipString(_("Move up"))
+ up_button.Bind(wx.EVT_BUTTON, self.OnDimensionsChanged)
+ down_button = self.ArrayDimensions.GetDownButton()
+ down_button.SetToolTipString(_("Move down"))
+ down_button.Bind(wx.EVT_BUTTON, self.OnDimensionsChanged)
self.staticText10 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT10,
- label='Initial Value:', name='staticText10', parent=self.ArrayPanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Initial Value:'), name='staticText10', parent=self.ArrayPanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.ArrayInitialValue = wx.TextCtrl(id=ID_DATATYPEEDITORARRAYINITIALVALUE,
name='ArrayInitialValue', parent=self.ArrayPanel, pos=wx.Point(0, 0),
@@ -485,8 +517,8 @@
size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
self.staticText11 = wx.StaticText(id=ID_DATATYPEEDITORSTATICTEXT11,
- label='Elements :', name='staticText11', parent=self.StructurePanel,
- pos=wx.Point(0, 0), size=wx.Size(150, 17), style=0)
+ label=_('Elements :'), name='staticText11', parent=self.StructurePanel,
+ pos=wx.Point(0, 0), size=wx.DefaultSize, style=0)
self.StructureElementsGrid = wx.grid.Grid(id=ID_DATATYPEEDITORSTRUCTUREELEMENTSGRID,
name='StructureElementsGrid', parent=self.StructurePanel, pos=wx.Point(0, 0),
@@ -504,14 +536,14 @@
wx.grid.EVT_GRID_CELL_CHANGE(self.StructureElementsGrid, self.OnStructureElementsGridCellChange)
wx.grid.EVT_GRID_EDITOR_SHOWN(self.StructureElementsGrid, self.OnStructureElementsGridEditorShown)
- self.StructureAddButton = wx.Button(id=ID_DATATYPEEDITORSTRUCTUREADDBUTTON, label='Add',
+ self.StructureAddButton = wx.Button(id=ID_DATATYPEEDITORSTRUCTUREADDBUTTON, label=_('Add'),
name='StructureAddButton', parent=self.StructurePanel, pos=wx.Point(0, 0),
- size=wx.Size(72, 32), style=0)
+ size=wx.DefaultSize, style=0)
self.Bind(wx.EVT_BUTTON, self.OnStructureAddButton, id=ID_DATATYPEEDITORSTRUCTUREADDBUTTON)
- self.StructureDeleteButton = wx.Button(id=ID_DATATYPEEDITORSTRUCTUREDELETEBUTTON, label='Delete',
+ self.StructureDeleteButton = wx.Button(id=ID_DATATYPEEDITORSTRUCTUREDELETEBUTTON, label=_('Delete'),
name='StructureDeleteButton', parent=self.StructurePanel, pos=wx.Point(0, 0),
- size=wx.Size(72, 32), style=0)
+ size=wx.DefaultSize, style=0)
self.Bind(wx.EVT_BUTTON, self.OnStructureDeleteButton, id=ID_DATATYPEEDITORSTRUCTUREDELETEBUTTON)
self.StructureUpButton = wx.Button(id=ID_DATATYPEEDITORSTRUCTUREUPBUTTON, label='^',
@@ -530,7 +562,7 @@
self._init_ctrls(parent)
self.StructureElementDefaultValue = {"Name" : "", "Type" : "INT", "Initial Value" : ""}
- self.StructureElementsTable = ElementsTable(self, [], ["#", "Name", "Type", "Initial Value"])
+ self.StructureElementsTable = ElementsTable(self, [], GetElementsTableColnames())
self.StructureColSizes = [40, 150, 100, 250]
self.StructureColAlignements = [wx.ALIGN_CENTER, wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_LEFT]
@@ -540,13 +572,11 @@
attr = wx.grid.GridCellAttr()
attr.SetAlignment(self.StructureColAlignements[col], wx.ALIGN_CENTRE)
self.StructureElementsGrid.SetColAttr(col, attr)
- self.StructureElementsGrid.SetColSize(col, self.StructureColSizes[col])
-
- self.DerivationType.Append("Directly")
- self.DerivationType.Append("Subrange")
- self.DerivationType.Append("Enumerated")
- self.DerivationType.Append("Array")
- self.DerivationType.Append("Structure")
+ self.StructureElementsGrid.SetColMinimalWidth(col, self.StructureColSizes[col])
+ self.StructureElementsGrid.AutoSizeColumn(col, False)
+
+ for datatype in GetDatatypeTypes():
+ self.DerivationType.Append(_(datatype))
self.SubrangePanel.Hide()
self.EnumeratedPanel.Hide()
self.ArrayPanel.Hide()
@@ -590,7 +620,8 @@
self.RefreshBoundsRange()
type_infos = self.Controler.GetDataTypeInfos(self.TagName)
if type_infos is not None:
- self.DerivationType.SetStringSelection(type_infos["type"])
+ datatype = type_infos["type"]
+ self.DerivationType.SetStringSelection(_(datatype))
if type_infos["type"] == "Directly":
self.DirectlyBaseType.SetStringSelection(type_infos["base_type"])
self.DirectlyInitialValue.SetValue(type_infos["initial"])
@@ -663,12 +694,12 @@
index = event.GetIndex()
if index >= len(values) or values[index].upper() != text.upper():
if text.upper() in [value.upper() for value in values]:
- message = wx.MessageDialog(self, "\"%s\" value already defined!"%text, "Error", wx.OK|wx.ICON_ERROR)
+ message = wx.MessageDialog(self, _("\"%s\" value already defined!")%text, _("Error"), wx.OK|wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
event.Veto()
elif text.upper() in IEC_KEYWORDS:
- message = wx.MessageDialog(self, "\"%s\" is a keyword. It can't be used!"%text, "Error", wx.OK|wx.ICON_ERROR)
+ message = wx.MessageDialog(self, _("\"%s\" is a keyword. It can't be used!")%text, _("Error"), wx.OK|wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
else:
@@ -723,12 +754,12 @@
value = self.StructureElementsTable.GetValue(row, col)
if colname == "Name":
if not TestIdentifier(value):
- message = wx.MessageDialog(self, "\"%s\" is not a valid identifier!"%value, "Error", wx.OK|wx.ICON_ERROR)
+ message = wx.MessageDialog(self, _("\"%s\" is not a valid identifier!")%value, _("Error"), wx.OK|wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
event.Veto()
elif value.upper() in IEC_KEYWORDS:
- message = wx.MessageDialog(self, "\"%s\" is a keyword. It can't be used!"%value, "Error", wx.OK|wx.ICON_ERROR)
+ message = wx.MessageDialog(self, _("\"%s\" is a keyword. It can't be used!")%value, _("Error"), wx.OK|wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
event.Veto()
@@ -738,7 +769,7 @@
## message.Destroy()
## event.Veto()
elif value.upper() in [var["Name"].upper() for idx, var in enumerate(self.StructureElementsTable.GetData()) if idx != row]:
- message = wx.MessageDialog(self, "A element with \"%s\" as name exists in this structure!"%value, "Error", wx.OK|wx.ICON_ERROR)
+ message = wx.MessageDialog(self, _("A element with \"%s\" as name exists in this structure!")%value, _("Error"), wx.OK|wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
event.Veto()
@@ -764,13 +795,13 @@
new_id = wx.NewId()
AppendMenu(base_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=base_type)
self.Bind(wx.EVT_MENU, self.GetElementTypeFunction(base_type), id=new_id)
- type_menu.AppendMenu(wx.NewId(), "Base Types", base_menu)
+ type_menu.AppendMenu(wx.NewId(), _("Base Types"), base_menu)
datatype_menu = wx.Menu(title='')
for datatype in self.Controler.GetDataTypes(self.TagName, False, self.ParentWindow.Debug):
new_id = wx.NewId()
AppendMenu(datatype_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=datatype)
self.Bind(wx.EVT_MENU, self.GetElementTypeFunction(datatype), id=new_id)
- type_menu.AppendMenu(wx.NewId(), "User Data Types", datatype_menu)
+ type_menu.AppendMenu(wx.NewId(), _("User Data Types"), datatype_menu)
## functionblock_menu = wx.Menu(title='')
## bodytype = self.Controler.GetEditedElementBodyType(self.TagName, self.ParentWindow.Debug)
## pouname, poutype = self.Controler.GetEditedElementType(self.TagName, self.ParentWindow.Debug)
@@ -779,7 +810,7 @@
## new_id = wx.NewId()
## AppendMenu(functionblock_menu, help='', id=new_id, kind=wx.ITEM_NORMAL, text=functionblock_type)
## self.Bind(wx.EVT_MENU, self.GetVariableTypeFunction(functionblock_type), id=new_id)
-## type_menu.AppendMenu(wx.NewId(), "Function Block Types", functionblock_menu)
+## type_menu.AppendMenu(wx.NewId(), _("Function Block Types"), functionblock_menu)
rect = self.StructureElementsGrid.BlockToDeviceRect((row, col), (row, col))
self.StructureElementsGrid.PopupMenuXY(type_menu, rect.x + rect.width, rect.y + self.StructureElementsGrid.GetColLabelSize())
event.Veto()
@@ -796,7 +827,7 @@
return ElementTypeFunction
def RefreshDisplayedInfos(self):
- selected = self.DerivationType.GetStringSelection()
+ selected = DATATYPE_TYPES_DICT[self.DerivationType.GetStringSelection()]
if selected != self.CurrentPanel:
if self.CurrentPanel == "Directly":
self.DirectlyPanel.Hide()
@@ -842,7 +873,7 @@
self.SubrangeInitialValue.SetRange(self.SubrangeMinimum.GetValue(), self.SubrangeMaximum.GetValue())
def RefreshTypeInfos(self):
- selected = self.DerivationType.GetStringSelection()
+ selected = DATATYPE_TYPES_DICT[self.DerivationType.GetStringSelection()]
infos = {"type" : selected}
if selected == "Directly":
infos["base_type"] = self.DirectlyBaseType.GetStringSelection()
@@ -865,14 +896,14 @@
for dimensions in self.ArrayDimensions.GetStrings():
result = DIMENSION_MODEL.match(dimensions)
if result is None:
- message = wx.MessageDialog(self, "\"%s\" value isn't a valid array dimension!"%dimensions, "Error", wx.OK|wx.ICON_ERROR)
+ message = wx.MessageDialog(self, _("\"%s\" value isn't a valid array dimension!")%dimensions, _("Error"), wx.OK|wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
self.RefreshView()
return
bounds = result.groups()
if bounds[0] >= bounds[1]:
- message = wx.MessageDialog(self, "\"%s\" value isn't a valid array dimension!\nRight value must be greater than left value."%dimensions, "Error", wx.OK|wx.ICON_ERROR)
+ message = wx.MessageDialog(self, _("\"%s\" value isn't a valid array dimension!\nRight value must be greater than left value.")%dimensions, _("Error"), wx.OK|wx.ICON_ERROR)
message.ShowModal()
message.Destroy()
self.RefreshView()