Ejemplo n.º 1
0
    def initNetworkTab(self):
        networkTabLayout = QVBoxLayout()
        self.networkTab.setLayout(networkTabLayout)

        networkConfigLayout = QGridLayout()
        networkGroupBox = QGroupBox(parameters.strNetworkGroupBox)
        networkGroupBox.setLayout(networkConfigLayout)

        self.networkModeComboBox = ComboBox()
        self.networkModeComboBox.addItem("TCP Server")
        self.networkModeComboBox.addItem("UDP Server")
        addressLabel = QLabel(parameters.strAddress)
        self.networkAddressLineEdit = QLineEdit()
        self.networkAddressLineEdit.setText(self.get_host_ip())
        portLabel = QLabel(parameters.strPort)
        self.networkPortLineEdit = QLineEdit()
        self.networkPortLineEdit.setText(parameters.strDefaultPort)
        self.networkStartButton = QPushButton(parameters.strStart)

        networkConfigLayout.addWidget(self.networkModeComboBox, 0, 0, 1, 3)
        networkConfigLayout.addWidget(addressLabel, 1, 0)
        networkConfigLayout.addWidget(self.networkAddressLineEdit, 1, 1, 1, 2)
        networkConfigLayout.addWidget(portLabel, 2, 0)
        networkConfigLayout.addWidget(self.networkPortLineEdit, 2, 1, 1, 2)
        networkConfigLayout.addWidget(self.networkStartButton, 3, 0, 1, 3)

        networkTabLayout.addWidget(networkGroupBox)
        networkTabLayout.addStretch(1)
Ejemplo n.º 2
0
 def onWidget(self):
     self.widget = QWidget()
     self.serialSettingsLayout = QGridLayout()
     hostLabel = QLabel(_("Host"))
     portLabel = QLabel(_("Port"))
     userLabel = QLabel(_("User"))
     passwdLabel = QLabel(_("Password"))
     sshKeyLabel = QLabel(_("SSH key"))
     savedLabel = QLabel(_("Saved"))
     self.hostInput = QLineEdit()
     self.portInput = QLineEdit()
     self.portInput.setInputMethodHints(Qt.ImhDigitsOnly | Qt.ImhLatinOnly
                                        | Qt.ImhPreferNumbers)
     self.userInput = QLineEdit()
     self.passwdInput = QLineEdit()
     self.passwdInput.setEchoMode(QLineEdit.EchoMode.Password)
     self.sshKeyInput = QLineEdit()
     self.sshKeyInputBtn = QPushButton(_("File"))
     self.savedCombobox = ComboBox()
     self.serialOpenCloseButton = QPushButton(_("OPEN"))
     self.serialSettingsLayout.addWidget(hostLabel, 0, 0)
     self.serialSettingsLayout.addWidget(self.hostInput, 0, 1, 1, 2)
     self.serialSettingsLayout.addWidget(portLabel, 1, 0)
     self.serialSettingsLayout.addWidget(self.portInput, 1, 1, 1, 2)
     self.serialSettingsLayout.addWidget(userLabel, 2, 0)
     self.serialSettingsLayout.addWidget(self.userInput, 2, 1, 1, 2)
     self.serialSettingsLayout.addWidget(passwdLabel, 3, 0)
     self.serialSettingsLayout.addWidget(self.passwdInput, 3, 1, 1, 2)
     self.serialSettingsLayout.addWidget(sshKeyLabel, 4, 0)
     self.serialSettingsLayout.addWidget(self.sshKeyInput, 4, 1, 1, 1)
     self.serialSettingsLayout.addWidget(self.sshKeyInputBtn, 4, 2, 1, 1)
     self.serialSettingsLayout.addWidget(savedLabel, 5, 0)
     self.serialSettingsLayout.addWidget(self.savedCombobox, 5, 1, 1, 2)
     self.serialSettingsLayout.addWidget(self.serialOpenCloseButton, 6, 0,
                                         1, 3)
     self.widget.setLayout(self.serialSettingsLayout)
     self.widgetConfMap["host"] = self.hostInput
     self.widgetConfMap["port"] = self.portInput
     self.widgetConfMap["user"] = self.userInput
     self.widgetConfMap["passwd"] = self.passwdInput
     self.widgetConfMap["ssh_key"] = self.sshKeyInput
     self.widgetConfMap["auto_reconnect"] = None
     self.widgetConfMap["saved"] = None
     self.initEvet()
     return self.widget
Ejemplo n.º 3
0
    def initOnenetTab(self):
        onenetTabLayout = QVBoxLayout()
        self.onenetTab.setLayout(onenetTabLayout)

        onenetConfigLayout = QGridLayout()
        onenetGroupBox = QGroupBox(parameters.strOnenetGroupBox)
        onenetGroupBox.setLayout(onenetConfigLayout)

        onenetDeviceIdLabel = QLabel(parameters.strOneNETDeviceId)
        self.onenetDeviceIdComboBox = ComboBox()
        for info in onenet.info:
            self.onenetDeviceIdComboBox.addItem(info["id"])
        self.onenetStartButton = QPushButton(parameters.strStart)
        self.onenetModeCheckBox = QCheckBox(parameters.strAdvance)

        onenetConfigLayout.addWidget(onenetDeviceIdLabel, 0, 0)
        onenetConfigLayout.addWidget(self.onenetDeviceIdComboBox, 0, 1, 1, 2)
        onenetConfigLayout.addWidget(self.onenetModeCheckBox, 1, 0, 1, 3)
        onenetConfigLayout.addWidget(self.onenetStartButton, 2, 0, 1, 3)

        onenetTabLayout.addWidget(onenetGroupBox)
        onenetTabLayout.addStretch(1)
