editors/DataTypeEditor.py
changeset 947 82e2a155a3ce
parent 864 bf4f7f0801b9
child 1412 50192dd2f5ff
equal deleted inserted replaced
946:9343740603f5 947:82e2a155a3ce
   174               label=_('Base Type:'))
   174               label=_('Base Type:'))
   175         directly_panel_sizer.AddWindow(directly_basetype_label, 1, border=5, 
   175         directly_panel_sizer.AddWindow(directly_basetype_label, 1, border=5, 
   176               flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
   176               flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
   177         
   177         
   178         self.DirectlyBaseType = wx.ComboBox(self.DirectlyPanel, style=wx.CB_READONLY)
   178         self.DirectlyBaseType = wx.ComboBox(self.DirectlyPanel, style=wx.CB_READONLY)
   179         self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, self.DirectlyPanel)
   179         self.Bind(wx.EVT_COMBOBOX, self.OnInfosChanged, self.DirectlyBaseType)
   180         directly_panel_sizer.AddWindow(self.DirectlyBaseType, 1, border=5, 
   180         directly_panel_sizer.AddWindow(self.DirectlyBaseType, 1, border=5, 
   181               flag=wx.GROW|wx.ALL)
   181               flag=wx.GROW|wx.ALL)
   182         
   182         
   183         directly_initialvalue_label = wx.StaticText(self.DirectlyPanel,
   183         directly_initialvalue_label = wx.StaticText(self.DirectlyPanel,
   184               label=_('Initial Value:'))
   184               label=_('Initial Value:'))
   185         directly_panel_sizer.AddWindow(directly_initialvalue_label, 1, border=5, 
   185         directly_panel_sizer.AddWindow(directly_initialvalue_label, 1, border=5, 
   186               flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
   186               flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
   187         
   187         
   188         self.DirectlyInitialValue = wx.TextCtrl(self.DirectlyPanel, 
   188         self.DirectlyInitialValue = wx.TextCtrl(self.DirectlyPanel, 
   189               style=wx.TAB_TRAVERSAL|wx.TE_PROCESS_ENTER|wx.TE_RICH)
   189               style=wx.TE_PROCESS_ENTER|wx.TE_RICH)
   190         self.Bind(wx.EVT_TEXT_ENTER, self.OnReturnKeyPressed, self.DirectlyInitialValue)
   190         self.Bind(wx.EVT_TEXT_ENTER, self.OnReturnKeyPressed, self.DirectlyInitialValue)
   191         directly_panel_sizer.AddWindow(self.DirectlyInitialValue, 1, border=5, 
   191         directly_panel_sizer.AddWindow(self.DirectlyInitialValue, 1, border=5, 
   192               flag=wx.ALL)
   192               flag=wx.ALL)
   193         
   193         
   194         self.DirectlyPanel.SetSizer(directly_panel_sizer)
   194         self.DirectlyPanel.SetSizer(directly_panel_sizer)
   309               label=_('Initial Value:'))
   309               label=_('Initial Value:'))
   310         array_panel_rightsizer.AddWindow(array_initialvalue_label, 1, border=5, 
   310         array_panel_rightsizer.AddWindow(array_initialvalue_label, 1, border=5, 
   311               flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
   311               flag=wx.ALIGN_CENTER_VERTICAL|wx.ALL)
   312         
   312         
   313         self.ArrayInitialValue = wx.TextCtrl(self.ArrayPanel,
   313         self.ArrayInitialValue = wx.TextCtrl(self.ArrayPanel,
   314               style=wx.TAB_TRAVERSAL|wx.TE_PROCESS_ENTER|wx.TE_RICH)
   314               style=wx.TE_PROCESS_ENTER|wx.TE_RICH)
   315         self.Bind(wx.EVT_TEXT_ENTER, self.OnReturnKeyPressed, self.ArrayInitialValue)
   315         self.Bind(wx.EVT_TEXT_ENTER, self.OnReturnKeyPressed, self.ArrayInitialValue)
   316         array_panel_rightsizer.AddWindow(self.ArrayInitialValue, 1, border=5, 
   316         array_panel_rightsizer.AddWindow(self.ArrayInitialValue, 1, border=5, 
   317               flag=wx.ALL)        
   317               flag=wx.ALL)        
   318         
   318         
   319         self.ArrayDimensions = CustomEditableListBox(self.ArrayPanel, 
   319         self.ArrayDimensions = CustomEditableListBox(self.ArrayPanel, 
   569         wx.CallAfter(self.RefreshTypeInfos)
   569         wx.CallAfter(self.RefreshTypeInfos)
   570         event.Skip()
   570         event.Skip()
   571     
   571     
   572     def OnStructureElementsGridCellChange(self, event):
   572     def OnStructureElementsGridCellChange(self, event):
   573         row, col = event.GetRow(), event.GetCol()
   573         row, col = event.GetRow(), event.GetCol()
   574         colname = self.StructureElementsTable.GetColLabelValue(col)
   574         colname = self.StructureElementsTable.GetColLabelValue(col, False)
   575         value = self.StructureElementsTable.GetValue(row, col)
   575         value = self.StructureElementsTable.GetValue(row, col)
   576         if colname == "Name":
   576         if colname == "Name":
   577             if not TestIdentifier(value):
   577             if not TestIdentifier(value):
   578                 message = wx.MessageDialog(self, _("\"%s\" is not a valid identifier!")%value, _("Error"), wx.OK|wx.ICON_ERROR)
   578                 message = wx.MessageDialog(self, _("\"%s\" is not a valid identifier!")%value, _("Error"), wx.OK|wx.ICON_ERROR)
   579                 message.ShowModal()
   579                 message.ShowModal()
   611         wx.CallAfter(self.RefreshStructureButtons)
   611         wx.CallAfter(self.RefreshStructureButtons)
   612         event.Skip()
   612         event.Skip()
   613     
   613     
   614     def OnStructureElementsGridEditorShown(self, event):
   614     def OnStructureElementsGridEditorShown(self, event):
   615         row, col = event.GetRow(), event.GetCol() 
   615         row, col = event.GetRow(), event.GetCol() 
   616         if self.StructureElementsTable.GetColLabelValue(col) == "Type":
   616         if self.StructureElementsTable.GetColLabelValue(col, False) == "Type":
   617             type_menu = wx.Menu(title='')
   617             type_menu = wx.Menu(title='')
   618             
   618             
   619             base_menu = wx.Menu(title='')
   619             base_menu = wx.Menu(title='')
   620             for base_type in self.Controler.GetBaseTypes():
   620             for base_type in self.Controler.GetBaseTypes():
   621                 new_id = wx.NewId()
   621                 new_id = wx.NewId()