diff -r efedc9d06a59 -r b7062a7018ec PLCOpenEditor.py --- a/PLCOpenEditor.py Thu Jan 12 17:04:22 2012 +0100 +++ b/PLCOpenEditor.py Tue Jan 17 16:44:00 2012 +0100 @@ -1939,6 +1939,12 @@ def RefreshLibraryTree(self): if self.Controler is not None: to_delete = [] + selected_name = None + selected = self.LibraryTree.GetSelection() + if selected.IsOk(): + selected_pydata = self.LibraryTree.GetPyData(selected) + if selected_pydata is not None and selected_pydata["type"] != CATEGORY: + selected_name = self.LibraryTree.GetItemText(selected) blocktypes = self.Controler.GetBlockTypes() root = self.LibraryTree.GetRootItem() if not root.IsOk(): @@ -1968,6 +1974,10 @@ else: self.LibraryTree.SetItemText(blocktype_item, blocktype["name"]) self.LibraryTree.SetPyData(blocktype_item, {"type" : BLOCK, "block_type" : blocktype["type"], "inputs" : tuple([type for name, type, modifier in blocktype["inputs"]])}) + if selected_name == blocktype["name"]: + self.LibraryTree.SelectItem(blocktype_item) + comment = blocktype["comment"] + self.LibraryComment.SetValue(_(comment) + blocktype.get("usage", "")) blocktype_item, category_cookie = self.LibraryTree.GetNextChild(category_item, category_cookie) while blocktype_item.IsOk(): to_delete.append(blocktype_item)