--- a/LPCManager.py Fri Jun 16 10:53:17 2017 +0200
+++ b/LPCManager.py Tue Jul 04 10:03:14 2017 +0200
@@ -1,17 +1,18 @@
__version__ = "$Revision$"
import os, getopt, tempfile
-from types import TupleType, StringType, UnicodeType
+from types import StringType, UnicodeType +from blinker import signal _lpcmanager_path = os.path.split(__file__)[0]
@@ -91,6 +92,16 @@
from util.BitmapLibrary import AddBitmapFolder
AddBitmapFolder(os.path.join(_lpcmanager_path, "images"))
+ for folder in util.BitmapLibrary.BitmapFolders: + bmp_path = os.path.join(folder, gif_name) + if os.path.isfile(bmp_path): + util.BitmapLibrary.GetPath = GetPath + from util.BitmapLibrary import GetPath config = wx.ConfigBase.Get()
report = str(config.Read("Report"))
@@ -108,10 +119,10 @@
_lpcmanager_path = os.path.split(__file__)[0]
+from Beremiz.LPCManager.SmartehWidgets import SmartehScreenSplash as splash from POULibrary import POULibrary
class PLCLibraryLPC(POULibrary):
def GetLibraryPath(self):
return os.path.join(_lpcmanager_path + '/Pous/', "pousLPC.xml")
@@ -148,10 +159,6 @@
from LPCconnector.PYRO import MW_PYRO_connector_factory
from LPCconnector.WAMP import MWWAMP_connector_factory
-# connectors.connectors["LPC"] = lambda: LPC_connector_factory
-# connectors.connectors["PYRO"] = lambda: MW_PYRO_connector_factory
-# connectors.connectors["WAMP"] = lambda: MWWAMP_connector_factory
from LPCtarget import LPC_target
@@ -1120,10 +1127,7 @@
# LogViewer.OnCleanButton = OnCleanButton
-from PLCControler import PLCControler, LOCATION_MODULE, LOCATION_GROUP, \
- LOCATION_VAR_INPUT, LOCATION_VAR_OUTPUT, LOCATION_VAR_MEMORY
-from IDEFrame import IDEFrame
-from dialogs import ProjectDialog
+from PLCControler import PLCControler, LOCATION_MODULE, LOCATION_GROUP defaultGenerateNewName = PLCControler.GenerateNewName
def newGenerateNewName(self, tagname, name, format, start_idx=0, exclude={}, debug=False):
@@ -1173,8 +1177,6 @@
-from editors.ConfTreeNodeEditor import GenBitmapTextButton
-from editors.ConfTreeNodeEditor import ConfTreeNodeEditor
# ConfTreeNodeEditor.SHOW_BASE_PARAMS = False
# -------------------------------------------------------------------------------
@@ -1512,18 +1514,43 @@
self.logger.write(_("Export file is not created because eror: %s\n") % e)
- self._Clean(building = True)
+ threads = threading.enumerate() + def __Build(args, save, frame=None): + thread = Thread(target=frame.ShowModal) + build_succeeded = ProjectController._Build(args) + wx.CallAfter(args.AppFrame.RefreshAll) save = self.ProjectTestModified()
self.AppFrame._Refresh(TITLE, FILEMENU)
if self.BuildPath is not None:
mycopytree(self.OrigBuildPath, self.BuildPath)
- build_succeeded = ProjectController._Build(self)
- wx.CallAfter(self.AppFrame.RefreshAll)
+ if len(filter(lambda x: x.getName() == "OnBuildThread", threads)) == 0: + self._Clean(building=True) + frame = splash.SmartehScreenSplash(self.AppFrame, bitmap=GetPath(splash.SPLASH_FN)) + build_thread = Thread(name="OnBuildThread", target=__Build, args=(self,save, frame)) + build_thread.daemon = True + self.logger.write(_("Already building project.\n")) def SetProjectName(self, name):
return self.Project.setname(name)
@@ -2312,6 +2339,11 @@
+ loading = splash.SmartehScreenSplash(self, bitmap=GetPath(splash.SPLASH_FN), signal=signal_init) + thread = Thread(target=loading.ShowModal) def CheckEnabler(self, event):
@@ -2531,6 +2563,8 @@
self.restore_last_state = True
+ # signal_init.send("show") @@ -2566,6 +2600,9 @@
def SetOnlineMode(self, mode, path=None):
self.CTR.SetOnlineMode(mode, path)
+ print("Set online mode") + signal_init.send("close") def AddBus(self, iec_channel, name, icon=None):
for child in self.CTR.IterChildren():
@@ -2859,6 +2896,8 @@
Log.write("Error: No such file or directory")
+ signal_init = signal("build") cmd_thread = Thread(target=CmdThreadProc, args=[CTR, Log])