controls/VariablePanel.py
changeset 1510 7272baadd7f6
parent 1422 458d93275f71
child 1522 fef49488b5c7
equal deleted inserted replaced
1509:7aaf850d8d1c 1510:7272baadd7f6
   582             self.RefreshValues()
   582             self.RefreshValues()
   583             return new_row
   583             return new_row
   584         setattr(self.VariablesGrid, "_AddRow", _AddVariable)
   584         setattr(self.VariablesGrid, "_AddRow", _AddVariable)
   585 
   585 
   586         def _DeleteVariable(row):
   586         def _DeleteVariable(row):
   587             if self.Table.GetValueByName(row, "Edit"):
   587             if _GetRowEdit(row):
   588                 self.Values.remove(self.Table.GetRow(row))
   588                 self.Values.remove(self.Table.GetRow(row))
   589                 self.SaveValues()
   589                 self.SaveValues()
   590                 if self.ElementType == "resource":
   590                 if self.ElementType == "resource":
   591                     self.ParentWindow.RefreshView(variablepanel = False)
   591                     self.ParentWindow.RefreshView(variablepanel = False)
   592                 self.RefreshValues()
   592                 self.RefreshValues()
   601                     self.RefreshValues()
   601                     self.RefreshValues()
   602                 return new_row
   602                 return new_row
   603             return row
   603             return row
   604         setattr(self.VariablesGrid, "_MoveRow", _MoveVariable)
   604         setattr(self.VariablesGrid, "_MoveRow", _MoveVariable)
   605 
   605 
       
   606         def _GetRowEdit(row):
       
   607             row_edit = False
       
   608             if self:
       
   609                 row_edit = self.Table.GetValueByName(row, "Edit")
       
   610                 bodytype = self.Controler.GetEditedElementBodyType(self.TagName)
       
   611                 row_edit = row_edit or (bodytype in ["ST", "IL"])
       
   612             return row_edit
       
   613 
   606         def _RefreshButtons():
   614         def _RefreshButtons():
   607             if self:
   615             if self:
   608                 table_length = len(self.Table.data)
   616                 table_length = len(self.Table.data)
   609                 row_class = None
   617                 row_class = None
   610                 row_edit = True
   618                 row_edit = True
   611                 row = 0
   619                 row = 0
   612                 if table_length > 0:
   620                 if table_length > 0:
   613                     row = self.VariablesGrid.GetGridCursorRow()
   621                     row = self.VariablesGrid.GetGridCursorRow()
   614                     row_edit = self.Table.GetValueByName(row, "Edit")
   622                     row_edit = _GetRowEdit(row)
   615                 self.AddButton.Enable(not self.Debug)
   623                 self.AddButton.Enable(not self.Debug)
   616                 self.DeleteButton.Enable(not self.Debug and (table_length > 0 and row_edit))
   624                 self.DeleteButton.Enable(not self.Debug and (table_length > 0 and row_edit))
   617                 self.UpButton.Enable(not self.Debug and (table_length > 0 and row > 0 and self.Filter == "All"))
   625                 self.UpButton.Enable(not self.Debug and (table_length > 0 and row > 0 and self.Filter == "All"))
   618                 self.DownButton.Enable(not self.Debug and (table_length > 0 and row < table_length - 1 and self.Filter == "All"))
   626                 self.DownButton.Enable(not self.Debug and (table_length > 0 and row < table_length - 1 and self.Filter == "All"))
   619         setattr(self.VariablesGrid, "RefreshButtons", _RefreshButtons)
   627         setattr(self.VariablesGrid, "RefreshButtons", _RefreshButtons)