--- a/Beremiz.py Thu Jun 07 01:14:58 2012 +0200
+++ b/Beremiz.py Fri Jun 08 12:39:37 2012 +0200
@@ -438,7 +438,7 @@
# Add beremiz's icon in top left corner of the frame
self.SetIcon(wx.Icon(Bpath( "images", "brz.ico"), wx.BITMAP_TYPE_ICO))
- if projectOpen is None and self.Config.HasEntry("currenteditedproject"):
+ if ctr is None and projectOpen is None and self.Config.HasEntry("currenteditedproject"): projectOpen = str(self.Config.Read("currenteditedproject"))
--- a/ConfTreeNodeEditor.py Thu Jun 07 01:14:58 2012 +0200
+++ b/ConfTreeNodeEditor.py Fri Jun 08 12:39:37 2012 +0200
@@ -146,6 +146,7 @@
class ConfTreeNodeEditor(EditorPanel):
def _init_ConfNodeEditor(self, prnt):
self.ConfNodeEditor = None
@@ -156,80 +157,86 @@
self.SetNeedUpdating(True)
self.SetMinimumPaneSize(1)
- self.ParamsEditor = wx.ScrolledWindow(self.Editor, -1, size=wx.Size(-1, -1),
- style=wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER|wx.HSCROLL|wx.VSCROLL)
- self.ParamsEditor.SetBackgroundColour(WINDOW_COLOUR)
- self.ParamsEditor.Bind(wx.EVT_SIZE, self.OnWindowResize)
- self.ParamsEditor.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)
- # Variable allowing disabling of ParamsEditor scroll when Popup shown
- self.ScrollingEnabled = True
- self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5)
- self.ParamsEditorSizer.AddGrowableCol(0)
- self.ParamsEditorSizer.AddGrowableRow(1)
- self.ParamsEditor.SetSizer(self.ParamsEditorSizer)
- baseparamseditor_sizer = wx.BoxSizer(wx.HORIZONTAL)
- self.ParamsEditorSizer.AddSizer(baseparamseditor_sizer, 0, border=5,
- flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.TOP)
- self.FullIECChannel = wx.StaticText(self.ParamsEditor, -1)
- self.FullIECChannel.SetFont(
- wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL,
- wx.BOLD, faceName = faces["helv"]))
- baseparamseditor_sizer.AddWindow(self.FullIECChannel, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL)
- updownsizer = wx.BoxSizer(wx.VERTICAL)
- baseparamseditor_sizer.AddSizer(updownsizer, 0, border=5,
- flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL)
- ieccupbutton_id = wx.NewId()
- self.IECCUpButton = wx.lib.buttons.GenBitmapTextButton(
- id=ieccupbutton_id, bitmap=wx.Bitmap(opjimg('IECCDown')),
- name='IECUpButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
- size=wx.Size(16, 16), style=wx.NO_BORDER)
- self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1),
- updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT)
- ieccdownbutton_id = wx.NewId()
- self.IECCDownButton = wx.lib.buttons.GenBitmapButton(
- id=ieccdownbutton_id, bitmap=wx.Bitmap(opjimg('IECCUp')),
- name='IECDownButton', parent=self.ParamsEditor, pos=wx.Point(0, 0),
- size=wx.Size(16, 16), style=wx.NO_BORDER)
- self.IECCDownButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(-1),
- updownsizer.AddWindow(self.IECCDownButton, 0, border=0, flag=wx.ALIGN_LEFT)
- confnodename_id = wx.NewId()
- self.ConfNodeName = wx.TextCtrl(
- self.ParamsEditor, confnodename_id,
- size=wx.Size(150, 25), style=wx.NO_BORDER)
- self.ConfNodeName.SetFont(
- wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL,
- wx.BOLD, faceName = faces["helv"]))
- self.ConfNodeName.Bind(wx.EVT_TEXT,
- self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True),
- baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL)
- buttons_sizer = self.GenerateMethodButtonSizer()
- baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER)
- self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL)
- self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5,
- flag=wx.LEFT|wx.RIGHT|wx.BOTTOM)
+ self.ParamsEditor = wx.ScrolledWindow(self.Editor, -1, size=wx.Size(-1, -1), + style=wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER|wx.HSCROLL|wx.VSCROLL) + self.ParamsEditor.SetBackgroundColour(WINDOW_COLOUR) + self.ParamsEditor.Bind(wx.EVT_SIZE, self.OnWindowResize) + self.ParamsEditor.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel) + # Variable allowing disabling of ParamsEditor scroll when Popup shown + self.ScrollingEnabled = True + self.ParamsEditorSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=5) + self.ParamsEditorSizer.AddGrowableCol(0) + self.ParamsEditorSizer.AddGrowableRow(1) + self.ParamsEditor.SetSizer(self.ParamsEditorSizer) + baseparamseditor_sizer = wx.BoxSizer(wx.HORIZONTAL) + self.ParamsEditorSizer.AddSizer(baseparamseditor_sizer, 0, border=5, + flag=wx.GROW|wx.LEFT|wx.RIGHT|wx.TOP) + self.FullIECChannel = wx.StaticText(self.ParamsEditor, -1) + self.FullIECChannel.SetFont( + wx.Font(faces["size"], wx.DEFAULT, wx.NORMAL, + wx.BOLD, faceName = faces["helv"])) + baseparamseditor_sizer.AddWindow(self.FullIECChannel, 0, border=0, flag=wx.ALIGN_CENTER_VERTICAL) + updownsizer = wx.BoxSizer(wx.VERTICAL) + baseparamseditor_sizer.AddSizer(updownsizer, 0, border=5, + flag=wx.LEFT|wx.ALIGN_CENTER_VERTICAL) + ieccupbutton_id = wx.NewId() + self.IECCUpButton = wx.lib.buttons.GenBitmapTextButton( + id=ieccupbutton_id, bitmap=wx.Bitmap(opjimg('IECCDown')), + name='IECUpButton', parent=self.ParamsEditor, pos=wx.Point(0, 0), + size=wx.Size(16, 16), style=wx.NO_BORDER) + self.IECCUpButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(1), + updownsizer.AddWindow(self.IECCUpButton, 0, border=0, flag=wx.ALIGN_LEFT) + ieccdownbutton_id = wx.NewId() + self.IECCDownButton = wx.lib.buttons.GenBitmapButton( + id=ieccdownbutton_id, bitmap=wx.Bitmap(opjimg('IECCUp')), + name='IECDownButton', parent=self.ParamsEditor, pos=wx.Point(0, 0), + size=wx.Size(16, 16), style=wx.NO_BORDER) + self.IECCDownButton.Bind(wx.EVT_BUTTON, self.GetItemChannelChangedFunction(-1), + updownsizer.AddWindow(self.IECCDownButton, 0, border=0, flag=wx.ALIGN_LEFT) + confnodename_id = wx.NewId() + self.ConfNodeName = wx.TextCtrl( + self.ParamsEditor, confnodename_id, + size=wx.Size(150, 25), style=wx.NO_BORDER) + self.ConfNodeName.SetFont( + wx.Font(faces["size"] * 0.75, wx.DEFAULT, wx.NORMAL, + wx.BOLD, faceName = faces["helv"])) + self.ConfNodeName.Bind(wx.EVT_TEXT, + self.GetTextCtrlCallBackFunction(self.ConfNodeName, "BaseParams.Name", True), + baseparamseditor_sizer.AddWindow(self.ConfNodeName, 0, border=5, flag=wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_VERTICAL) + buttons_sizer = self.GenerateMethodButtonSizer() + baseparamseditor_sizer.AddSizer(buttons_sizer, 0, border=0, flag=wx.ALIGN_CENTER) + self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL) + self.ParamsEditorSizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, + flag=wx.LEFT|wx.RIGHT|wx.BOTTOM) + self.ParamsEditor = None self._init_ConfNodeEditor(self.Editor)
if self.ConfNodeEditor is not None:
- min_size = self.ParamsEditorSizer.GetMinSize()
- self.Editor.SplitHorizontally(self.ParamsEditor,
- min(min_size.height, 200))
+ if self.ParamsEditor is not None: + min_size = self.ParamsEditorSizer.GetMinSize() + self.Editor.SplitHorizontally(self.ParamsEditor, + min(min_size.height, 200)) + self.Editor.Initialize(self.ConfNodeEditor) + elif self.ParamsEditor is not None: self.Editor.Initialize(self.ParamsEditor)
def __init__(self, parent, controler, window, tagname=""):
@@ -266,9 +273,10 @@
EditorPanel.RefreshView(self)
- self.ConfNodeName.ChangeValue(self.Controler.MandatoryParams[1].getName())
- self.RefreshIECChannelControlsState()
- self.RefreshConfNodeParamsSizer()
+ if self.ParamsEditor is not None: + self.ConfNodeName.ChangeValue(self.Controler.MandatoryParams[1].getName()) + self.RefreshIECChannelControlsState() + self.RefreshConfNodeParamsSizer() def EnableScrolling(self, enable):
self.ScrollingEnabled = enable
--- a/ProjectNodeEditor.py Thu Jun 07 01:14:58 2012 +0200
+++ b/ProjectNodeEditor.py Fri Jun 08 12:39:37 2012 +0200
@@ -7,6 +7,7 @@
class ProjectNodeEditor(ConfTreeNodeEditor):
VARIABLE_PANEL_TYPE = "config"
def _init_Editor(self, prnt):
self.Editor = wx.ScrolledWindow(prnt, -1, size=wx.Size(-1, -1),
@@ -34,11 +35,14 @@
self.ParamsEditorSizer.AddSizer(projectproperties_sizer, 0, border=5,
flag=wx.LEFT|wx.RIGHT|wx.BOTTOM)
- self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL)
- projectproperties_sizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5,
+ self.ConfNodeParamsSizer = wx.BoxSizer(wx.VERTICAL) + projectproperties_sizer.AddSizer(self.ConfNodeParamsSizer, 0, border=5, + self.ConfNodeParamsSizer = None - self.ProjectProperties = ProjectPropertiesPanel(self.Editor, self.Controler, self.ParentWindow)
+ self.ProjectProperties = ProjectPropertiesPanel(self.Editor, self.Controler, self.ParentWindow, self.ENABLE_REQUIRED) projectproperties_sizer.AddWindow(self.ProjectProperties, 0, border=0, flag=0)
def __init__(self, parent, controler, window):
@@ -61,7 +65,8 @@
EditorPanel.RefreshView(self)
- self.RefreshConfNodeParamsSizer()
+ if self.ConfNodeParamsSizer is not None: + self.RefreshConfNodeParamsSizer() self.ProjectProperties.RefreshView()
def GetBufferState(self):
--- a/canfestival/NetworkEditor.py Thu Jun 07 01:14:58 2012 +0200
+++ b/canfestival/NetworkEditor.py Fri Jun 08 12:39:37 2012 +0200
@@ -3,7 +3,7 @@
from subindextable import EditingPanel
from networkedit import NetworkEditorTemplate
-from controls import EditorPanel
+from ConfTreeNodeEditor import ConfTreeNodeEditor ] = [wx.NewId() for _init_ctrls in range(1)]
@@ -22,7 +22,7 @@
ID_NETWORKEDITORADDMENUMAPVARIABLE, ID_NETWORKEDITORADDMENUUSERTYPE,
] = [wx.NewId() for _init_coll_AddMenu_Items in range(6)]
-class NetworkEditor(EditorPanel, NetworkEditorTemplate):
+class NetworkEditor(ConfTreeNodeEditor, NetworkEditorTemplate): @@ -39,23 +39,20 @@
self._init_coll_MainSizer_Items(self.MainSizer)
self._init_coll_MainSizer_Growables(self.MainSizer)
- self.Editor.SetSizer(self.MainSizer)
+ self.ConfNodeEditor.SetSizer(self.MainSizer) - def _init_Editor(self, prnt):
- self.Editor = wx.Panel(id=-1, parent=prnt, pos=wx.Point(0, 0),
+ def _init_ConfNodeEditor(self, prnt): + self.ConfNodeEditor = wx.Panel(id=-1, parent=prnt, pos=wx.Point(0, 0), size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL)
- NetworkEditorTemplate._init_ctrls(self, self.Editor)
+ NetworkEditorTemplate._init_ctrls(self, self.ConfNodeEditor) def __init__(self, parent, controler, window):
- EditorPanel.__init__(self, parent, "", window, controler)
+ ConfTreeNodeEditor.__init__(self, parent, controler, window) NetworkEditorTemplate.__init__(self, controler, window, False)
- img = wx.Bitmap(controler.GetIconPath(), wx.BITMAP_TYPE_PNG).ConvertToImage()
- self.SetIcon(wx.BitmapFromImage(img.Rescale(16, 16)))
self.RefreshNetworkNodes()
self.RefreshBufferState()
@@ -97,13 +94,8 @@
def RefreshConfNodeMenu(self, confnode_menu):
confnode_menu.Enable(ID_NETWORKEDITORCONFNODEMENUMASTER, self.NetworkNodes.GetSelection() == 0)
- fullname = self.Controler.CTNFullName()
- if not self.Manager.CurrentIsSaved():
- return "~%s~" % fullname
+ ConfTreeNodeEditor.RefreshView(self) self.RefreshCurrentIndexList()
def RefreshBufferState(self):
@@ -116,4 +108,3 @@
def OnNodeSelectedChanged(self, event):
NetworkEditorTemplate.OnNodeSelectedChanged(self, event)
wx.CallAfter(self.ParentWindow.RefreshConfNodeMenu)
--- a/canfestival/SlaveEditor.py Thu Jun 07 01:14:58 2012 +0200
+++ b/canfestival/SlaveEditor.py Fri Jun 08 12:39:37 2012 +0200
@@ -3,7 +3,7 @@
from subindextable import EditingPanel
from nodeeditor import NodeEditorTemplate
-from controls import EditorPanel
+from ConfTreeNodeEditor import ConfTreeNodeEditor [ID_SLAVEEDITORCONFNODEMENUNODEINFOS, ID_SLAVEEDITORCONFNODEMENUDS301PROFILE,
ID_SLAVEEDITORCONFNODEMENUDS302PROFILE, ID_SLAVEEDITORCONFNODEMENUDSOTHERPROFILE,
@@ -15,18 +15,15 @@
ID_SLAVEEDITORADDMENUMAPVARIABLE, ID_SLAVEEDITORADDMENUUSERTYPE,
] = [wx.NewId() for _init_coll_AddMenu_Items in range(6)]
-class SlaveEditor(EditorPanel, NodeEditorTemplate):
+class SlaveEditor(ConfTreeNodeEditor, NodeEditorTemplate): - def _init_Editor(self, prnt):
- self.Editor = EditingPanel(prnt, self, self.Controler, self.Editable)
+ def _init_ConfNodeEditor(self, prnt): + self.ConfNodeEditor = EditingPanel(prnt, self, self.Controler, self.Editable) def __init__(self, parent, controler, window, editable=True):
- EditorPanel.__init__(self, parent, "", window, controler)
+ ConfTreeNodeEditor.__init__(self, parent, controler, window) NodeEditorTemplate.__init__(self, controler, window, False)
- img = wx.Bitmap(controler.GetIconPath(), wx.BITMAP_TYPE_PNG).ConvertToImage()
- self.SetIcon(wx.BitmapFromImage(img.Rescale(16, 16)))
self.Controler.OnCloseEditor(self)
@@ -59,15 +56,10 @@
def RefreshConfNodeMenu(self, confnode_menu):
confnode_menu.Enable(ID_SLAVEEDITORCONFNODEMENUDSOTHERPROFILE, False)
- fullname = self.Controler.CTNFullName()
- if not self.Controler.CurrentIsSaved():
- return "~%s~" % fullname
- self.Editor.RefreshIndexList()
+ ConfTreeNodeEditor.RefreshView(self) + self.ConfNodeEditor.RefreshIndexList() def RefreshCurrentIndexList(self):
--- a/canfestival/canfestival.py Thu Jun 07 01:14:58 2012 +0200
+++ b/canfestival/canfestival.py Fri Jun 08 12:39:37 2012 +0200
@@ -271,11 +271,11 @@
app_frame.DeletePage(self._GeneratedView)
- {"bitmap" : os.path.join("images", "NetworkEdit"),
+ {"bitmap" : "NetworkEdit", "name" : _("Edit network"),
"tooltip" : _("Edit CanOpen Network with NetworkEdit"),
- {"bitmap" : os.path.join("images", "ShowMaster"),
+ {"bitmap" : "ShowMaster", "name" : _("Show Master"),
"tooltip" : _("Show Master generated by config_utils"),
"method" : "_ShowMasterGenerated"}
--- a/targets/__init__.py Thu Jun 07 01:14:58 2012 +0200
+++ b/targets/__init__.py Fri Jun 08 12:39:37 2012 +0200
@@ -37,8 +37,8 @@
return lambda:getattr(__import__(name,globals(),locals()), name+"_target")
targets = dict([(name, {"xsd":path.join(_base_path, name, "XSD"),
- "class":_GetLocalTargetClassFactory(name),
- "code": path.join(path.split(__file__)[0],name,"plc_%s_main.c"%name)})
+ "class":_GetLocalTargetClassFactory(name), + "code": path.join(path.split(__file__)[0],name,"plc_%s_main.c"%name)}) for name in listdir(_base_path)
if path.isdir(path.join(_base_path, name))
and not name.startswith("__")])