Ejemplo n.º 4
0
    def onWidgetMain(self, parent):
        self.mainWidget = QSplitter(Qt.Vertical)
        # widgets receive and send area
        self.receiveArea = QTextEdit()
        font = QFont('Menlo,Consolas,Bitstream Vera Sans Mono,Courier New,monospace, Microsoft YaHei', 10)
        self.receiveArea.setFont(font)
        self.receiveArea.setLineWrapMode(QTextEdit.NoWrap)
        self.sendArea = QTextEdit()
        self.sendArea.setLineWrapMode(QTextEdit.NoWrap)
        self.sendArea.setAcceptRichText(False)
        self.clearReceiveButtion = QPushButton("")
        utils_ui.setButtonIcon(self.clearReceiveButtion, "mdi6.broom")
        self.sendButton = QPushButton("")
        utils_ui.setButtonIcon(self.sendButton, "fa.send")
        self.sendHistory = ComboBox()
        sendWidget = QWidget()
        sendAreaWidgetsLayout = QHBoxLayout()
        sendAreaWidgetsLayout.setContentsMargins(0,4,0,0)
        sendWidget.setLayout(sendAreaWidgetsLayout)
        buttonLayout = QVBoxLayout()
        buttonLayout.addWidget(self.clearReceiveButtion)
        buttonLayout.addStretch(1)
        buttonLayout.addWidget(self.sendButton)
        sendAreaWidgetsLayout.addWidget(self.sendArea)
        sendAreaWidgetsLayout.addLayout(buttonLayout)
        self.mainWidget.addWidget(self.receiveArea)
        self.mainWidget.addWidget(sendWidget)
        self.mainWidget.addWidget(self.sendHistory)
        self.mainWidget.setStretchFactor(0, 7)
        self.mainWidget.setStretchFactor(1, 2)
        self.mainWidget.setStretchFactor(2, 1)
        # event
        self.sendButton.clicked.connect(self.onSendData)
        self.clearReceiveButtion.clicked.connect(self.clearReceiveBuffer)
        self.receiveUpdateSignal.connect(self.updateReceivedDataDisplay)
        self.sendHistory.activated.connect(self.onSendHistoryIndexChanged)

        return self.mainWidget
