PLCOpenEditor.py
changeset 411 9ab97d517ae8
parent 407 0a324a874981
child 431 c1c92d068ac5
--- a/PLCOpenEditor.py	Mon Sep 21 12:06:15 2009 +0200
+++ b/PLCOpenEditor.py	Mon Sep 21 12:06:51 2009 +0200
@@ -886,6 +886,14 @@
     def RefreshFileMenu(self):
         pass
 
+    def ResetView(self):
+        self.DeleteAllPages()
+        self.VariablePanelIndexer.RemoveAllPanels()
+        self.TypesTree.DeleteAllItems()
+        self.InstancesTree.DeleteAllItems()
+        self.LibraryTree.DeleteAllItems()
+        self.Controler = None
+
     def OnCloseTabMenu(self, event):
         selected = self.TabsOpened.GetSelection()
         if selected >= 0:
@@ -2478,6 +2486,7 @@
             # Create a new controller
             self.Controler = PLCControler()
             self.Controler.OpenXMLFile(fileOpen)
+            self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE)
         
         # Define PLCOpenEditor icon
         self.SetIcon(wx.Icon(os.path.join(CWD,"Images", "poe.ico"),wx.BITMAP_TYPE_ICO))
@@ -2547,6 +2556,7 @@
         dialog = ProjectDialog(self)
         if dialog.ShowModal() == wx.ID_OK:
             properties = dialog.GetValues()
+            self.ResetView()
             self.Controler = PLCControler()
             self.Controler.CreateNewProject(properties)
             self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE, 
@@ -2567,8 +2577,7 @@
         if dialog.ShowModal() == wx.ID_OK:
             filepath = dialog.GetPath()
             if os.path.isfile(filepath):
-                self.DeleteAllPages()
-                self.VariablePanelIndexer.RemoveAllPanels()
+                self.ResetView()
                 self.Controler = PLCControler()
                 self.Controler.OpenXMLFile(filepath)
                 self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE)
@@ -2579,12 +2588,7 @@
     def OnCloseProjectMenu(self, event):
         if not self.CheckSaveBeforeClosing():
             return
-        self.DeleteAllPages()
-        self.VariablePanelIndexer.RemoveAllPanels()
-        self.TypesTree.DeleteAllItems()
-        self.InstancesTree.DeleteAllItems()
-        self.LibraryTree.DeleteAllItems()
-        self.Controler = None
+        self.ResetView()
         self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU)
         event.Skip()