Beremiz.py
changeset 980 c7ba67d01d65
parent 978 3290eff761f1
child 986 b663f099da8a
equal deleted inserted replaced
979:1a68113a323d 980:c7ba67d01d65
   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):