--- a/Beremiz.py Sat May 12 12:11:42 2012 +0200
+++ b/Beremiz.py Fri May 18 18:50:49 2012 +0200
@@ -147,11 +147,11 @@
from util.BrowseValuesLibraryDialog import BrowseValuesLibraryDialog
import types, time, re, platform, time, traceback, commands
from ProjectController import ProjectController, MATIEC_ERROR_MODEL
-from util import MiniTextControler
+from util.MiniTextControler import MiniTextControler from util.ProcessLogger import ProcessLogger
from docutil import OpenHtmlFrame
-from PLCOpenEditor import IDEFrame, AppendMenu, TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU, TYPESTREE, INSTANCESTREE, LIBRARYTREE, SCALING, PAGETITLES, USE_AUI
+from PLCOpenEditor import IDEFrame, AppendMenu, TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU, PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE, SCALING, PAGETITLES, USE_AUI from PLCOpenEditor import EditorPanel, Viewer, TextViewer, GraphicViewer, ResourceEditor, ConfigurationEditor, DataTypeEditor
from PLCControler import LOCATION_CONFNODE, LOCATION_MODULE, LOCATION_GROUP, LOCATION_VAR_INPUT, LOCATION_VAR_OUTPUT, LOCATION_VAR_MEMORY
@@ -558,8 +558,9 @@
result = self.CTR.LoadProject(projectOpen, buildpath)
self.LibraryPanel.SetControler(self.Controler)
+ self.PouInstanceVariablesPanel.SetController(self.Controler) self.RefreshConfigRecentProjects(os.path.abspath(projectOpen))
- self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE)
+ self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE) @@ -569,7 +570,8 @@
self.LibraryPanel.SetControler(self.Controler)
- self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE)
+ self.PouInstanceVariablesPanel.SetController(self.Controler) + self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE) self.DebugVariablePanel.SetDataProducer(self.CTR)
@@ -773,18 +775,22 @@
self.FileMenu.Enable(wx.ID_CLOSE_ALL, False)
def RefreshRecentProjectsMenu(self):
- for i in xrange(self.RecentProjectsMenu.GetMenuItemCount()):
- item = self.RecentProjectsMenu.FindItemByPosition(0)
- self.RecentProjectsMenu.Delete(item.GetId())
recent_projects = cPickle.loads(str(self.Config.Read("RecentProjects", cPickle.dumps([]))))
self.FileMenu.Enable(ID_FILEMENURECENTPROJECTS, len(recent_projects) > 0)
for idx, projectpath in enumerate(recent_projects):
- AppendMenu(self.RecentProjectsMenu, help='', id=id,
- kind=wx.ITEM_NORMAL, text="%d: %s" % (idx + 1, projectpath))
+ text = u'%d: %s' % (idx + 1, projectpath) + if idx < self.RecentProjectsMenu.GetMenuItemCount(): + item = self.RecentProjectsMenu.FindItemByPosition(idx) + item.SetItemLabel(text) + self.Disconnect(id, id, wx.EVT_BUTTON._getEvtType()) + AppendMenu(self.RecentProjectsMenu, help='', id=id, + kind=wx.ITEM_NORMAL, text=text) self.Bind(wx.EVT_MENU, self.GenerateOpenRecentProjectFunction(projectpath), id=id)
def GenerateOpenRecentProjectFunction(self, projectpath):
def OpenRecentProject(event):
if self.CTR is not None and not self.CheckSaveBeforeClosing():
@@ -1680,10 +1686,11 @@
self.Controler = self.CTR
self.LibraryPanel.SetControler(self.Controler)
+ self.PouInstanceVariablesPanel.SetController(self.Controler) self.RefreshConfigRecentProjects(projectpath)
self.DebugVariablePanel.SetDataProducer(self.CTR)
- self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE)
+ self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE) @@ -1715,11 +1722,12 @@
result = self.CTR.LoadProject(projectpath)
self.LibraryPanel.SetControler(self.Controler)
+ self.PouInstanceVariablesPanel.SetController(self.Controler) self.RefreshConfigRecentProjects(projectpath)
self.DebugVariablePanel.SetDataProducer(self.CTR)
self.LoadProjectOrganization()
- self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE)
+ self._Refresh(PROJECTTREE, POUINSTANCEVARIABLESPANEL, LIBRARYTREE) --- a/LPCBeremiz.py Sat May 12 12:11:42 2012 +0200
+++ b/LPCBeremiz.py Fri May 18 18:50:49 2012 +0200
@@ -954,7 +954,6 @@
self.UnsubscribeAllDebugIECVariable()
self.ProgramTransferred()
if self.AppFrame is not None:
- self.AppFrame.RefreshInstancesTree()
self.AppFrame.CloseObsoleteDebugTabs()
self.logger.write(_("Transfer completed successfully.\n"))
@@ -1139,7 +1138,7 @@
if new_values != old_values:
self.Controler.SetProjectProperties(None, new_values)
self._Refresh(TITLE, EDITORTOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU,
- TYPESTREE, INSTANCESTREE, SCALING)
+ PROJECTTREE, POUINSTANCEVARIABLESPANEL, SCALING) def RefreshFileMenu(self):
@@ -1450,7 +1449,7 @@
- frame._Refresh(TITLE, INSTANCESTREE, FILEMENU, EDITMENU)
+ frame._Refresh(TITLE, POUINSTANCEVARIABLESPANEL, FILEMENU, EDITMENU) --- a/ProjectController.py Sat May 12 12:11:42 2012 +0200
+++ b/ProjectController.py Fri May 18 18:50:49 2012 +0200
@@ -59,10 +59,17 @@
+ <xsd:element name="Libraries" minOccurs="0"> + """+"\n".join(['<xsd:attribute name="Enable_'+ + '" type="xsd:boolean" use="optional" default="true"/>' + for lib in features.libraries])+""" <xsd:attribute name="URI_location" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="Disable_Extensions" type="xsd:boolean" use="optional" default="false"/>
- """+"\n".join(['<xsd:attribute name="Enable_'+lib.rsplit('.',1)[-1]+'" type="xsd:boolean" use="optional" default="true"/>' for lib in features.libraries])+"""
@@ -106,7 +113,7 @@
for clsname in features.libraries:
- if getattr(self.BeremizRoot, "Enable_"+clsname.rsplit('.',1)[-1]):
+ if self.BeremizRoot.Libraries is None or getattr(self.BeremizRoot.Libraries, "Enable_"+clsname.rsplit('.',1)[-1]): Lib = GetClassImporter(clsname)()(TypeStack)
TypeStack.append(Lib.GetTypes())
self.Libraries.append(Lib)
@@ -348,7 +355,7 @@
if self.AppFrame is not None:
self.AppFrame.RefreshTitle()
- self.AppFrame.RefreshInstancesTree()
+ self.AppFrame.RefreshPouInstanceVariablesPanel() self.AppFrame.RefreshFileMenu()
self.AppFrame.RefreshEditMenu()
self.AppFrame.RefreshEditor()
@@ -1337,7 +1344,6 @@
self.UnsubscribeAllDebugIECVariable()
self.ProgramTransferred()
if self.AppFrame is not None:
- self.AppFrame.RefreshInstancesTree()
self.AppFrame.CloseObsoleteDebugTabs()
self.logger.write(_("Transfer completed successfully.\n"))