Beremiz.py
changeset 784 a1d970365e41
parent 782 6f0e10085df9
child 788 3cec473bef94
equal deleted inserted replaced
783:f5cea1a6851e 784:a1d970365e41
   603         
   603         
   604         MenuToolBar = self.Panes["MenuToolBar"]
   604         MenuToolBar = self.Panes["MenuToolBar"]
   605         if self.CTR is not None:
   605         if self.CTR is not None:
   606             selected = self.TabsOpened.GetSelection()
   606             selected = self.TabsOpened.GetSelection()
   607             if selected >= 0:
   607             if selected >= 0:
   608                 graphic_viewer = isinstance(self.TabsOpened.GetPage(selected), Viewer)
   608                 window = self.TabsOpened.GetPage(selected)
       
   609                 viewer_is_modified = window.IsModified()
       
   610                 is_viewer = isinstance(window, Viewer)
   609             else:
   611             else:
   610                 graphic_viewer = False
   612                 viewer_is_modified = is_viewer = False
   611             if self.TabsOpened.GetPageCount() > 0:
   613             if self.TabsOpened.GetPageCount() > 0:
   612                 self.FileMenu.Enable(wx.ID_CLOSE, True)
   614                 self.FileMenu.Enable(wx.ID_CLOSE, True)
   613                 if graphic_viewer:
   615                 if is_viewer:
   614                     self.FileMenu.Enable(wx.ID_PREVIEW, True)
   616                     self.FileMenu.Enable(wx.ID_PREVIEW, True)
   615                     self.FileMenu.Enable(wx.ID_PRINT, True)
   617                     self.FileMenu.Enable(wx.ID_PRINT, True)
   616                     MenuToolBar.EnableTool(wx.ID_PRINT, True)
   618                     MenuToolBar.EnableTool(wx.ID_PRINT, True)
   617                 else:
   619                 else:
   618                     self.FileMenu.Enable(wx.ID_PREVIEW, False)
   620                     self.FileMenu.Enable(wx.ID_PREVIEW, False)
   622                 self.FileMenu.Enable(wx.ID_CLOSE, False)
   624                 self.FileMenu.Enable(wx.ID_CLOSE, False)
   623                 self.FileMenu.Enable(wx.ID_PREVIEW, False)
   625                 self.FileMenu.Enable(wx.ID_PREVIEW, False)
   624                 self.FileMenu.Enable(wx.ID_PRINT, False)
   626                 self.FileMenu.Enable(wx.ID_PRINT, False)
   625                 MenuToolBar.EnableTool(wx.ID_PRINT, False)
   627                 MenuToolBar.EnableTool(wx.ID_PRINT, False)
   626             self.FileMenu.Enable(wx.ID_PAGE_SETUP, True)
   628             self.FileMenu.Enable(wx.ID_PAGE_SETUP, True)
   627             project_modified = self.CTR.ProjectTestModified()
   629             project_modified = self.CTR.ProjectTestModified() or viewer_is_modified
   628             self.FileMenu.Enable(wx.ID_SAVE, project_modified)
   630             self.FileMenu.Enable(wx.ID_SAVE, project_modified)
   629             MenuToolBar.EnableTool(wx.ID_SAVE, project_modified)
   631             MenuToolBar.EnableTool(wx.ID_SAVE, project_modified)
   630             self.FileMenu.Enable(wx.ID_SAVEAS, True)
   632             self.FileMenu.Enable(wx.ID_SAVEAS, True)
   631             MenuToolBar.EnableTool(wx.ID_SAVEAS, True)
   633             MenuToolBar.EnableTool(wx.ID_SAVEAS, True)
   632             self.FileMenu.Enable(wx.ID_CLOSE_ALL, True)
   634             self.FileMenu.Enable(wx.ID_CLOSE_ALL, True)
   874         self.ResetView()
   876         self.ResetView()
   875         self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU)
   877         self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU)
   876         self.RefreshAll()
   878         self.RefreshAll()
   877     
   879     
   878     def OnSaveProjectMenu(self, event):
   880     def OnSaveProjectMenu(self, event):
       
   881         selected = self.TabsOpened.GetSelection()
       
   882         if selected != -1:
       
   883             window = self.TabsOpened.GetPage(selected)
       
   884             window.Save()
   879         if self.CTR is not None:
   885         if self.CTR is not None:
   880             self.CTR.SaveProject()
   886             self.CTR.SaveProject()
   881             self.RefreshAll()
   887             self.RefreshAll()
   882             self._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES)
   888             self._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES)
   883     
   889     
   884     def OnSaveProjectAsMenu(self, event):
   890     def OnSaveProjectAsMenu(self, event):
       
   891         selected = self.TabsOpened.GetSelection()
       
   892         if selected != -1:
       
   893             window = self.TabsOpened.GetPage(selected)
       
   894             window.SaveAs()
   885         if self.CTR is not None:
   895         if self.CTR is not None:
   886             self.CTR.SaveProjectAs()
   896             self.CTR.SaveProjectAs()
   887             self.RefreshAll()
   897             self.RefreshAll()
   888             self._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES)
   898             self._Refresh(TITLE, FILEMENU, EDITMENU, PAGETITLES)
   889         event.Skip()
   899         event.Skip()