canfestival/SlaveEditor.py
branch1.1 Korean release
changeset 968 eee7625de1f7
parent 920 1499a4d225db
child 1021 939b1a1c7aa5
equal deleted inserted replaced
808:6e205c1f05a0 968:eee7625de1f7
     1 
     1 
     2 import wx
     2 import wx
     3 
     3 
     4 from subindextable import EditingPanel
     4 from subindextable import EditingPanel
     5 from nodeeditor import NodeEditorTemplate
     5 from nodeeditor import NodeEditorTemplate
     6 from ConfTreeNodeEditor import ConfTreeNodeEditor
     6 from editors.ConfTreeNodeEditor import ConfTreeNodeEditor
     7 
     7 
     8 [ID_SLAVEEDITORCONFNODEMENUNODEINFOS, ID_SLAVEEDITORCONFNODEMENUDS301PROFILE,
     8 [ID_SLAVEEDITORCONFNODEMENUNODEINFOS, ID_SLAVEEDITORCONFNODEMENUDS301PROFILE,
     9  ID_SLAVEEDITORCONFNODEMENUDS302PROFILE, ID_SLAVEEDITORCONFNODEMENUDSOTHERPROFILE,
     9  ID_SLAVEEDITORCONFNODEMENUDS302PROFILE, ID_SLAVEEDITORCONFNODEMENUDSOTHERPROFILE,
    10  ID_SLAVEEDITORCONFNODEMENUADD, 
    10  ID_SLAVEEDITORCONFNODEMENUADD, 
    11 ] = [wx.NewId() for _init_coll_ConfNodeMenu_Items in range(5)]
    11 ] = [wx.NewId() for _init_coll_ConfNodeMenu_Items in range(5)]
    15  ID_SLAVEEDITORADDMENUMAPVARIABLE, ID_SLAVEEDITORADDMENUUSERTYPE,
    15  ID_SLAVEEDITORADDMENUMAPVARIABLE, ID_SLAVEEDITORADDMENUUSERTYPE,
    16 ] = [wx.NewId() for _init_coll_AddMenu_Items in range(6)]
    16 ] = [wx.NewId() for _init_coll_AddMenu_Items in range(6)]
    17 
    17 
    18 class SlaveEditor(ConfTreeNodeEditor, NodeEditorTemplate):
    18 class SlaveEditor(ConfTreeNodeEditor, NodeEditorTemplate):
    19     
    19     
    20     def _init_ConfNodeEditor(self, prnt):
    20     CONFNODEEDITOR_TABS = [
    21         self.ConfNodeEditor = EditingPanel(prnt, self, self.Controler, self.Editable)
    21         (_("CANOpen slave"), "_create_SlaveNodeEditor")]
       
    22     
       
    23     def _create_SlaveNodeEditor(self, prnt):
       
    24         self.SlaveNodeEditor = EditingPanel(prnt, self, self.Controler, self.Editable)
       
    25         return self.SlaveNodeEditor
    22         
    26         
    23     def __init__(self, parent, controler, window, editable=True):
    27     def __init__(self, parent, controler, window, editable=True):
    24         self.Editable = editable
    28         self.Editable = editable
    25         ConfTreeNodeEditor.__init__(self, parent, controler, window)
    29         ConfTreeNodeEditor.__init__(self, parent, controler, window)
    26         NodeEditorTemplate.__init__(self, controler, window, False)
    30         NodeEditorTemplate.__init__(self, controler, window, False)
    44                 for text, indexes in self.Manager.GetCurrentSpecificMenu():
    48                 for text, indexes in self.Manager.GetCurrentSpecificMenu():
    45                     add_menu.append((wx.ITEM_NORMAL, (text, wx.NewId(), '', self.GetProfileCallBack(text))))
    49                     add_menu.append((wx.ITEM_NORMAL, (text, wx.NewId(), '', self.GetProfileCallBack(text))))
    46             else:
    50             else:
    47                 other_profile_text = _('Other Profile')
    51                 other_profile_text = _('Other Profile')
    48             
    52             
    49             return [(wx.ITEM_NORMAL, (_('Node infos'), ID_SLAVEEDITORCONFNODEMENUNODEINFOS, '', self.OnNodeInfosMenu)),
    53             return [(wx.ITEM_NORMAL, (_('DS-301 Profile'), ID_SLAVEEDITORCONFNODEMENUDS301PROFILE, '', self.OnCommunicationMenu)),
    50                     (wx.ITEM_NORMAL, (_('DS-301 Profile'), ID_SLAVEEDITORCONFNODEMENUDS301PROFILE, '', self.OnCommunicationMenu)),
       
    51                     (wx.ITEM_NORMAL, (_('DS-302 Profile'), ID_SLAVEEDITORCONFNODEMENUDS302PROFILE, '', self.OnOtherCommunicationMenu)),
    54                     (wx.ITEM_NORMAL, (_('DS-302 Profile'), ID_SLAVEEDITORCONFNODEMENUDS302PROFILE, '', self.OnOtherCommunicationMenu)),
    52                     (wx.ITEM_NORMAL, (other_profile_text, ID_SLAVEEDITORCONFNODEMENUDSOTHERPROFILE, '', self.OnEditProfileMenu)),
    55                     (wx.ITEM_NORMAL, (other_profile_text, ID_SLAVEEDITORCONFNODEMENUDSOTHERPROFILE, '', self.OnEditProfileMenu)),
    53                     (wx.ITEM_SEPARATOR, None),
    56                     (wx.ITEM_SEPARATOR, None),
    54                     (add_menu, (_('Add'), ID_SLAVEEDITORCONFNODEMENUADD))]
    57                     (add_menu, (_('Add'), ID_SLAVEEDITORCONFNODEMENUADD))]
    55         return []
    58         return []
    56     
    59     
    57     def RefreshConfNodeMenu(self, confnode_menu):
    60     def RefreshConfNodeMenu(self, confnode_menu):
    58         confnode_menu.Enable(ID_SLAVEEDITORCONFNODEMENUDSOTHERPROFILE, False)
    61         if self.Editable:
       
    62             confnode_menu.Enable(ID_SLAVEEDITORCONFNODEMENUDSOTHERPROFILE, False)
    59 
    63 
    60     def RefreshView(self):
    64     def RefreshView(self):
    61         ConfTreeNodeEditor.RefreshView(self)
    65         ConfTreeNodeEditor.RefreshView(self)
    62         self.ConfNodeEditor.RefreshIndexList()
    66         self.SlaveNodeEditor.RefreshIndexList()
    63 
    67 
    64     def RefreshCurrentIndexList(self):
    68     def RefreshCurrentIndexList(self):
    65         self.RefreshView()
    69         self.RefreshView()
    66     
    70     
    67     def RefreshBufferState(self):
    71     def RefreshBufferState(self):
    71         self.ParentWindow.RefreshPageTitles()
    75         self.ParentWindow.RefreshPageTitles()
    72 
    76 
    73 class MasterViewer(SlaveEditor):
    77 class MasterViewer(SlaveEditor):
    74     SHOW_PARAMS = False
    78     SHOW_PARAMS = False
    75 
    79 
    76     def __init__(self, parent, controler, window):
    80     def __init__(self, parent, controler, window, tagname):
    77         SlaveEditor.__init__(self, parent, controler, window, False)
    81         SlaveEditor.__init__(self, parent, controler, window, False)
    78 
    82     
       
    83         self.TagName = tagname
       
    84     
       
    85     def GetTagName(self):
       
    86         return self.TagName
       
    87     
       
    88     def GetCurrentNodeId(self):
       
    89         return None
       
    90     
       
    91     def GetInstancePath(self):
       
    92         return self.Controler.CTNFullName() + ".generated_master"
       
    93     
       
    94     def GetTitle(self):
       
    95         return self.GetInstancePath()
       
    96         
       
    97     def IsViewing(self, tagname):
       
    98         return self.GetInstancePath() == tagname