Ejemplo n.º 5
0
    def initWindow(self):
        QToolTip.setFont(QFont('SansSerif', 10))
        # main layout
        self.frameWidget = QWidget()
        mainWidget = QSplitter(Qt.Horizontal)
        self.frameLayout = QVBoxLayout()
        self.settingWidget = QWidget()
        settingLayout = QVBoxLayout()
        self.settingWidget.setProperty("class", "settingWidget")
        mainLayout = QVBoxLayout()
        self.settingWidget.setLayout(settingLayout)
        mainLayout.addWidget(self.settingWidget)
        mainLayout.setStretch(0, 2)
        menuLayout = QHBoxLayout()

        self.progressHint = QLabel()
        self.progressHint.hide()

        self.progressbarRootWidget = QWidget()
        progressbarLayout = QVBoxLayout()
        self.progressbarRootWidget.setProperty("class", "progressbarWidget")
        self.progressbarRootWidget.setLayout(progressbarLayout)

        self.downloadWidget = QWidget()
        downloadLayout = QVBoxLayout()
        self.downloadWidget.setProperty("class", "downloadWidget")
        self.downloadWidget.setLayout(downloadLayout)

        mainWidget.setLayout(mainLayout)
        # menu
        # -----
        # settings and others
        # -----
        # progress bar
        # -----
        # download button
        # -----
        # status bar
        self.frameLayout.addLayout(menuLayout)
        self.frameLayout.addWidget(mainWidget)
        self.frameLayout.addWidget(self.progressHint)
        self.frameLayout.addWidget(self.progressbarRootWidget)
        self.frameLayout.addWidget(self.downloadWidget)
        self.frameWidget.setLayout(self.frameLayout)
        self.setCentralWidget(self.frameWidget)
        self.setFrameStrentch(1)

        # option layout
        self.langButton = QPushButton()
        self.skinButton = QPushButton()
        self.aboutButton = QPushButton()
        self.langButton.setProperty("class", "menuItemLang")
        self.skinButton.setProperty("class", "menuItem2")
        self.aboutButton.setProperty("class", "menuItem3")
        self.langButton.setObjectName("menuItem")
        self.skinButton.setObjectName("menuItem")
        self.aboutButton.setObjectName("menuItem")
        menuLayout.addWidget(self.langButton)
        menuLayout.addWidget(self.skinButton)
        menuLayout.addWidget(self.aboutButton)
        menuLayout.addStretch(0)

        # widgets file select
        self.fileSelectGroupBox = QGroupBox(tr("SelectFile"))
        # container
        settingLayout.addWidget(self.fileSelectGroupBox)
        self.fileSelectContainerLayout = QVBoxLayout()
        self.fileSelectGroupBox.setLayout(self.fileSelectContainerLayout)
        # file selection
        self.fileSelecWidget = QWidget()
        self.fileSelectLayout = QVBoxLayout()
        self.fileSelecWidget.setLayout(self.fileSelectLayout)
        self.fileSelectContainerLayout.addWidget(self.fileSelecWidget)

        # add file selection item
        self.addFileSelectionItem()

        # add fileselection functions
        mergeBinWidget = QWidget()
        mergeBinWidgetLayout = QHBoxLayout()
        mergeBinWidget.setLayout(mergeBinWidgetLayout)
        self.addFileButton = QPushButton(tr("Add File"))
        self.packFilesButton = QPushButton(tr("Pack to kfpkg"))
        self.mergeBinButton = QPushButton(tr("Merge to .bin"))
        mergeBinWidgetLayout.addWidget(self.addFileButton)
        mergeBinWidgetLayout.addWidget(self.packFilesButton)
        mergeBinWidgetLayout.addWidget(self.mergeBinButton)
        self.fileSelectContainerLayout.addWidget(mergeBinWidget)

        # widgets board select
        boardSettingsGroupBox = QGroupBox(tr("BoardSettings"))
        settingLayout.addWidget(boardSettingsGroupBox)
        boardSettingsLayout = QGridLayout()
        boardSettingsGroupBox.setLayout(boardSettingsLayout)
        self.boardLabel = QLabel(tr("Board"))
        self.boardCombobox = ComboBox()
        self.boardCombobox.addItem(parameters.SipeedMaixDock)
        self.boardCombobox.addItem(parameters.SipeedMaixBit)
        self.boardCombobox.addItem(parameters.SipeedMaixBitMic)
        self.boardCombobox.addItem(parameters.SipeedMaixduino)
        self.boardCombobox.addItem(parameters.SipeedMaixGo)
        self.boardCombobox.addItem(parameters.SipeedMaixGoD)
        self.boardCombobox.addItem(parameters.M5StickV)
        self.boardCombobox.addItem(parameters.KendryteKd233)
        self.boardCombobox.addItem(parameters.kendryteTrainer)
        self.boardCombobox.addItem(parameters.Auto)
        self.burnPositionLabel = QLabel(tr("BurnTo"))
        self.burnPositionCombobox = ComboBox()
        self.burnPositionCombobox.addItem(tr("Flash"))
        self.burnPositionCombobox.addItem(tr("SRAM"))
        boardSettingsLayout.addWidget(self.boardLabel, 0, 0)
        boardSettingsLayout.addWidget(self.boardCombobox, 0, 1)
        boardSettingsLayout.addWidget(self.burnPositionLabel, 1, 0)
        boardSettingsLayout.addWidget(self.burnPositionCombobox, 1, 1)

        # widgets serial settings
        serialSettingsGroupBox = QGroupBox(tr("SerialSettings"))
        serialSettingsLayout = QGridLayout()
        serialPortLabek = QLabel(tr("SerialPort"))
        serailBaudrateLabel = QLabel(tr("SerialBaudrate"))
        slowModeLabel = QLabel(tr("Speed mode"))
        self.serialPortCombobox = ComboBox()
        self.serailBaudrateCombobox = ComboBox()
        self.serailBaudrateCombobox.addItem("115200")
        self.serailBaudrateCombobox.addItem("921600")
        self.serailBaudrateCombobox.addItem("1500000")
        self.serailBaudrateCombobox.addItem("2000000")
        self.serailBaudrateCombobox.addItem("3500000")
        self.serailBaudrateCombobox.addItem("4000000")
        self.serailBaudrateCombobox.addItem("4500000")
        self.serailBaudrateCombobox.setCurrentIndex(1)
        self.serailBaudrateCombobox.setEditable(True)
        self.slowModeCombobox = ComboBox()
        self.slowModeCombobox.addItem(tr("Slow mode"))
        self.slowModeCombobox.addItem(tr("Fast mode"))
        slowModeLabel.setToolTip(tr("slow mode tips"))
        self.slowModeCombobox.setToolTip(tr("slow mode tips"))

        serialSettingsLayout.addWidget(serialPortLabek, 0, 0)
        serialSettingsLayout.addWidget(serailBaudrateLabel, 1, 0)
        serialSettingsLayout.addWidget(slowModeLabel, 2, 0)
        serialSettingsLayout.addWidget(self.serialPortCombobox, 0, 1)
        serialSettingsLayout.addWidget(self.serailBaudrateCombobox, 1, 1)
        serialSettingsLayout.addWidget(self.slowModeCombobox, 2, 1)
        serialSettingsGroupBox.setLayout(serialSettingsLayout)
        settingLayout.addWidget(serialSettingsGroupBox)

        # set stretch
        settingLayout.setStretch(0, 1)
        settingLayout.setStretch(1, 1)
        settingLayout.setStretch(2, 2)

        # widgets progress bar

        self.progressbar = QProgressBar(self.progressbarRootWidget)
        self.progressbar.setValue(0)
        self.progressbarRootWidget.hide()

        # widgets download area
        self.downloadButton = QPushButton(tr("Download"))
        downloadLayout.addWidget(self.downloadButton)

        # main window
        self.statusBarStauts = QLabel()
        self.statusBarStauts.setMinimumWidth(80)
        self.statusBarStauts.setText("<font color=%s>%s</font>" %
                                     ("#1aac2d", tr("DownloadHint")))
        self.statusBar().addWidget(self.statusBarStauts)

        self.setWindowSize()
        self.MoveToCenter()
        self.setWindowTitle(parameters.appName + " V" +
                            str(helpAbout.versionMajor) + "." +
                            str(helpAbout.versionMinor))
        icon = QIcon()
        print("icon path:" + self.DataPath + "/" + parameters.appIcon)
        icon.addPixmap(QPixmap(self.DataPath + "/" + parameters.appIcon),
                       QIcon.Normal, QIcon.Off)
        self.setWindowIcon(icon)
        if sys.platform == "win32":
            ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(
                parameters.appName)

        self.show()
        self.progressbar.setGeometry(10, 0,
                                     self.downloadWidget.width() - 25, 40)
        print("config file path:", parameters.configFilePath)
