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() |