lpcmanager

Parents da4472fc3e20
Children 3428927e744b
LPCSVGHMI: Make error at build time if more than one HMI launches a browser
  • +16 -0
    LPCSVGHMI.py
  • --- a/LPCSVGHMI.py Thu Jul 22 12:06:58 2021 +0200
    +++ b/LPCSVGHMI.py Thu Jul 22 12:08:29 2021 +0200
    @@ -78,3 +78,19 @@
    return os.path.join(ScriptDirectory, "portrait.svg" if portrait else "landscape.svg")
    SVGHMI.getDefaultSVG = getDefaultSVG
    +
    +old_Generate_C = SVGHMILibrary.Generate_C
    +
    +def Generate_C(self, *args, **kwargs):
    + already_found_browser_launch = False
    + for CTNChild in self.GetCTR().IterChildren():
    + if isinstance(CTNChild, SVGHMI):
    + # spot browser launch abuse
    + if CTNChild.GetParamsAttributes("SVGHMI.OnStart")["value"].find("{LPCBrowserStart}") >= 0:
    + if already_found_browser_launch:
    + self.FatalError("SVGHMI: Only one HMI can launch browser")
    + already_found_browser_launch = True
    +
    + return old_Generate_C(self, *args, **kwargs)
    +
    +SVGHMILibrary.Generate_C = Generate_C