etherlab/ConfigEditor.py
changeset 2406 ffd091b51cd0
parent 2405 af050469fc5c
child 2437 105c20fdeb19
equal deleted inserted replaced
2405:af050469fc5c 2406:ffd091b51cd0
   213                 event.Skip()
   213                 event.Skip()
   214         else:
   214         else:
   215             event.Skip()
   215             event.Skip()
   216 
   216 
   217     def OnVariablesGridLeftClick(self, event):
   217     def OnVariablesGridLeftClick(self, event):
   218         item, flags, col = self.VariablesGrid.HitTest(event.GetPosition())
   218         item, _flags, col = self.VariablesGrid.HitTest(event.GetPosition())
   219         if item.IsOk():
   219         if item.IsOk():
   220             entry = self.VariablesGrid.GetItemPyData(item)
   220             entry = self.VariablesGrid.GetItemPyData(item)
   221             data_type = entry.get("Type", "")
   221             data_type = entry.get("Type", "")
   222             data_size = self.Controler.GetSizeOfType(data_type)
   222             data_size = self.Controler.GetSizeOfType(data_type)
   223 
   223 
  1163         self.AddWindow(self.ModulesGrid, border=10,
  1163         self.AddWindow(self.ModulesGrid, border=10,
  1164                        flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
  1164                        flag=wx.GROW | wx.BOTTOM | wx.LEFT | wx.RIGHT)
  1165 
  1165 
  1166         for colname, colsize, colalign in zip(
  1166         for colname, colsize, colalign in zip(
  1167                 [_("Name")] + [param_infos["column_label"]
  1167                 [_("Name")] + [param_infos["column_label"]
  1168                                for param, param_infos in
  1168                                for _param, param_infos in
  1169                                self.ModuleLibrary.MODULES_EXTRA_PARAMS],
  1169                                self.ModuleLibrary.MODULES_EXTRA_PARAMS],
  1170                 [400] + [param_infos["column_size"]
  1170                 [400] + [param_infos["column_size"]
  1171                          for param, param_infos in
  1171                          for _param, param_infos in
  1172                          self.ModuleLibrary.MODULES_EXTRA_PARAMS],
  1172                          self.ModuleLibrary.MODULES_EXTRA_PARAMS],
  1173                 [wx.ALIGN_LEFT] + [wx.ALIGN_RIGHT] * len(self.ModuleLibrary.MODULES_EXTRA_PARAMS)):
  1173                 [wx.ALIGN_LEFT] + [wx.ALIGN_RIGHT] * len(self.ModuleLibrary.MODULES_EXTRA_PARAMS)):
  1174             self.ModulesGrid.AddColumn(_(colname), colsize, colalign, edit=True)
  1174             self.ModulesGrid.AddColumn(_(colname), colsize, colalign, edit=True)
  1175         self.ModulesGrid.SetMainColumn(0)
  1175         self.ModulesGrid.SetMainColumn(0)
  1176 
  1176 
  1207         for module in modules:
  1207         for module in modules:
  1208             if no_more_items:
  1208             if no_more_items:
  1209                 item = self.ModulesGrid.AppendItem(root, "")
  1209                 item = self.ModulesGrid.AppendItem(root, "")
  1210             self.ModulesGrid.SetItemText(item, module["name"], 0)
  1210             self.ModulesGrid.SetItemText(item, module["name"], 0)
  1211             if module["infos"] is not None:
  1211             if module["infos"] is not None:
  1212                 for param_idx, (param, param_infos) in enumerate(self.ModuleLibrary.MODULES_EXTRA_PARAMS):
  1212                 for param_idx, (param, _param_infos) in enumerate(self.ModuleLibrary.MODULES_EXTRA_PARAMS):
  1213                     self.ModulesGrid.SetItemText(item,
  1213                     self.ModulesGrid.SetItemText(item,
  1214                                                  str(module["infos"][param]),
  1214                                                  str(module["infos"][param]),
  1215                                                  param_idx + 1)
  1215                                                  param_idx + 1)
  1216             else:
  1216             else:
  1217                 self.ModulesGrid.SetItemBackgroundColour(item, wx.LIGHT_GREY)
  1217                 self.ModulesGrid.SetItemBackgroundColour(item, wx.LIGHT_GREY)
  1252         event.Skip()
  1252         event.Skip()
  1253 
  1253 
  1254     def OnDeleteButton(self, event):
  1254     def OnDeleteButton(self, event):
  1255         filepath = self.GetSelectedFilePath()
  1255         filepath = self.GetSelectedFilePath()
  1256         if os.path.isfile(filepath):
  1256         if os.path.isfile(filepath):
  1257             folder, filename = os.path.split(filepath)
  1257             _folder, filename = os.path.split(filepath)
  1258 
  1258 
  1259             dialog = wx.MessageDialog(self.ParentWindow,
  1259             dialog = wx.MessageDialog(self.ParentWindow,
  1260                                       _("Do you really want to delete the file '%s'?") % filename,
  1260                                       _("Do you really want to delete the file '%s'?") % filename,
  1261                                       _("Delete File"),
  1261                                       _("Delete File"),
  1262                                       wx.YES_NO | wx.ICON_QUESTION)
  1262                                       wx.YES_NO | wx.ICON_QUESTION)
  1268                 self.ModuleLibrary.LoadModules()
  1268                 self.ModuleLibrary.LoadModules()
  1269                 wx.CallAfter(self.RefreshView)
  1269                 wx.CallAfter(self.RefreshView)
  1270         event.Skip()
  1270         event.Skip()
  1271 
  1271 
  1272     def OnModulesGridLeftDown(self, event):
  1272     def OnModulesGridLeftDown(self, event):
  1273         item, flags, col = self.ModulesGrid.HitTest(event.GetPosition())
  1273         item, _flags, col = self.ModulesGrid.HitTest(event.GetPosition())
  1274         if item.IsOk():
  1274         if item.IsOk():
  1275             entry_infos = self.ModulesGrid.GetItemPyData(item)
  1275             entry_infos = self.ModulesGrid.GetItemPyData(item)
  1276             if entry_infos is not None and col > 0:
  1276             if entry_infos is not None and col > 0:
  1277                 self.CurrentSelectedCol = col
  1277                 self.CurrentSelectedCol = col
  1278             else:
  1278             else:
  1320                 event.Veto()
  1320                 event.Veto()
  1321         else:
  1321         else:
  1322             event.Veto()
  1322             event.Veto()
  1323 
  1323 
  1324     def OnModulesGridHeaderMotion(self, event):
  1324     def OnModulesGridHeaderMotion(self, event):
  1325         item, flags, col = self.ModulesGrid.HitTest(event.GetPosition())
  1325         _item, _flags, col = self.ModulesGrid.HitTest(event.GetPosition())
  1326         if col != self.LastToolTipCol and self.LastToolTipCol is not None:
  1326         if col != self.LastToolTipCol and self.LastToolTipCol is not None:
  1327             self.ModulesGrid.GetHeaderWindow().SetToolTip(None)
  1327             self.ModulesGrid.GetHeaderWindow().SetToolTip(None)
  1328             self.LastToolTipCol = None
  1328             self.LastToolTipCol = None
  1329         if col > 0 and self.LastToolTipCol != col:
  1329         if col > 0 and self.LastToolTipCol != col:
  1330             self.LastToolTipCol = col
  1330             self.LastToolTipCol = col
  1331             param, param_infos = self.ModuleLibrary.MODULES_EXTRA_PARAMS[col - 1]
  1331             _param, param_infos = self.ModuleLibrary.MODULES_EXTRA_PARAMS[col - 1]
  1332             wx.CallAfter(self.ModulesGrid.GetHeaderWindow().SetToolTipString,
  1332             wx.CallAfter(self.ModulesGrid.GetHeaderWindow().SetToolTipString,
  1333                          param_infos["description"])
  1333                          param_infos["description"])
  1334         event.Skip()
  1334         event.Skip()
  1335 
  1335 
  1336 
  1336