Ejemplo n.º 6
0
 def onWidget(self):
     serialSetting = QWidget()
     self.serialSettingsLayout = QGridLayout()
     protocolLabel = QLabel(_("Protocol"))
     self.modeLabel = QLabel(_("Mode"))
     self.targetLabel = QLabel(_("Target"))
     self.targetCombobox = ComboBox()
     self.targetCombobox.setEditable(True)
     self.portLabel = QLabel(_("Port"))
     self.portLabel.hide()
     self.porttEdit = QLineEdit()
     protocolWidget = QWidget()
     modeWidget = QWidget()
     layoutProtocol = QHBoxLayout()
     layoutMode = QHBoxLayout()
     protocolWidget.setLayout(layoutProtocol)
     modeWidget.setLayout(layoutMode)
     self.protoclTcpRadioBtn = QRadioButton("TCP")
     self.protoclUdpRadioBtn = QRadioButton("UDP")
     self.protoclTcpRadioBtn.setChecked(True)
     layoutProtocol.addWidget(self.protoclTcpRadioBtn)
     layoutProtocol.addWidget(self.protoclUdpRadioBtn)
     self.modeClientRadioBtn = QRadioButton("Client")
     self.modeServerRadioBtn = QRadioButton("Server")
     self.modeClientRadioBtn.setChecked(True)
     layoutMode.addWidget(self.modeClientRadioBtn)
     layoutMode.addWidget(self.modeServerRadioBtn)
     self.clientsCombobox = ComboBox()
     self.clientsCombobox.addItem("0 | " + _("All clients"))
     self.disconnetClientBtn = QPushButton(_("Disconnect"))
     self.autoReconnetLable = QLabel(_("Auto reconnect"))
     self.autoReconnect = QCheckBox()
     self.autoReconnectIntervalEdit = QLineEdit("1.0")
     self.serialOpenCloseButton = QPushButton(_("OPEN"))
     self.serialSettingsLayout.addWidget(protocolLabel, 0, 0)
     self.serialSettingsLayout.addWidget(protocolWidget, 0, 1, 1, 2)
     self.serialSettingsLayout.addWidget(self.modeLabel, 1, 0)
     self.serialSettingsLayout.addWidget(modeWidget, 1, 1, 1, 2)
     self.serialSettingsLayout.addWidget(self.targetLabel, 2, 0)
     self.serialSettingsLayout.addWidget(self.targetCombobox, 2, 1, 1, 2)
     self.serialSettingsLayout.addWidget(self.portLabel, 3, 0)
     self.serialSettingsLayout.addWidget(self.porttEdit, 3, 1, 1, 2)
     self.serialSettingsLayout.addWidget(self.clientsCombobox, 4, 0, 1, 2)
     self.serialSettingsLayout.addWidget(self.disconnetClientBtn, 4, 2, 1,
                                         1)
     self.serialSettingsLayout.addWidget(self.autoReconnetLable, 5, 0, 1, 1)
     self.serialSettingsLayout.addWidget(self.autoReconnect, 5, 1, 1, 1)
     self.serialSettingsLayout.addWidget(self.autoReconnectIntervalEdit, 5,
                                         2, 1, 1)
     self.serialSettingsLayout.addWidget(self.serialOpenCloseButton, 6, 0,
                                         1, 3)
     serialSetting.setLayout(self.serialSettingsLayout)
     self.widgetConfMap["protocol"] = self.protoclTcpRadioBtn
     self.widgetConfMap["mode"] = self.modeClientRadioBtn
     self.widgetConfMap["target"] = self.targetCombobox
     self.widgetConfMap["port"] = self.porttEdit
     self.widgetConfMap["auto_reconnect"] = self.autoReconnect
     self.widgetConfMap[
         "auto_reconnect_interval"] = self.autoReconnectIntervalEdit
     self.initEvet()
     self.widget = serialSetting
     return serialSetting
