equal
deleted
inserted
replaced
437 self.SetIcon(wx.Icon(Bpath("images", "brz.ico"), wx.BITMAP_TYPE_ICO)) |
437 self.SetIcon(wx.Icon(Bpath("images", "brz.ico"), wx.BITMAP_TYPE_ICO)) |
438 |
438 |
439 if projectOpen is not None: |
439 if projectOpen is not None: |
440 projectOpen = DecodeFileSystemPath(projectOpen, False) |
440 projectOpen = DecodeFileSystemPath(projectOpen, False) |
441 |
441 |
442 if (self.EnableSaveProjectState() and ctr is None and |
|
443 projectOpen is None and self.Config.HasEntry("currenteditedproject")): |
|
444 try: |
|
445 projectOpen = DecodeFileSystemPath(self.Config.Read("currenteditedproject")) |
|
446 if projectOpen == "": |
|
447 projectOpen = None |
|
448 except: |
|
449 projectOpen = None |
|
450 |
|
451 if projectOpen is not None and os.path.isdir(projectOpen): |
442 if projectOpen is not None and os.path.isdir(projectOpen): |
452 self.CTR = ProjectController(self, self.Log) |
443 self.CTR = ProjectController(self, self.Log) |
453 self.Controler = self.CTR |
444 self.Controler = self.CTR |
454 result = self.CTR.LoadProject(projectOpen, buildpath) |
445 result = self.CTR.LoadProject(projectOpen, buildpath) |
455 if not result: |
446 if not result: |
600 if self.CTR is not None: |
591 if self.CTR is not None: |
601 self.CTR.KillDebugThread() |
592 self.CTR.KillDebugThread() |
602 self.KillLocalRuntime() |
593 self.KillLocalRuntime() |
603 |
594 |
604 self.SaveLastState() |
595 self.SaveLastState() |
605 |
|
606 if self.CTR is not None: |
|
607 project_path = os.path.realpath(self.CTR.GetProjectPath()) |
|
608 else: |
|
609 project_path = "" |
|
610 self.Config.Write("currenteditedproject", EncodeFileSystemPath(project_path)) |
|
611 self.Config.Flush() |
|
612 |
596 |
613 event.Skip() |
597 event.Skip() |
614 else: |
598 else: |
615 event.Veto() |
599 event.Veto() |
616 |
600 |
812 |
796 |
813 def ResetPerspective(self): |
797 def ResetPerspective(self): |
814 IDEFrame.ResetPerspective(self) |
798 IDEFrame.ResetPerspective(self) |
815 self.RefreshStatusToolBar() |
799 self.RefreshStatusToolBar() |
816 |
800 |
817 def RestoreLastLayout(self): |
|
818 IDEFrame.RestoreLastLayout(self) |
|
819 self.RefreshStatusToolBar() |
|
820 |
|
821 def OnNewProjectMenu(self, event): |
801 def OnNewProjectMenu(self, event): |
822 if self.CTR is not None and not self.CheckSaveBeforeClosing(): |
802 if self.CTR is not None and not self.CheckSaveBeforeClosing(): |
823 return |
803 return |
824 |
804 |
825 try: |
805 try: |
882 self.ProjectTree.Enable(True) |
862 self.ProjectTree.Enable(True) |
883 self.PouInstanceVariablesPanel.SetController(self.Controler) |
863 self.PouInstanceVariablesPanel.SetController(self.Controler) |
884 self.RefreshConfigRecentProjects(projectpath) |
864 self.RefreshConfigRecentProjects(projectpath) |
885 if self.EnableDebug: |
865 if self.EnableDebug: |
886 self.DebugVariablePanel.SetDataProducer(self.CTR) |
866 self.DebugVariablePanel.SetDataProducer(self.CTR) |
887 if self.EnableSaveProjectState(): |
|
888 self.LoadProjectLayout() |
|
889 self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE) |
867 self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE) |
890 else: |
868 else: |
891 self.ResetView() |
869 self.ResetView() |
892 self.ShowErrorMessage(result) |
870 self.ShowErrorMessage(result) |
893 self.RefreshAll() |
871 self.RefreshAll() |
897 |
875 |
898 def OnCloseProjectMenu(self, event): |
876 def OnCloseProjectMenu(self, event): |
899 if self.CTR is not None and not self.CheckSaveBeforeClosing(): |
877 if self.CTR is not None and not self.CheckSaveBeforeClosing(): |
900 return |
878 return |
901 |
879 |
902 self.SaveProjectLayout() |
|
903 self.ResetView() |
880 self.ResetView() |
904 self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU) |
881 self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU) |
905 self.RefreshAll() |
882 self.RefreshAll() |
906 |
883 |
907 def OnSaveProjectMenu(self, event): |
884 def OnSaveProjectMenu(self, event): |