883 # File Menu Functions |
883 # File Menu Functions |
884 #------------------------------------------------------------------------------- |
884 #------------------------------------------------------------------------------- |
885 |
885 |
886 def RefreshFileMenu(self): |
886 def RefreshFileMenu(self): |
887 pass |
887 pass |
|
888 |
|
889 def ResetView(self): |
|
890 self.DeleteAllPages() |
|
891 self.VariablePanelIndexer.RemoveAllPanels() |
|
892 self.TypesTree.DeleteAllItems() |
|
893 self.InstancesTree.DeleteAllItems() |
|
894 self.LibraryTree.DeleteAllItems() |
|
895 self.Controler = None |
888 |
896 |
889 def OnCloseTabMenu(self, event): |
897 def OnCloseTabMenu(self, event): |
890 selected = self.TabsOpened.GetSelection() |
898 selected = self.TabsOpened.GetSelection() |
891 if selected >= 0: |
899 if selected >= 0: |
892 window = self.TabsOpened.GetPage(selected) |
900 window = self.TabsOpened.GetPage(selected) |
2476 # Open the filepath if defined |
2484 # Open the filepath if defined |
2477 if fileOpen is not None: |
2485 if fileOpen is not None: |
2478 # Create a new controller |
2486 # Create a new controller |
2479 self.Controler = PLCControler() |
2487 self.Controler = PLCControler() |
2480 self.Controler.OpenXMLFile(fileOpen) |
2488 self.Controler.OpenXMLFile(fileOpen) |
|
2489 self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE) |
2481 |
2490 |
2482 # Define PLCOpenEditor icon |
2491 # Define PLCOpenEditor icon |
2483 self.SetIcon(wx.Icon(os.path.join(CWD,"Images", "poe.ico"),wx.BITMAP_TYPE_ICO)) |
2492 self.SetIcon(wx.Icon(os.path.join(CWD,"Images", "poe.ico"),wx.BITMAP_TYPE_ICO)) |
2484 |
2493 |
2485 self.Bind(wx.EVT_CLOSE, self.OnCloseFrame) |
2494 self.Bind(wx.EVT_CLOSE, self.OnCloseFrame) |
2545 if self.Controler is not None and not self.CheckSaveBeforeClosing(): |
2554 if self.Controler is not None and not self.CheckSaveBeforeClosing(): |
2546 return |
2555 return |
2547 dialog = ProjectDialog(self) |
2556 dialog = ProjectDialog(self) |
2548 if dialog.ShowModal() == wx.ID_OK: |
2557 if dialog.ShowModal() == wx.ID_OK: |
2549 properties = dialog.GetValues() |
2558 properties = dialog.GetValues() |
|
2559 self.ResetView() |
2550 self.Controler = PLCControler() |
2560 self.Controler = PLCControler() |
2551 self.Controler.CreateNewProject(properties) |
2561 self.Controler.CreateNewProject(properties) |
2552 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE, |
2562 self._Refresh(TITLE, FILEMENU, EDITMENU, TYPESTREE, INSTANCESTREE, |
2553 LIBRARYTREE) |
2563 LIBRARYTREE) |
2554 event.Skip() |
2564 event.Skip() |
2565 directory = os.getcwd() |
2575 directory = os.getcwd() |
2566 dialog = wx.FileDialog(self, _("Choose a file"), directory, "", _("PLCOpen files (*.xml)|*.xml|All files|*.*"), wx.OPEN) |
2576 dialog = wx.FileDialog(self, _("Choose a file"), directory, "", _("PLCOpen files (*.xml)|*.xml|All files|*.*"), wx.OPEN) |
2567 if dialog.ShowModal() == wx.ID_OK: |
2577 if dialog.ShowModal() == wx.ID_OK: |
2568 filepath = dialog.GetPath() |
2578 filepath = dialog.GetPath() |
2569 if os.path.isfile(filepath): |
2579 if os.path.isfile(filepath): |
2570 self.DeleteAllPages() |
2580 self.ResetView() |
2571 self.VariablePanelIndexer.RemoveAllPanels() |
|
2572 self.Controler = PLCControler() |
2581 self.Controler = PLCControler() |
2573 self.Controler.OpenXMLFile(filepath) |
2582 self.Controler.OpenXMLFile(filepath) |
2574 self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE) |
2583 self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE) |
2575 self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU) |
2584 self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU) |
2576 dialog.Destroy() |
2585 dialog.Destroy() |
2577 event.Skip() |
2586 event.Skip() |
2578 |
2587 |
2579 def OnCloseProjectMenu(self, event): |
2588 def OnCloseProjectMenu(self, event): |
2580 if not self.CheckSaveBeforeClosing(): |
2589 if not self.CheckSaveBeforeClosing(): |
2581 return |
2590 return |
2582 self.DeleteAllPages() |
2591 self.ResetView() |
2583 self.VariablePanelIndexer.RemoveAllPanels() |
|
2584 self.TypesTree.DeleteAllItems() |
|
2585 self.InstancesTree.DeleteAllItems() |
|
2586 self.LibraryTree.DeleteAllItems() |
|
2587 self.Controler = None |
|
2588 self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU) |
2592 self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU) |
2589 event.Skip() |
2593 event.Skip() |
2590 |
2594 |
2591 def OnSaveProjectMenu(self, event): |
2595 def OnSaveProjectMenu(self, event): |
2592 self.SaveProject() |
2596 self.SaveProject() |