Ejemplo n.º 7
0
    def initWindow(self):
        QToolTip.setFont(QFont('SansSerif', 10))
        # main layout
        frameWidget = QWidget()
        mainWidget = QSplitter(Qt.Horizontal)
        frameLayout = QVBoxLayout()
        self.settingWidget = QWidget()
        self.settingWidget.setProperty("class", "settingWidget")
        self.receiveSendWidget = QSplitter(Qt.Vertical)
        self.functionalWiget = QWidget()
        settingLayout = QVBoxLayout()
        sendReceiveLayout = QVBoxLayout()
        sendFunctionalLayout = QVBoxLayout()
        mainLayout = QHBoxLayout()
        self.settingWidget.setLayout(settingLayout)
        self.receiveSendWidget.setLayout(sendReceiveLayout)
        self.functionalWiget.setLayout(sendFunctionalLayout)
        mainLayout.addWidget(self.settingWidget)
        mainLayout.addWidget(self.receiveSendWidget)
        mainLayout.addWidget(self.functionalWiget)
        mainLayout.setStretch(0, 2)
        mainLayout.setStretch(1, 6)
        mainLayout.setStretch(2, 2)
        menuLayout = QHBoxLayout()
        mainWidget.setLayout(mainLayout)
        frameLayout.addLayout(menuLayout)
        frameLayout.addWidget(mainWidget)
        frameWidget.setLayout(frameLayout)
        self.setCentralWidget(frameWidget)

        # option layout
        self.settingsButton = QPushButton()
        self.skinButton = QPushButton("")
        # self.waveButton = QPushButton("")
        self.aboutButton = QPushButton()
        self.functionalButton = QPushButton()
        self.encodingCombobox = ComboBox()
        self.encodingCombobox.addItem("ASCII")
        self.encodingCombobox.addItem("UTF-8")
        self.encodingCombobox.addItem("UTF-16")
        self.encodingCombobox.addItem("GBK")
        self.encodingCombobox.addItem("GB2312")
        self.encodingCombobox.addItem("GB18030")
        self.settingsButton.setProperty("class", "menuItem1")
        self.skinButton.setProperty("class", "menuItem2")
        self.aboutButton.setProperty("class", "menuItem3")
        self.functionalButton.setProperty("class", "menuItem4")
        # self.waveButton.setProperty("class", "menuItem5")
        self.settingsButton.setObjectName("menuItem")
        self.skinButton.setObjectName("menuItem")
        self.aboutButton.setObjectName("menuItem")
        self.functionalButton.setObjectName("menuItem")
        # self.waveButton.setObjectName("menuItem")
        menuLayout.addWidget(self.settingsButton)
        menuLayout.addWidget(self.skinButton)
        # menuLayout.addWidget(self.waveButton)
        menuLayout.addWidget(self.aboutButton)
        menuLayout.addStretch(0)
        menuLayout.addWidget(self.encodingCombobox)
        menuLayout.addWidget(self.functionalButton)

        # widgets receive and send area
        self.receiveArea = QTextEdit()
        self.sendArea = QTextEdit()
        self.clearReceiveButtion = QPushButton(parameters.strClearReceive)
        self.sendButtion = QPushButton(parameters.strSend)
        self.sendHistory = ComboBox()
        sendWidget = QWidget()
        sendAreaWidgetsLayout = QHBoxLayout()
        sendWidget.setLayout(sendAreaWidgetsLayout)
        buttonLayout = QVBoxLayout()
        buttonLayout.addWidget(self.clearReceiveButtion)
        buttonLayout.addStretch(1)
        buttonLayout.addWidget(self.sendButtion)
        sendAreaWidgetsLayout.addWidget(self.sendArea)
        sendAreaWidgetsLayout.addLayout(buttonLayout)
        sendReceiveLayout.addWidget(self.receiveArea)
        sendReceiveLayout.addWidget(sendWidget)
        sendReceiveLayout.addWidget(self.sendHistory)
        sendReceiveLayout.setStretch(0, 7)
        sendReceiveLayout.setStretch(1, 2)
        sendReceiveLayout.setStretch(2, 1)

        # widgets serial settings
        serialSettingsGroupBox = QGroupBox(parameters.strSerialSettings)
        serialSettingsLayout = QGridLayout()
        serialReceiveSettingsLayout = QGridLayout()
        serialSendSettingsLayout = QGridLayout()
        serialPortLabek = QLabel(parameters.strSerialPort)
        serailBaudrateLabel = QLabel(parameters.strSerialBaudrate)
        serailBytesLabel = QLabel(parameters.strSerialBytes)
        serailParityLabel = QLabel(parameters.strSerialParity)
        serailStopbitsLabel = QLabel(parameters.strSerialStopbits)
        self.serialPortCombobox = ComboBox()
        self.serailBaudrateCombobox = ComboBox()
        self.serailBaudrateCombobox.addItem("9600")
        self.serailBaudrateCombobox.addItem("19200")
        self.serailBaudrateCombobox.addItem("38400")
        self.serailBaudrateCombobox.addItem("57600")
        self.serailBaudrateCombobox.addItem("115200")
        self.serailBaudrateCombobox.setCurrentIndex(4)
        self.serailBaudrateCombobox.setEditable(True)
        self.serailBytesCombobox = ComboBox()
        self.serailBytesCombobox.addItem("5")
        self.serailBytesCombobox.addItem("6")
        self.serailBytesCombobox.addItem("7")
        self.serailBytesCombobox.addItem("8")
        self.serailBytesCombobox.setCurrentIndex(3)
        self.serailParityCombobox = ComboBox()
        self.serailParityCombobox.addItem("None")
        self.serailParityCombobox.addItem("Odd")
        self.serailParityCombobox.addItem("Even")
        self.serailParityCombobox.addItem("Mark")
        self.serailParityCombobox.addItem("Space")
        self.serailParityCombobox.setCurrentIndex(0)
        self.serailStopbitsCombobox = ComboBox()
        self.serailStopbitsCombobox.addItem("1")
        self.serailStopbitsCombobox.addItem("1.5")
        self.serailStopbitsCombobox.addItem("2")
        self.serailStopbitsCombobox.setCurrentIndex(0)
        self.checkBoxRts = QCheckBox("rts")
        self.checkBoxDtr = QCheckBox("dtr")
        self.serialOpenCloseButton = QPushButton(parameters.strOpen)
        serialSettingsLayout.addWidget(serialPortLabek, 0, 0)
        serialSettingsLayout.addWidget(serailBaudrateLabel, 1, 0)
        serialSettingsLayout.addWidget(serailBytesLabel, 2, 0)
        serialSettingsLayout.addWidget(serailParityLabel, 3, 0)
        serialSettingsLayout.addWidget(serailStopbitsLabel, 4, 0)
        serialSettingsLayout.addWidget(self.serialPortCombobox, 0, 1)
        serialSettingsLayout.addWidget(self.serailBaudrateCombobox, 1, 1)
        serialSettingsLayout.addWidget(self.serailBytesCombobox, 2, 1)
        serialSettingsLayout.addWidget(self.serailParityCombobox, 3, 1)
        serialSettingsLayout.addWidget(self.serailStopbitsCombobox, 4, 1)
        serialSettingsLayout.addWidget(self.checkBoxRts, 5, 0, 1, 1)
        serialSettingsLayout.addWidget(self.checkBoxDtr, 5, 1, 1, 1)
        serialSettingsLayout.addWidget(self.serialOpenCloseButton, 6, 0, 1, 2)
        serialSettingsGroupBox.setLayout(serialSettingsLayout)
        settingLayout.addWidget(serialSettingsGroupBox)

        # serial receive settings
        serialReceiveSettingsGroupBox = QGroupBox(
            parameters.strSerialReceiveSettings)
        self.receiveSettingsAscii = QRadioButton(parameters.strAscii)
        self.receiveSettingsHex = QRadioButton(parameters.strHex)
        self.receiveSettingsAscii.setChecked(True)
        self.receiveSettingsAutoLinefeed = QCheckBox(
            parameters.strAutoLinefeed)
        self.receiveSettingsAutoLinefeedTime = QLineEdit(
            parameters.strAutoLinefeedTime)
        self.receiveSettingsAutoLinefeed.setMaximumWidth(75)
        self.receiveSettingsAutoLinefeedTime.setMaximumWidth(75)
        serialReceiveSettingsLayout.addWidget(self.receiveSettingsAscii, 1, 0,
                                              1, 1)
        serialReceiveSettingsLayout.addWidget(self.receiveSettingsHex, 1, 1, 1,
                                              1)
        serialReceiveSettingsLayout.addWidget(self.receiveSettingsAutoLinefeed,
                                              2, 0, 1, 1)
        serialReceiveSettingsLayout.addWidget(
            self.receiveSettingsAutoLinefeedTime, 2, 1, 1, 1)
        serialReceiveSettingsGroupBox.setLayout(serialReceiveSettingsLayout)
        settingLayout.addWidget(serialReceiveSettingsGroupBox)

        # serial send settings
        serialSendSettingsGroupBox = QGroupBox(
            parameters.strSerialSendSettings)
        self.sendSettingsAscii = QRadioButton(parameters.strAscii)
        self.sendSettingsHex = QRadioButton(parameters.strHex)
        self.sendSettingsAscii.setChecked(True)
        self.sendSettingsScheduledCheckBox = QCheckBox(parameters.strScheduled)
        self.sendSettingsScheduled = QLineEdit(parameters.strScheduledTime)
        self.sendSettingsScheduledCheckBox.setMaximumWidth(75)
        self.sendSettingsScheduled.setMaximumWidth(75)
        self.sendSettingsCFLF = QCheckBox(parameters.strCRLF)
        self.sendSettingsCFLF.setChecked(False)
        serialSendSettingsLayout.addWidget(self.sendSettingsAscii, 1, 0, 1, 1)
        serialSendSettingsLayout.addWidget(self.sendSettingsHex, 1, 1, 1, 1)
        serialSendSettingsLayout.addWidget(self.sendSettingsScheduledCheckBox,
                                           2, 0, 1, 1)
        serialSendSettingsLayout.addWidget(self.sendSettingsScheduled, 2, 1, 1,
                                           1)
        serialSendSettingsLayout.addWidget(self.sendSettingsCFLF, 3, 0, 1, 2)
        serialSendSettingsGroupBox.setLayout(serialSendSettingsLayout)
        settingLayout.addWidget(serialSendSettingsGroupBox)

        settingLayout.setStretch(0, 5)
        settingLayout.setStretch(1, 2)
        settingLayout.setStretch(2, 2)

        # right functional layout
        self.filePathWidget = QLineEdit()
        self.openFileButton = QPushButton("Open File")
        self.sendFileButton = QPushButton("Send File")
        self.clearHistoryButton = QPushButton("Clear History")
        self.addButton = QPushButton(parameters.strAdd)
        fileSendGroupBox = QGroupBox(parameters.strSendFile)
        fileSendGridLayout = QGridLayout()
        fileSendGridLayout.addWidget(self.filePathWidget, 0, 0, 1, 1)
        fileSendGridLayout.addWidget(self.openFileButton, 0, 1, 1, 1)
        fileSendGridLayout.addWidget(self.sendFileButton, 1, 0, 1, 2)
        fileSendGroupBox.setLayout(fileSendGridLayout)
        sendFunctionalLayout.addWidget(fileSendGroupBox)
        sendFunctionalLayout.addWidget(self.clearHistoryButton)
        sendFunctionalLayout.addWidget(self.addButton)
        sendFunctionalLayout.addStretch(1)
        self.isHideFunctinal = True
        self.hideFunctional()

        # main window
        self.statusBarStauts = QLabel()
        self.statusBarStauts.setMinimumWidth(80)
        self.statusBarStauts.setText("<font color=%s>%s</font>" %
                                     ("#008200", parameters.strReady))
        self.statusBarSendCount = QLabel(parameters.strSend + "(bytes): " +
                                         "0")
        self.statusBarReceiveCount = QLabel(parameters.strReceive +
                                            "(bytes): " + "0")
        self.statusBar().addWidget(self.statusBarStauts)
        self.statusBar().addWidget(self.statusBarSendCount, 2)
        self.statusBar().addWidget(self.statusBarReceiveCount, 3)
        # self.statusBar()

        self.resize(800, 500)
        self.MoveToCenter()
        self.setWindowTitle(parameters.appName + " V" +
                            str(helpAbout.versionMajor) + "." +
                            str(helpAbout.versionMinor))
        icon = QIcon()
        print("icon path:" + self.DataPath + "/" + parameters.appIcon)
        icon.addPixmap(QPixmap(self.DataPath + "/" + parameters.appIcon),
                       QIcon.Normal, QIcon.Off)
        self.setWindowIcon(icon)
        if sys.platform == "win32":
            ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(
                "comtool")
        self.show()
        print("config file path:", parameters.configFilePath)
