def __init__( self, hwID: str, hwNumber: str, fact: GuiDeviceFactory, dri: TelnetClientDriAsync, outputFn, trace: CoreTrace, errHandler, completeFn, ): uiPyModule = TempFiles.UiPyModule("QConfigMain", "DeviceWidget") GuiDeviceWidget.__init__(self, None, uiPyModule, "Ui_DeviceWidget") self.dri = TelnetClientDriAsyncQueue(dri, errHandler) self.info = CoreDeviceBroadcastInfoGen(hwID, hwNumber) self.name = self.info.StaticName self.completeFn = completeFn self.outputFn = outputFn self.processedMonitCmdCount = 0 self.common = GuiDeviceCommon(self.name, lambda name, text: outputFn(text), trace) # check CreateCustomWidget() self.custom = fact.CreateCustomWidget(hwID, self.common, self) self.Ui.mainLayout.addWidget(self.custom, 3, 0) self.conf = None self.__CheckCreateConfigAndConfigHandler(hwID, fact) # start test self.__Step("Test started") self.__ExecRunScript()
def __init__(self, nameCheckerFn, info : CoreDeviceBroadcastInfo, confDict : {}, devConfigDir : str, dri : TelnetClientDriAsync, fact : GuiDeviceFactory, statusFn, errorHandler, trace : CoreTrace): """ 'nameCheckerFn' - fn(name: str, staticNAme : str) -> bool, using to check that device name is unique within device list, 'info' - broadcast info, 'confDict' - loaded from file config, can be None, 'devConfigDir' - directory using to save device config file, 'statusFn' - fn(name : str, text : str) -> None, 'errorHandler' - fn(e : Exception) -> None If device created from config file: info == None and info part of widget will be updated on next broadcast. If device created from broadcast info: confDict == None, widget will be updated from default config. """ uiPyModule = TempFiles.UiPyModule('QConfigMain', 'DeviceWidget') GuiDeviceWidget.__init__(self, None, uiPyModule, 'Ui_DeviceWidget') self.errorHandler = errorHandler self.vertScroll = None # to adjust on resize self.runButton = None # QAction, using to change: 'Run' <-> 'Stop' self.monitButton = None self.dri = TelnetClientDriAsyncQueue(dri, self.errorHandler) self.nameCheckerFn = nameCheckerFn self.processedMonitCmdCount = 0 self.isRunnning = False self.info = info self.conf = None self.name = None self.staticName = None self.hwNumber = None self.hwID = None self.common = None self.custom = None self.inClosingState = False self.threadId = threading.current_thread() self.__InitProperties(info, confDict) self.__InitCommonPart(statusFn, trace) self.__InitCustomPart(info, confDict, devConfigDir, fact) self.__SetupUi(fact) self.__RegisterInHwFinder() if self.info: self.UpdateBroadcastInfo(self.info)