diff -r e1d4e9a93186 -r 9ab97d517ae8 PLCOpenEditor.py --- 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()