示例#1
0
    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()
示例#2
0
 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)