svghmi/ui.py
branchwxPython4
changeset 3303 0ffb41625592
parent 3279 5615e062a77d
child 3466 eadb3a85ceb7
equal deleted inserted replaced
3302:c89fc366bebd 3303:0ffb41625592
    55         for c in current_hmitree_root.children:
    55         for c in current_hmitree_root.children:
    56             if hasattr(c, "children"):
    56             if hasattr(c, "children"):
    57                 display_name = ('{} (class={})'.format(c.name, c.hmiclass)) \
    57                 display_name = ('{} (class={})'.format(c.name, c.hmiclass)) \
    58                                if c.hmiclass is not None else c.name
    58                                if c.hmiclass is not None else c.name
    59                 tc_child = self.AppendItem(current_tc_root, display_name)
    59                 tc_child = self.AppendItem(current_tc_root, display_name)
    60                 self.SetPyData(tc_child, c)
    60                 self.SetItemData(tc_child, c)
    61 
    61 
    62                 self._recurseTree(c,tc_child)
    62                 self._recurseTree(c,tc_child)
    63             else:
    63             else:
    64                 display_name = '{} {}'.format(c.nodetype[4:], c.name)
    64                 display_name = '{} {}'.format(c.nodetype[4:], c.name)
    65                 tc_child = self.AppendItem(current_tc_root, display_name)
    65                 tc_child = self.AppendItem(current_tc_root, display_name)
    66                 self.SetPyData(tc_child, c)
    66                 self.SetItemData(tc_child, c)
    67 
    67 
    68     def OnTreeNodeSelection(self, event):
    68     def OnTreeNodeSelection(self, event):
    69         items = self.GetSelections()
    69         items = self.GetSelections()
    70         items_pydata = [self.GetPyData(item) for item in items]
    70         items_pydata = [self.GetPyData(item) for item in items]
    71 
    71 
   103         self.DeleteAllItems()
   103         self.DeleteAllItems()
   104 
   104 
   105         root_display_name = _("Please build to see HMI Tree") \
   105         root_display_name = _("Please build to see HMI Tree") \
   106             if hmi_tree_root is None else "HMI"
   106             if hmi_tree_root is None else "HMI"
   107         self.root = self.AddRoot(root_display_name)
   107         self.root = self.AddRoot(root_display_name)
   108         self.SetPyData(self.root, hmi_tree_root)
   108         self.SetItemData(self.root, hmi_tree_root)
   109 
   109 
   110         if hmi_tree_root is not None:
   110         if hmi_tree_root is not None:
   111             self._recurseTree(hmi_tree_root, self.root)
   111             self._recurseTree(hmi_tree_root, self.root)
   112             self.Expand(self.root)
   112             self.Expand(self.root)
   113 
   113 
   143                 if len(dirlist) > 0 :
   143                 if len(dirlist) > 0 :
   144                     res = []
   144                     res = []
   145                     for d in dirlist:
   145                     for d in dirlist:
   146                         current_tc_root = self.AppendItem(current_tc_root, d)
   146                         current_tc_root = self.AppendItem(current_tc_root, d)
   147                         res.append(current_tc_root)
   147                         res.append(current_tc_root)
   148                         self.SetPyData(current_tc_root, None)
   148                         self.SetItemData(current_tc_root, None)
   149                     dirlist = []
   149                     dirlist = []
   150                     res.pop()
   150                     res.pop()
   151                 tc_child = self.AppendItem(current_tc_root, f)
   151                 tc_child = self.AppendItem(current_tc_root, f)
   152                 self.SetPyData(tc_child, p)
   152                 self.SetItemData(tc_child, p)
   153         return res
   153         return res
   154 
   154 
   155     def MakeTree(self, lib_dir = None):
   155     def MakeTree(self, lib_dir = None):
   156 
   156 
   157         self.Freeze()
   157         self.Freeze()
   160         self.DeleteAllItems()
   160         self.DeleteAllItems()
   161 
   161 
   162         root_display_name = _("Please select widget library directory") \
   162         root_display_name = _("Please select widget library directory") \
   163             if lib_dir is None else os.path.basename(lib_dir)
   163             if lib_dir is None else os.path.basename(lib_dir)
   164         self.root = self.AddRoot(root_display_name)
   164         self.root = self.AddRoot(root_display_name)
   165         self.SetPyData(self.root, None)
   165         self.SetItemData(self.root, None)
   166 
   166 
   167         if lib_dir is not None and os.path.exists(lib_dir):
   167         if lib_dir is not None and os.path.exists(lib_dir):
   168             self._recurseTree(lib_dir, self.root, [])
   168             self._recurseTree(lib_dir, self.root, [])
   169             self.Expand(self.root)
   169             self.Expand(self.root)
   170 
   170