Ejemplo n.º 8
0
 def newFrame(self):
     wrapper = QWidget()
     wrapperLayout = QVBoxLayout()
     wrapperLayout.setContentsMargins(0, 0, 0, 0)
     widget = QSplitter(Qt.Horizontal)
     widget.setProperty("class", "contentWrapper")
     statusBar = self.plugin.onWidgetStatusBar(wrapper)
     wrapper.setLayout(wrapperLayout)
     wrapperLayout.addWidget(widget)
     if not statusBar is None:
         wrapperLayout.addWidget(statusBar)
     # widgets settings
     self.settingWidget = QWidget()
     self.settingWidget.setProperty("class", "settingWidget")
     settingLayout = QVBoxLayout()
     self.settingWidget.setLayout(settingLayout)
     #    get connection settings widgets
     connSettingsGroupBox = QGroupBox(_("Connection"))
     layout = QVBoxLayout()
     connSettingsGroupBox.setLayout(layout)
     self.connSelectCommbox = ComboBox()
     for conn in self.conns:
         self.connSelectCommbox.addItem(conn.name)
     layout.addWidget(self.connSelectCommbox)
     layout.setContentsMargins(1, 6, 0, 0)
     self.connsParent = QWidget()
     layout2 = QVBoxLayout()
     layout2.setContentsMargins(0, 0, 0, 0)
     self.connsParent.setLayout(layout2)
     layout.addWidget(self.connsParent)
     settingLayout.addWidget(connSettingsGroupBox)
     #    get settings widgets
     subSettingWidget = self.plugin.onWidgetSettings(widget)
     if not subSettingWidget is None:
         settingLayout.addWidget(subSettingWidget)
     settingLayout.addStretch()
     # widgets main
     self.mainWidget = self.plugin.onWidgetMain(widget)
     # widgets functional
     self.functionalWidget = QWidget()
     layout3 = QVBoxLayout()
     self.functionalWidget.setLayout(layout3)
     loadConfigBtn = QPushButton(_("Load config"))
     shareConfigBtn = QPushButton(_("Share config"))
     layout3.addWidget(loadConfigBtn)
     layout3.addWidget(shareConfigBtn)
     loadConfigBtn.clicked.connect(lambda: self.selectLoadfile())
     shareConfigBtn.clicked.connect(lambda: self.selectSharefile())
     pluginFuncWidget = self.plugin.onWidgetFunctional(widget)
     if not pluginFuncWidget is None:
         layout3.addWidget(pluginFuncWidget)
     layout3.addStretch()
     # add to frame
     widget.addWidget(self.settingWidget)
     widget.addWidget(self.mainWidget)
     widget.addWidget(self.functionalWidget)
     widget.setStretchFactor(0, 1)
     widget.setStretchFactor(1, 2)
     widget.setStretchFactor(2, 1)
     self.functionalWidget.hide()
     # UI init done
     self.plugin.onUiInitDone()
     return wrapper
