--- a/Beremiz.py Thu Mar 29 00:14:35 2012 +0200
+++ b/Beremiz.py Sat Mar 31 15:20:04 2012 +0200
@@ -150,7 +150,7 @@
from wxPopen import ProcessLogger
from docutils import *
-from PLCOpenEditor import IDEFrame, Viewer, AppendMenu, TITLE, TOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU, TYPESTREE, INSTANCESTREE, LIBRARYTREE, SCALING, PAGETITLES, USE_AUI
+from PLCOpenEditor import IDEFrame, Viewer, AppendMenu, TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU, TYPESTREE, INSTANCESTREE, LIBRARYTREE, SCALING, PAGETITLES, USE_AUI
from PLCControler import LOCATION_PLUGIN, LOCATION_MODULE, LOCATION_GROUP, LOCATION_VAR_INPUT, LOCATION_VAR_OUTPUT, LOCATION_VAR_MEMORY
SCROLLBAR_UNIT = 10
@@ -434,6 +434,12 @@
self.Bind(wx.EVT_MENU, self.OnPropertiesMenu, id=wx.ID_PROPERTIES)
self.Bind(wx.EVT_MENU, self.OnQuitMenu, id=wx.ID_EXIT)
+ self.AddToMenuToolBar([(wx.ID_NEW, "new.png", _(u'New'), None),
+ (wx.ID_OPEN, "open.png", _(u'Open'), None),
+ (wx.ID_SAVE, "save.png", _(u'Save'), None),
+ (wx.ID_SAVEAS, "saveas.png", _(u'Save As...'), None),
+ (wx.ID_PRINT, "print.png", _(u'Print'), None)])
+
def _init_coll_HelpMenu_Items(self, parent):
parent.Append(help='', id=wx.ID_HELP,
kind=wx.ITEM_NORMAL, text=_(u'Beremiz\tF1'))
@@ -562,7 +568,7 @@
self.Bind(wx.EVT_CLOSE, self.OnCloseFrame)
- self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU)
+ self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU)
self.RefreshPluginMenu()
self.LogConsole.SetFocus()
@@ -683,6 +689,7 @@
def RefreshFileMenu(self):
self.RefreshRecentProjectsMenu()
+ MenuToolBar = self.Panes["MenuToolBar"]
if self.PluginRoot is not None:
selected = self.TabsOpened.GetSelection()
if selected >= 0:
@@ -694,16 +701,22 @@
if graphic_viewer:
self.FileMenu.Enable(wx.ID_PREVIEW, True)
self.FileMenu.Enable(wx.ID_PRINT, True)
+ MenuToolBar.EnableTool(wx.ID_PRINT, True)
else:
self.FileMenu.Enable(wx.ID_PREVIEW, False)
self.FileMenu.Enable(wx.ID_PRINT, False)
+ MenuToolBar.EnableTool(wx.ID_PRINT, False)
else:
self.FileMenu.Enable(wx.ID_CLOSE, False)
self.FileMenu.Enable(wx.ID_PREVIEW, False)
self.FileMenu.Enable(wx.ID_PRINT, False)
+ MenuToolBar.EnableTool(wx.ID_PRINT, False)
self.FileMenu.Enable(wx.ID_PAGE_SETUP, True)
- self.FileMenu.Enable(wx.ID_SAVE, self.PluginRoot.ProjectTestModified())
+ project_modified = self.PluginRoot.ProjectTestModified()
+ self.FileMenu.Enable(wx.ID_SAVE, project_modified)
+ MenuToolBar.EnableTool(wx.ID_SAVE, project_modified)
self.FileMenu.Enable(wx.ID_SAVEAS, True)
+ MenuToolBar.EnableTool(wx.ID_SAVEAS, True)
self.FileMenu.Enable(wx.ID_PROPERTIES, True)
self.FileMenu.Enable(wx.ID_CLOSE_ALL, True)
else:
@@ -711,8 +724,11 @@
self.FileMenu.Enable(wx.ID_PAGE_SETUP, False)
self.FileMenu.Enable(wx.ID_PREVIEW, False)
self.FileMenu.Enable(wx.ID_PRINT, False)
+ MenuToolBar.EnableTool(wx.ID_PRINT, False)
self.FileMenu.Enable(wx.ID_SAVE, False)
+ MenuToolBar.EnableTool(wx.ID_SAVE, False)
self.FileMenu.Enable(wx.ID_SAVEAS, False)
+ MenuToolBar.EnableTool(wx.ID_SAVEAS, False)
self.FileMenu.Enable(wx.ID_PROPERTIES, False)
self.FileMenu.Enable(wx.ID_CLOSE_ALL, False)
@@ -1363,6 +1379,7 @@
main_menu.Append(help=help, id=new_id, kind=wx.ITEM_NORMAL, text=_("Append ")+help)
self.Bind(wx.EVT_MENU, self._GetAddPluginFunction(name, plugin), id=new_id)
self.PopupMenuXY(main_menu)
+ main_menu.Destroy()
return AddPluginMenu
def GetButtonCallBackFunction(self, plugin, method):
@@ -1629,7 +1646,7 @@
else:
self.ResetView()
self.ShowErrorMessage(result)
- self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU)
+ self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU)
dialog.Destroy()
def OnOpenProjectMenu(self, event):
@@ -1665,14 +1682,14 @@
self.ShowErrorMessage(result)
else:
self.ShowErrorMessage(_("\"%s\" folder is not a valid Beremiz project\n") % projectpath)
- self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU)
+ self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU)
def OnCloseProjectMenu(self, event):
if self.PluginRoot is not None and not self.CheckSaveBeforeClosing():
return
self.ResetView()
- self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU)
+ self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU)
self.RefreshAll()
def OnSaveProjectMenu(self, event):