--- a/canfestival/canfestival.py Thu Jun 14 18:50:28 2012 +0200
+++ b/canfestival/canfestival.py Fri Jun 15 18:08:26 2012 +0200
@@ -112,6 +112,7 @@
ConfigTreeNode._OpenView(self)
if self._View is not None:
self._View.SetBusId(self.GetCurrentLocation())
+ return self._View
ConfNodeMethods = [
{"bitmap" : "NetworkEdit",
@@ -120,10 +121,6 @@
"method" : "_OpenView"},
]
- def OnCTNClose(self):
- if self._View:
- self._View.Close()
-
def CTNTestModified(self):
return self.ChangesToSave or self.OneFileHasChanged()
@@ -201,6 +198,8 @@
def GetBufferState(self):
return self.GetCurrentBufferState()
+ ConfNodeMethods = []
+
class _NodeListCTN(NodeList):
XSD = """<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
@@ -238,37 +237,37 @@
return result
- def _OpenView(self):
- ConfigTreeNode._OpenView(self)
- if self._View is not None:
- self._View.SetBusId(self.GetCurrentLocation())
-
- _GeneratedView = None
- def _ShowMasterGenerated(self):
- if self._GeneratedView is None:
- buildpath = self._getBuildPath()
- # Eventually create build dir
- if not os.path.exists(buildpath):
- self.GetCTRoot().logger.write_error(_("Error: No PLC built\n"))
- return
+ _GeneratedMasterView = None
+ def _ShowGeneratedMaster(self):
+ self._OpenView("Generated master")
+
+ def _OpenView(self, name=None):
+ if name == "Generated master":
+ if self._GeneratedMasterView is None:
+ buildpath = self._getBuildPath()
+ # Eventually create build dir
+ if not os.path.exists(buildpath):
+ self.GetCTRoot().logger.write_error(_("Error: No PLC built\n"))
+ return
+
+ masterpath = os.path.join(buildpath, "MasterGenerated.od")
+ if not os.path.exists(masterpath):
+ self.GetCTRoot().logger.write_error(_("Error: No Master generated\n"))
+ return
+
+ app_frame = self.GetCTRoot().AppFrame
+
+ manager = MiniNodeManager(self, masterpath, self.CTNFullName() + ".generated_master")
+ self._GeneratedMasterView = SlaveEditor(app_frame.TabsOpened, manager, app_frame, False)
+
+ app_frame.EditProjectElement(self._GeneratedMasterView, name)
- masterpath = os.path.join(buildpath, "MasterGenerated.od")
- if not os.path.exists(masterpath):
- self.GetCTRoot().logger.write_error(_("Error: No Master generated\n"))
- return
-
- app_frame = self.GetCTRoot().AppFrame
-
- manager = MiniNodeManager(self, masterpath, self.CTNFullName() + ".generated_master")
- self._GeneratedView = SlaveEditor(app_frame.TabsOpened, manager, app_frame, False)
-
- app_frame.EditProjectElement(self._GeneratedView, "MasterGenerated")
-
- def _CloseGenerateView(self):
- if self._GeneratedView is not None:
- app_frame = self.GetCTRoot().AppFrame
- if app_frame is not None:
- app_frame.DeletePage(self._GeneratedView)
+ return self._GeneratedMasterView
+ else:
+ ConfigTreeNode._OpenView(self)
+ if self._View is not None:
+ self._View.SetBusId(self.GetCurrentLocation())
+ return self._View
ConfNodeMethods = [
{"bitmap" : "NetworkEdit",
@@ -278,17 +277,17 @@
{"bitmap" : "ShowMaster",
"name" : _("Show Master"),
"tooltip" : _("Show Master generated by config_utils"),
- "method" : "_ShowMasterGenerated"}
+ "method" : "_ShowGeneratedMaster"}
]
def OnCloseEditor(self, view):
ConfigTreeNode.OnCloseEditor(self, view)
- if self._GeneratedView == view:
- self._GeneratedView = None
-
+ if self._GeneratedMasterView == view:
+ self._GeneratedMasterView = None
+
def OnCTNClose(self):
ConfigTreeNode.OnCTNClose(self)
- self._CloseGenerateView()
+ self._CloseView(self._GeneratedMasterView)
return True
def CTNTestModified(self):
@@ -311,7 +310,7 @@
}, ...]
@return: [(C_file_name, CFLAGS),...] , LDFLAGS_TO_APPEND
"""
- self._CloseGenerateView()
+ self._CloseView(self._GeneratedMasterView)
current_location = self.GetCurrentLocation()
# define a unique name for the generated C file
prefix = "_".join(map(str, current_location))