PLCOpenEditor.py
changeset 625 b7062a7018ec
parent 624 efedc9d06a59
child 631 e4dd5bf1f1db
--- 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)