Ejemplo n.º 9
0
 def onWidget(self):
     self.widget = QWidget()
     serialSettingsLayout = QGridLayout()
     serialPortLabek = QLabel(_("Port"))
     serailBaudrateLabel = QLabel(_("Baudrate"))
     serailBytesLabel = QLabel(_("DataBytes"))
     serailParityLabel = QLabel(_("Parity"))
     serailStopbitsLabel = QLabel(_("Stopbits"))
     serialFlowControlLabel = QLabel(_("Flow control"))
     self.serialPortCombobox = ComboBox()
     self.serailBaudrateCombobox = ComboBox()
     for baud in parameters.defaultBaudrates:
         self.serailBaudrateCombobox.addItem(str(baud))
     self.serailBaudrateCombobox.addItem(self.baudrateCustomStr)
     self.serailBaudrateCombobox.setCurrentIndex(5)
     self.serailBaudrateCombobox.setEditable(True)
     self.serailBytesCombobox = ComboBox()
     self.serailBytesCombobox.addItem("5")
     self.serailBytesCombobox.addItem("6")
     self.serailBytesCombobox.addItem("7")
     self.serailBytesCombobox.addItem("8")
     self.serailBytesCombobox.setCurrentIndex(3)
     self.serailParityCombobox = ComboBox()
     self.serailParityCombobox.addItem("None")
     self.serailParityCombobox.addItem("Odd")
     self.serailParityCombobox.addItem("Even")
     self.serailParityCombobox.addItem("Mark")
     self.serailParityCombobox.addItem("Space")
     self.serailParityCombobox.setCurrentIndex(0)
     self.serailStopbitsCombobox = ComboBox()
     self.serailStopbitsCombobox.addItem("1")
     self.serailStopbitsCombobox.addItem("1.5")
     self.serailStopbitsCombobox.addItem("2")
     self.serailStopbitsCombobox.setCurrentIndex(0)
     self.serialFlowControlCombobox = ComboBox()
     self.serialFlowControlCombobox.addItem("None")
     self.serialFlowControlCombobox.addItem("XON/XOFF")
     self.serialFlowControlCombobox.addItem("RTS/CTS")
     self.serialFlowControlCombobox.addItem("DSR/DTR")
     self.serialFlowControlCombobox.setCurrentIndex(0)
     self.checkBoxRTS = QCheckBox("rts")
     self.checkBoxDTR = QCheckBox("dtr")
     self.checkBoxRTS.setToolTip(
         _("Check to enable(usually output low level)"))
     self.checkBoxDTR.setToolTip(
         _("Check to enable(usually output low level)"))
     self.serialOpenCloseButton = QPushButton(_("OPEN"))
     serialSettingsLayout.addWidget(serialPortLabek, 0, 0)
     serialSettingsLayout.addWidget(serailBaudrateLabel, 1, 0)
     serialSettingsLayout.addWidget(serailBytesLabel, 2, 0)
     serialSettingsLayout.addWidget(serailParityLabel, 3, 0)
     serialSettingsLayout.addWidget(serailStopbitsLabel, 4, 0)
     serialSettingsLayout.addWidget(serialFlowControlLabel, 5, 0)
     serialSettingsLayout.addWidget(self.serialPortCombobox, 0, 1)
     serialSettingsLayout.addWidget(self.serailBaudrateCombobox, 1, 1)
     serialSettingsLayout.addWidget(self.serailBytesCombobox, 2, 1)
     serialSettingsLayout.addWidget(self.serailParityCombobox, 3, 1)
     serialSettingsLayout.addWidget(self.serailStopbitsCombobox, 4, 1)
     serialSettingsLayout.addWidget(self.serialFlowControlCombobox, 5, 1)
     serialSettingsLayout.addWidget(self.checkBoxRTS, 6, 0, 1, 1)
     serialSettingsLayout.addWidget(self.checkBoxDTR, 6, 1, 1, 1)
     serialSettingsLayout.addWidget(self.serialOpenCloseButton, 7, 0, 1, 2)
     self.widget.setLayout(serialSettingsLayout)
     self.widgetConfMap["port"] = self.serialPortCombobox
     self.widgetConfMap["baudrate"] = self.serailBaudrateCombobox
     self.widgetConfMap["bytesize"] = self.serailBytesCombobox
     self.widgetConfMap["parity"] = self.serailParityCombobox
     self.widgetConfMap["stopbits"] = self.serailStopbitsCombobox
     self.widgetConfMap["flowcontrol"] = self.serialFlowControlCombobox
     self.widgetConfMap["rts"] = self.checkBoxRTS
     self.widgetConfMap["dtr"] = self.checkBoxDTR
     self.initEvet()
     return self.widget
