# HG changeset patch # User laurent # Date 1328281969 -3600 # Node ID 92a1ec3c6fdd6d8320abb942376f40c897b8dfa7 # Parent 607731b33026c80543c9ea83945fe0d5b3d06e71 Fix bug list of recent projects opened not updated when open project with command line diff -r 607731b33026 -r 92a1ec3c6fdd Beremiz.py --- a/Beremiz.py Thu Feb 02 16:09:27 2012 +0100 +++ b/Beremiz.py Fri Feb 03 16:12:49 2012 +0100 @@ -478,6 +478,7 @@ self.LastPanelSelected = None self.PluginInfos = {} + self.PluginRoot = None # Define Tree item icon list self.LocationImageList = wx.ImageList(16, 16) @@ -497,27 +498,19 @@ self.SetIcon(wx.Icon(Bpath( "images", "brz.ico"), wx.BITMAP_TYPE_ICO)) if projectOpen is not None and os.path.isdir(projectOpen): - self.PluginRoot = PluginsRoot(self, self.Log) - self.Controler = self.PluginRoot - result = self.PluginRoot.LoadProject(projectOpen, buildpath) - if not result: - self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE) - self.RefreshAll() - else: - self.ResetView() - self.ShowErrorMessage(result) + self.OpenProject(os.path.abspath(projectOpen)) else: self.PluginRoot = plugin_root self.Controler = plugin_root if plugin_root is not None: self._Refresh(TYPESTREE, INSTANCESTREE, LIBRARYTREE) self.RefreshAll() + self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU) if self.EnableDebug: self.DebugVariablePanel.SetDataProducer(self.PluginRoot) self.Bind(wx.EVT_CLOSE, self.OnCloseFrame) - self._Refresh(TITLE, TOOLBAR, FILEMENU, EDITMENU, DISPLAYMENU) self.RefreshPluginMenu() self.LogConsole.SetFocus() diff -r 607731b33026 -r 92a1ec3c6fdd LPCBeremiz.py --- a/LPCBeremiz.py Thu Feb 02 16:09:27 2012 +0100 +++ b/LPCBeremiz.py Fri Feb 03 16:12:49 2012 +0100 @@ -60,8 +60,6 @@ from Beremiz import * from plugger import PluginsRoot, PlugTemplate, opjimg, connectors -from plugins.canfestival import RootClass as CanOpenRootClass -from plugins.canfestival.canfestival import _SlavePlug, _NodeListPlug, NodeManager from plcopen.structures import LOCATIONDATATYPES from PLCControler import LOCATION_PLUGIN, LOCATION_MODULE, LOCATION_GROUP,\ LOCATION_VAR_INPUT, LOCATION_VAR_OUTPUT, LOCATION_VAR_MEMORY @@ -190,9 +188,6 @@ return self.VariableLocationTree raise KeyError, "Only 'children' key is available" - def PlugEnabled(self): - return None - def SetIcon(self, icon): self.Icon = icon @@ -360,90 +355,6 @@ return [(Gen_Module_path, matiec_flags)],"",True #------------------------------------------------------------------------------- -# LPC CanFestival Plugin Class -#------------------------------------------------------------------------------- - -DEFAULT_SETTINGS = { - "CAN_Baudrate": "125K", - "Slave_NodeId": 2, - "Master_NodeId": 1, -} - -class LPCCanOpenSlave(_SlavePlug): - XSD = """ - - - - - - - - - - - - - - - - - - """ % DEFAULT_SETTINGS - - def __init__(self): - # TODO change netname when name change - NodeManager.__init__(self) - odfilepath = self.GetSlaveODPath() - if(os.path.isfile(odfilepath)): - self.OpenFileInCurrent(odfilepath) - else: - self.CreateNewNode("SlaveNode", # Name - will be changed at build time - 0x00, # NodeID - will be changed at build time - "slave", # Type - "", # description - "None", # profile - "", # prfile filepath - "heartbeat", # NMT - []) # options - self.OnPlugSave() - - def GetCanDevice(self): - return str(self.BaseParams.getIEC_Channel()) - -class LPCCanOpenMaster(_NodeListPlug): - XSD = """ - - - - - - - - - - """ % DEFAULT_SETTINGS - - def GetCanDevice(self): - return str(self.BaseParams.getIEC_Channel()) - -class LPCCanOpen(CanOpenRootClass): - XSD = None - PlugChildsTypes = [("CanOpenNode",LPCCanOpenMaster, "CanOpen Master"), - ("CanOpenSlave",LPCCanOpenSlave, "CanOpen Slave")] - - def LoadChilds(self): - PlugTemplate.LoadChilds(self) - - if self.GetChildByName("Master") is None: - master = self.PlugAddChild("Master", "CanOpenNode", 0) - master.BaseParams.setEnabled(False) - - if self.GetChildByName("Slave") is None: - slave = self.PlugAddChild("Slave", "CanOpenSlave", 1) - slave.BaseParams.setEnabled(False) - - -#------------------------------------------------------------------------------- # LPCPluginsRoot Class #------------------------------------------------------------------------------- @@ -500,7 +411,7 @@ PluginsRoot.__init__(self, frame, logger) - self.PlugChildsTypes += [("LPCBus", LPCBus, "LPC bus"), ("CanOpen", LPCCanOpen, "CanOpen bus")] + self.PlugChildsTypes += [("LPCBus", LPCBus, "LPC bus")] self.PlugType = "LPC" self.OnlineMode = "OFF" @@ -679,11 +590,6 @@ #Load and init all the childs self.LoadChilds() - if self.GetChildByName("CanOpen") is None: - canopen = self.PlugAddChild("CanOpen", "CanOpen", 0) - canopen.BaseParams.setEnabled(False) - canopen.LoadChilds() - if self.PlugTestModified(): self.SaveProject() @@ -1137,14 +1043,9 @@ self.PluginTreeSizer.AddWindow(leftwindow, 0, border=0, flag=wx.GROW) - leftwindowvsizer = wx.BoxSizer(wx.VERTICAL) - leftwindow.SetSizer(leftwindowvsizer) - leftwindowsizer = wx.BoxSizer(wx.HORIZONTAL) - leftwindowvsizer.AddSizer(leftwindowsizer, 0, border=0, flag=0) - - self.GenerateEnableButton(leftwindow, leftwindowsizer, plugin) - + leftwindow.SetSizer(leftwindowsizer) + st = wx.StaticText(leftwindow, -1) st.SetFont(wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL, wx.BOLD, faceName = faces["helv"])) st.SetLabel(plugin.GetFullIEC_Channel()) @@ -1204,7 +1105,9 @@ st.SetLabel(plugin.MandatoryParams[1].getName()) leftwindowsizer.AddWindow(st, 0, border=5, flag=wx.RIGHT|wx.ALIGN_CENTER_VERTICAL) - rightwindow = self.GenerateParamsPanel(plugin, bkgdclr) + rightwindow = wx.Panel(self.PLCConfig, -1, size=wx.Size(-1, -1)) + rightwindow.SetBackgroundColour(bkgdclr) + self.PluginTreeSizer.AddWindow(rightwindow, 0, border=0, flag=wx.GROW) self.PluginInfos[plugin]["left"] = leftwindow