controls/VariablePanel.py
changeset 1009 741fbce41ec2
parent 894 a4919f228924
child 1016 3d79c31e4697
equal deleted inserted replaced
1008:1e5d285864f6 1009:741fbce41ec2
   623         words = self.TagName.split("::")
   623         words = self.TagName.split("::")
   624         old_description = self.Controler.GetPouDescription(words[1])
   624         old_description = self.Controler.GetPouDescription(words[1])
   625         new_description = self.Description.GetValue()
   625         new_description = self.Description.GetValue()
   626         if new_description != old_description:
   626         if new_description != old_description:
   627             self.Controler.SetPouDescription(words[1], new_description)
   627             self.Controler.SetPouDescription(words[1], new_description)
   628             self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   628             self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   629         event.Skip()
   629         event.Skip()
   630     
   630     
   631     def OnClassFilter(self, event):
   631     def OnClassFilter(self, event):
   632         self.Filter = self.FilterChoiceTransfer[VARIABLE_CHOICES_DICT[self.ClassFilter.GetStringSelection()]]
   632         self.Filter = self.FilterChoiceTransfer[VARIABLE_CHOICES_DICT[self.ClassFilter.GetStringSelection()]]
   633         self.RefreshTypeList()
   633         self.RefreshTypeList()
   664                 self.SaveValues(False)
   664                 self.SaveValues(False)
   665                 old_value = self.Table.GetOldValue()
   665                 old_value = self.Table.GetOldValue()
   666                 if old_value != "":
   666                 if old_value != "":
   667                     self.Controler.UpdateEditedElementUsedVariable(self.TagName, old_value, value)
   667                     self.Controler.UpdateEditedElementUsedVariable(self.TagName, old_value, value)
   668                 self.Controler.BufferProject()
   668                 self.Controler.BufferProject()
   669                 self.ParentWindow.RefreshView(variablepanel = False)
   669                 wx.CallAfter(self.ParentWindow.RefreshView, False)
   670                 self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   670                 self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   671                 event.Skip()
   671                 event.Skip()
   672         else:
   672         else:
   673             self.SaveValues()
   673             self.SaveValues()
   674             if colname == "Class":
   674             if colname == "Class":
   675                 self.ParentWindow.RefreshView(variablepanel = False)
   675                 wx.CallAfter(self.ParentWindow.RefreshView, False)
   676             elif colname == "Location":
   676             elif colname == "Location":
   677                 wx.CallAfter(self.ParentWindow.RefreshView)
   677                 wx.CallAfter(self.ParentWindow.RefreshView)
   678             
   678             
   679         if message is not None:
   679         if message is not None:
   680             dialog = wx.MessageDialog(self, message, _("Error"), wx.OK|wx.ICON_ERROR)
   680             dialog = wx.MessageDialog(self, message, _("Error"), wx.OK|wx.ICON_ERROR)
   759             self.Table.SetValueByName(row, "Type", base_type)
   759             self.Table.SetValueByName(row, "Type", base_type)
   760             self.Table.ResetView(self.VariablesGrid)
   760             self.Table.ResetView(self.VariablesGrid)
   761             self.SaveValues(False)
   761             self.SaveValues(False)
   762             self.ParentWindow.RefreshView(variablepanel = False)
   762             self.ParentWindow.RefreshView(variablepanel = False)
   763             self.Controler.BufferProject()
   763             self.Controler.BufferProject()
   764             self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   764             self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   765         return VariableTypeFunction
   765         return VariableTypeFunction
   766     
   766     
   767     def VariableArrayTypeFunction(self, event):
   767     def VariableArrayTypeFunction(self, event):
   768         row = self.VariablesGrid.GetGridCursorRow()
   768         row = self.VariablesGrid.GetGridCursorRow()
   769         dialog = ArrayTypeDialog(self, 
   769         dialog = ArrayTypeDialog(self, 
   773             self.Table.SetValueByName(row, "Type", dialog.GetValue())
   773             self.Table.SetValueByName(row, "Type", dialog.GetValue())
   774             self.Table.ResetView(self.VariablesGrid)
   774             self.Table.ResetView(self.VariablesGrid)
   775             self.SaveValues(False)
   775             self.SaveValues(False)
   776             self.ParentWindow.RefreshView(variablepanel = False)
   776             self.ParentWindow.RefreshView(variablepanel = False)
   777             self.Controler.BufferProject()
   777             self.Controler.BufferProject()
   778             self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   778             self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)
   779         dialog.Destroy()
   779         dialog.Destroy()
   780     
   780     
   781     def OnVariablesGridCellLeftClick(self, event):
   781     def OnVariablesGridCellLeftClick(self, event):
   782         row = event.GetRow()
   782         row = event.GetRow()
   783         if not self.Debug and (event.GetCol() == 0 and self.Table.GetValueByName(row, "Edit")):
   783         if not self.Debug and (event.GetCol() == 0 and self.Table.GetValueByName(row, "Edit")):
   809             if self.ReturnType.IsEnabled():
   809             if self.ReturnType.IsEnabled():
   810                 self.Controler.SetPouInterfaceReturnType(words[1], self.ReturnType.GetStringSelection())
   810                 self.Controler.SetPouInterfaceReturnType(words[1], self.ReturnType.GetStringSelection())
   811             self.Controler.SetPouInterfaceVars(words[1], self.Values)
   811             self.Controler.SetPouInterfaceVars(words[1], self.Values)
   812         if buffer:
   812         if buffer:
   813             self.Controler.BufferProject()
   813             self.Controler.BufferProject()
   814             self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)            
   814             self.ParentWindow._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES, POUINSTANCEVARIABLESPANEL, LIBRARYTREE)            
   815 
   815 
   816 #-------------------------------------------------------------------------------
   816 #-------------------------------------------------------------------------------
   817 #                        Highlights showing functions
   817 #                        Highlights showing functions
   818 #-------------------------------------------------------------------------------
   818 #-------------------------------------------------------------------------------
   819 
   819