--- a/ProjectController.py Mon Aug 27 22:13:43 2012 +0200
+++ b/ProjectController.py Mon Aug 27 23:36:57 2012 +0200
@@ -14,7 +14,7 @@
-from util.misc import CheckPathPerm, GetClassImporter
+from util.misc import CheckPathPerm, GetClassImporter, IECCodeViewer from util.MiniTextControler import MiniTextControler
from util.ProcessLogger import ProcessLogger
from util.FileManagementPanel import FileManagementPanel
@@ -948,8 +948,7 @@
if self._IECCodeView is None:
plc_file = self._getIECcodepath()
- self._IECCodeView = TextViewer(self.AppFrame.TabsOpened, "", None, None, instancepath=name)
- #self._IECCodeView.Enable(False)
+ self._IECCodeView = IECCodeViewer(self.AppFrame.TabsOpened, "", None, None, instancepath=name) self._IECCodeView.SetTextSyntax("ALL")
self._IECCodeView.SetKeywords(IEC_KEYWORDS)
@@ -958,6 +957,7 @@
text = '(* No IEC code have been generated at that time ! *)'
self._IECCodeView.SetText(text = text)
self._IECCodeView.SetIcon(GetBitmap("ST"))
+ setattr(self._IECCodeView, "_OnClose", self.OnCloseEditor) if self._IECCodeView is not None:
self.AppFrame.EditProjectElement(self._IECCodeView, name)
@@ -966,14 +966,14 @@
elif name == "IEC raw code":
if self._IECRawCodeView is None:
- controler = MiniTextControler(self._getIECrawcodepath())
+ controler = MiniTextControler(self._getIECrawcodepath(), self) - self._IECRawCodeView = TextViewer(self.AppFrame.TabsOpened, "", None, controler, instancepath=name)
- #self._IECRawCodeView.Enable(False)
+ self._IECRawCodeView = IECCodeViewer(self.AppFrame.TabsOpened, "", None, controler, instancepath=name) self._IECRawCodeView.SetTextSyntax("ALL")
self._IECRawCodeView.SetKeywords(IEC_KEYWORDS)
self._IECRawCodeView.RefreshView()
self._IECRawCodeView.SetIcon(GetBitmap("ST"))
+ setattr(self._IECRawCodeView, "_OnClose", self.OnCloseEditor) if self._IECRawCodeView is not None:
self.AppFrame.EditProjectElement(self._IECRawCodeView, name)
--- a/util/MiniTextControler.py Mon Aug 27 22:13:43 2012 +0200
+++ b/util/MiniTextControler.py Mon Aug 27 23:36:57 2012 +0200
@@ -6,8 +6,12 @@
- def __init__(self, filepath):
+ def __init__(self, filepath, controller): + self.BaseController = controller + self.BaseController = None @@ -31,14 +35,17 @@
def GetEditedElementType(self, tagname, debug = False):
+ def GetBlockType(self, type, inputs = None, debug = False): + return self.BaseController.GetBlockType(type, inputs, debug) def GetBlockTypes(self, tagname = "", debug = False):
+ return self.BaseController.GetBlockTypes(tagname, debug) def GetDataTypes(self, tagname = "", basetypes = True, only_locatables = False, debug = False):
+ return self.BaseController.GetDataTypes(tagname, basetypes, only_locatables, debug) def GetEnumeratedDataValues(self, debug = False):
+ return self.BaseController.GetEnumeratedDataValues(debug) def StartBuffering(self):
--- a/util/misc.py Mon Aug 27 22:13:43 2012 +0200
+++ b/util/misc.py Mon Aug 27 23:36:57 2012 +0200
@@ -3,7 +3,9 @@
+from TextViewer import TextViewer # helper func to check path write permission
if path is None or not os.path.isdir(path):
@@ -23,3 +25,9 @@
+class IECCodeViewer(TextViewer): + TextViewer.__del__(self) + if getattr(self, "_OnClose"): \ No newline at end of file