editors/ResourceEditor.py
changeset 1968 64827679f3f1
parent 1853 47a3f39bead0
child 2232 3220dd020675
equal deleted inserted replaced
1967:92796bb8d4fe 1968:64827679f3f1
   301         EditorPanel.__init__(self, parent, tagname, window, controler)
   301         EditorPanel.__init__(self, parent, tagname, window, controler)
   302 
   302 
   303         self.RefreshHighlightsTimer = wx.Timer(self, -1)
   303         self.RefreshHighlightsTimer = wx.Timer(self, -1)
   304         self.Bind(wx.EVT_TIMER, self.OnRefreshHighlightsTimer, self.RefreshHighlightsTimer)
   304         self.Bind(wx.EVT_TIMER, self.OnRefreshHighlightsTimer, self.RefreshHighlightsTimer)
   305 
   305 
   306         self.TasksDefaultValue = {"Name": "", "Triggering": "", "Single": "", "Interval": "", "Priority": 0}
   306         self.TasksDefaultValue = {"Name": "task0", "Triggering": "Cyclic",
       
   307                                   "Single": "", "Interval": "T#20ms", "Priority": 0}
   307         self.TasksTable = ResourceTable(self, [], GetTasksTableColnames())
   308         self.TasksTable = ResourceTable(self, [], GetTasksTableColnames())
   308         self.TasksTable.SetColAlignements([wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_RIGHT, wx.ALIGN_RIGHT])
   309         self.TasksTable.SetColAlignements([wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_RIGHT, wx.ALIGN_RIGHT])
   309         self.TasksTable.SetColSizes([200, 100, 100, 150, 100])
   310         self.TasksTable.SetColSizes([200, 100, 100, 150, 100])
   310         self.TasksGrid.SetTable(self.TasksTable)
   311         self.TasksGrid.SetTable(self.TasksTable)
   311         self.TasksGrid.SetButtons({"Add": self.AddTaskButton,
   312         self.TasksGrid.SetButtons({"Add": self.AddTaskButton,
   312                                    "Delete": self.DeleteTaskButton,
   313                                    "Delete": self.DeleteTaskButton,
   313                                    "Up": self.UpTaskButton,
   314                                    "Up": self.UpTaskButton,
   314                                    "Down": self.DownTaskButton})
   315                                    "Down": self.DownTaskButton})
   315 
   316 
   316         def _AddTask(new_row):
   317         def _AddTask(new_row):
   317             self.TasksTable.InsertRow(new_row, self.TasksDefaultValue.copy())
   318             if new_row > 0:
       
   319                 row_content = self.TasksTable.data[new_row-1].copy()
       
   320                 old_name = row_content['Name']
       
   321                 row_content['Name'] =\
       
   322                     self.Controler.GenerateNewName(self.TagName, old_name, old_name+'%d')
       
   323             else:
       
   324                 row_content = self.TasksDefaultValue.copy()
       
   325 
       
   326             self.TasksTable.InsertRow(new_row, row_content)
   318             self.RefreshModel()
   327             self.RefreshModel()
   319             self.RefreshView()
   328             self.RefreshView()
   320             return new_row
   329             return new_row
   321         setattr(self.TasksGrid, "_AddRow", _AddTask)
   330         setattr(self.TasksGrid, "_AddRow", _AddTask)
   322 
   331 
   336 
   345 
   337         self.TasksGrid.SetRowLabelSize(0)
   346         self.TasksGrid.SetRowLabelSize(0)
   338         self.TasksTable.ResetView(self.TasksGrid)
   347         self.TasksTable.ResetView(self.TasksGrid)
   339         self.TasksGrid.RefreshButtons()
   348         self.TasksGrid.RefreshButtons()
   340 
   349 
   341         self.InstancesDefaultValue = {"Name": "", "Type": "", "Task": ""}
   350         self.InstancesDefaultValue = {"Name": "instance0", "Type": "", "Task": ""}
   342         self.InstancesTable = ResourceTable(self, [], GetInstancesTableColnames())
   351         self.InstancesTable = ResourceTable(self, [], GetInstancesTableColnames())
   343         self.InstancesTable.SetColAlignements([wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_LEFT])
   352         self.InstancesTable.SetColAlignements([wx.ALIGN_LEFT, wx.ALIGN_LEFT, wx.ALIGN_LEFT])
   344         self.InstancesTable.SetColSizes([200, 150, 150])
   353         self.InstancesTable.SetColSizes([200, 150, 150])
   345         self.InstancesGrid.SetTable(self.InstancesTable)
   354         self.InstancesGrid.SetTable(self.InstancesTable)
   346         self.InstancesGrid.SetButtons({"Add": self.AddInstanceButton,
   355         self.InstancesGrid.SetButtons({"Add": self.AddInstanceButton,
   347                                        "Delete": self.DeleteInstanceButton,
   356                                        "Delete": self.DeleteInstanceButton,
   348                                        "Up": self.UpInstanceButton,
   357                                        "Up": self.UpInstanceButton,
   349                                        "Down": self.DownInstanceButton})
   358                                        "Down": self.DownInstanceButton})
   350 
   359 
   351         def _AddInstance(new_row):
   360         def _AddInstance(new_row):
   352             self.InstancesTable.InsertRow(new_row, self.InstancesDefaultValue.copy())
   361             if new_row > 0:
       
   362                 row_content = self.InstancesTable.data[new_row - 1].copy()
       
   363                 old_name = row_content['Name']
       
   364                 row_content['Name'] =\
       
   365                     self.Controler.GenerateNewName(self.TagName, old_name, old_name+'%d')
       
   366             else:
       
   367                 row_content = self.InstancesDefaultValue.copy()
       
   368 
       
   369             self.InstancesTable.InsertRow(new_row, row_content)
   353             self.RefreshModel()
   370             self.RefreshModel()
   354             self.RefreshView()
   371             self.RefreshView()
   355             return new_row
   372             return new_row
   356         setattr(self.InstancesGrid, "_AddRow", _AddInstance)
   373         setattr(self.InstancesGrid, "_AddRow", _AddInstance)
   357 
   374