Ejemplo n.º 10
0
    def initWindow(self):
        # set skin for utils_ui
        utils_ui.setSkin(self.config["skin"])
        # menu layout
        self.settingsButton = QPushButton()
        self.skinButton = QPushButton("")
        self.languageCombobox = ButtonCombbox(icon="fa.language",
                                              btnClass="smallBtn2")
        self.languages = i18n.get_languages()
        for locale in self.languages:
            self.languageCombobox.addItem(self.languages[locale])
        self.aboutButton = QPushButton()
        self.functionalButton = QPushButton()
        self.encodingCombobox = ComboBox()
        self.supportedEncoding = parameters.encodings
        for encoding in self.supportedEncoding:
            self.encodingCombobox.addItem(encoding)
        self.settingsButton.setProperty("class", "menuItem1")
        self.skinButton.setProperty("class", "menuItem2")
        self.aboutButton.setProperty("class", "menuItem3")
        self.functionalButton.setProperty("class", "menuItem4")
        self.settingsButton.setObjectName("menuItem")
        self.skinButton.setObjectName("menuItem")
        self.aboutButton.setObjectName("menuItem")
        self.functionalButton.setObjectName("menuItem")
        # plugins slector
        self.pluginsSelector = ButtonCombbox(icon="fa.plus",
                                             btnClass="smallBtn2")
        self.pluginsSelector.addItem(self.loadPluginStr)
        self.pluginsSelector.activated.connect(self.onPluginSelectorChanged)

        # title bar
        title = parameters.appName + " v" + version.__version__
        iconPath = self.DataPath + "/" + parameters.appIcon
        log.i("icon path: " + iconPath)
        self.titleBar = TitleBar(self,
                                 icon=iconPath,
                                 title=title,
                                 brothers=[],
                                 widgets=[[self.skinButton, self.aboutButton],
                                          []])
        CustomTitleBarWindowMixin.__init__(self,
                                           titleBar=self.titleBar,
                                           init=True)

        # root layout
        self.frameWidget = QWidget()
        self.frameWidget.setMouseTracking(True)
        self.frameWidget.setLayout(self.rootLayout)
        self.setCentralWidget(self.frameWidget)
        # tab widgets
        self.tabWidget = QTabWidget()
        self.tabWidget.setTabsClosable(True)
        # tab left menu
        tabConerWidget = QWidget()
        tabConerLayout = QHBoxLayout()
        tabConerLayout.setSpacing(0)
        tabConerLayout.setContentsMargins(0, 0, 0, 0)
        tabConerWidget.setLayout(tabConerLayout)
        tabConerLayout.addWidget(self.settingsButton)
        # tab right menu
        tabConerWidgetRight = QWidget()
        tabConerLayoutRight = QHBoxLayout()
        tabConerLayoutRight.setSpacing(0)
        tabConerLayoutRight.setContentsMargins(0, 0, 0, 0)
        tabConerWidgetRight.setLayout(tabConerLayoutRight)
        tabConerLayoutRight.addWidget(self.pluginsSelector)
        tabConerLayoutRight.addWidget(self.languageCombobox)
        tabConerLayoutRight.addWidget(self.encodingCombobox)
        tabConerLayoutRight.addWidget(self.functionalButton)
        self.tabWidget.setCornerWidget(tabConerWidget, Qt.TopLeftCorner)
        self.tabWidget.setCornerWidget(tabConerWidgetRight, Qt.TopRightCorner)
        self.contentLayout = QVBoxLayout()
        self.contentWidget.setLayout(self.contentLayout)
        self.contentLayout.setContentsMargins(10, 0, 10, 10)
        self.contentLayout.addWidget(self.tabWidget)

        if sys.platform == 'darwin':
            self.macOsAddDockMenu()

        self.resize(850, 500)
        self.MoveToCenter()
        self.show()
Ejemplo n.º 11
0
    def onWidgetSettings(self, parent):
        root = QWidget()
        rootLayout = QVBoxLayout()
        rootLayout.setContentsMargins(0, 0, 0, 0)
        root.setLayout(rootLayout)
        setingGroup = QGroupBox(_("En-decoding settings"))
        layout = QGridLayout()
        setingGroup.setLayout(layout)
        self.codeItems = ComboBox()
        self.codeItemCustomStr = _("Custom, input name")
        self.codeItemLoadDefaultsStr = _("Load defaults")
        self.codeItems.setEditable(True)
        self.codeWidget = PlainTextEdit()
        self.saveCodeBtn = QPushButton(_("Save"))
        self.saveCodeBtn.setEnabled(False)
        self.deleteCodeBtn = QPushButton(_("Delete"))
        btnLayout = QHBoxLayout()
        btnLayout.addWidget(self.saveCodeBtn)
        btnLayout.addWidget(self.deleteCodeBtn)
        layout.addWidget(QLabel(_("Defaults")), 0, 0, 1, 1)
        layout.addWidget(self.codeItems, 0, 1, 1, 1)
        layout.addWidget(QLabel(_("Code")), 1, 0, 1, 1)
        layout.addWidget(self.codeWidget, 1, 1, 1, 1)
        layout.addLayout(btnLayout, 2, 1, 1, 1)
        serialSendSettingsLayout = QGridLayout()
        sendGroup = QGroupBox(_("Send settings"))
        sendGroup.setLayout(serialSendSettingsLayout)
        self.sendSettingsAscii = QRadioButton(_("ASCII"))
        self.sendSettingsHex = QRadioButton(_("HEX"))
        self.sendSettingsAscii.setToolTip(
            _("Get send data as visible format, select encoding method at top right corner"
              ))
        self.sendSettingsHex.setToolTip(
            _("Get send data as hex format, e.g. hex '31 32 33' equal to ascii '123'"
              ))
        self.sendSettingsAscii.setChecked(True)
        self.sendSettingsCRLF = QCheckBox(_("<CRLF>"))
        self.sendSettingsCRLF.setToolTip(
            _("Select to send \\r\\n instead of \\n"))
        self.sendSettingsCRLF.setChecked(False)
        self.sendSettingsEscape = QCheckBox(_("Escape"))
        self.sendSettingsEscape.setToolTip(
            _("Enable escape characters support like \\t \\r \\n \\x01 \\001"))
        serialSendSettingsLayout.addWidget(self.sendSettingsAscii, 0, 0, 1, 1)
        serialSendSettingsLayout.addWidget(self.sendSettingsHex, 0, 1, 1, 1)
        serialSendSettingsLayout.addWidget(self.sendSettingsCRLF, 1, 0, 1, 1)
        serialSendSettingsLayout.addWidget(self.sendSettingsEscape, 1, 1, 1, 1)

        rootLayout.addWidget(sendGroup)
        rootLayout.addWidget(setingGroup)
        # event
        self.sendSettingsAscii.clicked.connect(lambda: self.bindVar(
            self.sendSettingsAscii, self.config, "sendAscii", bool))
        self.sendSettingsHex.clicked.connect(lambda: self.bindVar(
            self.sendSettingsHex, self.config, "sendAscii", bool, invert=True))
        self.sendSettingsCRLF.clicked.connect(lambda: self.bindVar(
            self.sendSettingsCRLF, self.config, "useCRLF", bool))
        self.sendSettingsEscape.clicked.connect(lambda: self.bindVar(
            self.sendSettingsEscape, self.config, "sendEscape", bool))
        self.saveCodeBtn.clicked.connect(self.saveCode)
        self.deleteCodeBtn.clicked.connect(self.deleteCode)
        self.codeWidget.onSave = self.saveCode
        return root