516 def DeleteAllPages(self): |
516 def DeleteAllPages(self): |
517 if wx.VERSION >= (2, 8, 0): |
517 if wx.VERSION >= (2, 8, 0): |
518 notebook = self.GetNotebook() |
518 notebook = self.GetNotebook() |
519 if notebook is not None: |
519 if notebook is not None: |
520 for idx in xrange(notebook.GetPageCount()): |
520 for idx in xrange(notebook.GetPageCount()): |
521 notebook.DeletePage(idx) |
521 notebook.DeletePage(0) |
522 else: |
522 else: |
523 self.TabsOpened.DeleteAllPages() |
523 self.TabsOpened.DeleteAllPages() |
524 |
524 |
525 def SetPageText(self, idx, text): |
525 def SetPageText(self, idx, text): |
526 if wx.VERSION >= (2, 8, 0): |
526 if wx.VERSION >= (2, 8, 0): |
631 selected = self.GetPageSelection() |
631 selected = self.GetPageSelection() |
632 if selected != -1: |
632 if selected != -1: |
633 window = self.GetPage(selected) |
633 window = self.GetPage(selected) |
634 window.RefreshView() |
634 window.RefreshView() |
635 if variablepanel: |
635 if variablepanel: |
636 self.VariablePanelIndexer.RefreshVariablePanel(window.GetTagName()) |
636 self.RefreshVariablePanel(window.GetTagName()) |
|
637 |
|
638 def RefreshVariablePanel(self, tagname): |
|
639 self.VariablePanelIndexer.RefreshVariablePanel(tagname) |
637 |
640 |
638 def ShowProperties(self): |
641 def ShowProperties(self): |
639 old_values = self.Controler.GetProjectProperties() |
642 old_values = self.Controler.GetProjectProperties() |
640 dialog = ProjectDialog(self) |
643 dialog = ProjectDialog(self) |
641 dialog.SetValues(old_values) |
644 dialog.SetValues(old_values) |
682 self.RefreshEditMenu() |
685 self.RefreshEditMenu() |
683 self.RefreshProjectTree() |
686 self.RefreshProjectTree() |
684 event.Skip() |
687 event.Skip() |
685 |
688 |
686 def OnOpenProjectMenu(self, event): |
689 def OnOpenProjectMenu(self, event): |
|
690 if not self.Controler.ProjectIsSaved(): |
|
691 dialog = wx.MessageDialog(self, "There are changes, do you want to save?", "Close Application", wx.YES_NO|wx.CANCEL|wx.ICON_QUESTION) |
|
692 answer = dialog.ShowModal() |
|
693 dialog.Destroy() |
|
694 if answer == wx.ID_YES: |
|
695 self.SaveProject() |
|
696 elif answer == wx.ID_CANCEL: |
|
697 return |
687 filepath = self.Controler.GetFilePath() |
698 filepath = self.Controler.GetFilePath() |
688 if filepath != "": |
699 if filepath != "": |
689 directory = os.path.dirname(filepath) |
700 directory = os.path.dirname(filepath) |
690 else: |
701 else: |
691 directory = os.getcwd() |
702 directory = os.getcwd() |
692 dialog = wx.FileDialog(self, "Choose a file", directory, "", "PLCOpen files (*.xml)|*.xml|All files|*.*", wx.OPEN) |
703 dialog = wx.FileDialog(self, "Choose a file", directory, "", "PLCOpen files (*.xml)|*.xml|All files|*.*", wx.OPEN) |
693 if dialog.ShowModal() == wx.ID_OK: |
704 if dialog.ShowModal() == wx.ID_OK: |
694 filepath = dialog.GetPath() |
705 filepath = dialog.GetPath() |
695 if os.path.isfile(filepath): |
706 if os.path.isfile(filepath): |
|
707 self.DeleteAllPages() |
|
708 self.VariablePanelIndexer.RemoveAllPanels() |
696 self.Controler.OpenXMLFile(filepath) |
709 self.Controler.OpenXMLFile(filepath) |
697 self.DeleteAllPages() |
|
698 self.RefreshProjectTree() |
710 self.RefreshProjectTree() |
699 self.RefreshTitle() |
711 self.RefreshTitle() |
700 self.RefreshFileMenu() |
712 self.RefreshFileMenu() |
701 self.RefreshEditMenu() |
713 self.RefreshEditMenu() |
702 self.RefreshToolBar() |
714 self.RefreshToolBar() |
719 self.RefreshEditMenu() |
731 self.RefreshEditMenu() |
720 self.RefreshToolBar() |
732 self.RefreshToolBar() |
721 event.Skip() |
733 event.Skip() |
722 |
734 |
723 def OnCloseProjectMenu(self, event): |
735 def OnCloseProjectMenu(self, event): |
|
736 if not self.Controler.ProjectIsSaved(): |
|
737 dialog = wx.MessageDialog(self, "There are changes, do you want to save?", "Close Application", wx.YES_NO|wx.CANCEL|wx.ICON_QUESTION) |
|
738 answer = dialog.ShowModal() |
|
739 dialog.Destroy() |
|
740 if answer == wx.ID_YES: |
|
741 self.SaveProject() |
|
742 elif answer == wx.ID_CANCEL: |
|
743 return |
724 self.DeleteAllPages() |
744 self.DeleteAllPages() |
725 self.VariablePanelIndexer.RemoveAllPanels() |
745 self.VariablePanelIndexer.RemoveAllPanels() |
726 self.ProjectTree.DeleteAllItems() |
746 self.ProjectTree.DeleteAllItems() |
727 self.Controler.Reset() |
747 self.Controler.Reset() |
728 self.RefreshTitle() |
748 self.RefreshTitle() |
2426 wx.TextEntryDialog.__init__(self, parent, message, caption, defaultValue, style, pos) |
2446 wx.TextEntryDialog.__init__(self, parent, message, caption, defaultValue, style, pos) |
2427 |
2447 |
2428 self.PouNames = [] |
2448 self.PouNames = [] |
2429 self.PouElementNames = [] |
2449 self.PouElementNames = [] |
2430 |
2450 |
2431 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetSizer().GetItem(3).GetSizer().GetAffirmativeButton().GetId()) |
2451 if wx.VERSION >= (2, 8, 0): |
2432 |
2452 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetSizer().GetItem(2).GetSizer().GetItem(1).GetSizer().GetAffirmativeButton().GetId()) |
|
2453 elif wx.VERSION >= (2, 6, 0): |
|
2454 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetSizer().GetItem(3).GetSizer().GetAffirmativeButton().GetId()) |
|
2455 else: |
|
2456 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetSizer().GetItem(3).GetSizer().GetChildren()[0].GetSizer().GetChildren()[0].GetWindow().GetId()) |
|
2457 |
2433 def OnOK(self, event): |
2458 def OnOK(self, event): |
2434 config_name = self.GetSizer().GetItem(1).GetWindow().GetValue() |
2459 config_name = self.GetSizer().GetItem(1).GetWindow().GetValue() |
2435 if config_name == "": |
2460 if config_name == "": |
2436 message = wx.MessageDialog(self, "You must type a name!", "Error", wx.OK|wx.ICON_ERROR) |
2461 message = wx.MessageDialog(self, "You must type a name!", "Error", wx.OK|wx.ICON_ERROR) |
2437 message.ShowModal() |
2462 message.ShowModal() |
2484 wx.TextEntryDialog.__init__(self, parent, message, caption, defaultValue, style, pos) |
2509 wx.TextEntryDialog.__init__(self, parent, message, caption, defaultValue, style, pos) |
2485 |
2510 |
2486 self.PouNames = [] |
2511 self.PouNames = [] |
2487 self.PouElementNames = [] |
2512 self.PouElementNames = [] |
2488 |
2513 |
2489 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetSizer().GetItem(3).GetSizer().GetAffirmativeButton().GetId()) |
2514 if wx.VERSION >= (2, 8, 0): |
2490 |
2515 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetSizer().GetItem(2).GetSizer().GetItem(1).GetSizer().GetAffirmativeButton().GetId()) |
|
2516 elif wx.VERSION >= (2, 6, 0): |
|
2517 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetSizer().GetItem(3).GetSizer().GetAffirmativeButton().GetId()) |
|
2518 else: |
|
2519 self.Bind(wx.EVT_BUTTON, self.OnOK, id=self.GetSizer().GetItem(3).GetSizer().GetChildren()[0].GetSizer().GetChildren()[0].GetWindow().GetId()) |
|
2520 |
2491 def OnOK(self, event): |
2521 def OnOK(self, event): |
2492 resource_name = self.GetSizer().GetItem(1).GetWindow().GetValue() |
2522 resource_name = self.GetSizer().GetItem(1).GetWindow().GetValue() |
2493 if resource_name == "": |
2523 if resource_name == "": |
2494 message = wx.MessageDialog(self, "You must type a name!", "Error", wx.OK|wx.ICON_ERROR) |
2524 message = wx.MessageDialog(self, "You must type a name!", "Error", wx.OK|wx.ICON_ERROR) |
2495 message.ShowModal() |
2525 message.ShowModal() |