Beispiel #1
0
 def setupAdamGui(self):
     """
     setup adam gui
     - setups adams mainwindow ui
     - add tree widget to mainwindow
     """
     self.setupUi(self)
     self.treeWidget = TreeWidget(self.core, self.centralwidget)
     self.gridLayout.addWidget(self.treeWidget, 0, 0, 1, 1)
     self.setupSignalsSlots()
Beispiel #2
0
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(973, 605)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(":/icon/jie.ico"), QtGui.QIcon.Normal,
                       QtGui.QIcon.Off)
        MainWindow.setWindowIcon(icon)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setObjectName("label")
        self.horizontalLayout.addWidget(self.label)
        self.HostEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.HostEdit.setObjectName("HostEdit")
        self.horizontalLayout.addWidget(self.HostEdit)
        spacerItem = QtWidgets.QSpacerItem(40, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setObjectName("label_4")
        self.horizontalLayout.addWidget(self.label_4)
        self.PortEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.PortEdit.setObjectName("PortEdit")
        self.horizontalLayout.addWidget(self.PortEdit)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout.addWidget(self.label_2)
        self.UserEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.UserEdit.setObjectName("UserEdit")
        self.horizontalLayout.addWidget(self.UserEdit)
        spacerItem2 = QtWidgets.QSpacerItem(40, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setObjectName("label_3")
        self.horizontalLayout.addWidget(self.label_3)
        self.PwdEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.PwdEdit.setEchoMode(QtWidgets.QLineEdit.Password)
        self.PwdEdit.setObjectName("PwdEdit")
        self.horizontalLayout.addWidget(self.PwdEdit)
        self.ConnectButton = QtWidgets.QPushButton(self.centralwidget)
        self.ConnectButton.setObjectName("ConnectButton")
        self.horizontalLayout.addWidget(self.ConnectButton)
        self.verticalLayout_2.addLayout(self.horizontalLayout)
        self.splitterV = QtWidgets.QSplitter(self.centralwidget)
        self.splitterV.setOrientation(QtCore.Qt.Vertical)
        self.splitterV.setObjectName("splitterV")
        self.splitterHT = QtWidgets.QSplitter(self.splitterV)
        self.splitterHT.setOrientation(QtCore.Qt.Horizontal)
        self.splitterHT.setObjectName("splitterHT")
        self.TreeWidget = TreeWidget(self.splitterHT)
        self.TreeWidget.setObjectName("TreeWidget")
        self.TreeWidget.headerItem().setText(0, "1")
        self.layoutWidget = QtWidgets.QWidget(self.splitterHT)
        self.layoutWidget.setObjectName("layoutWidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.DirectorEdit = QtWidgets.QLineEdit(self.layoutWidget)
        self.DirectorEdit.setReadOnly(True)
        self.DirectorEdit.setObjectName("DirectorEdit")
        self.verticalLayout.addWidget(self.DirectorEdit)
        self.ExplorerWidget = ExplorerWidget(self.layoutWidget)
        self.ExplorerWidget.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
        self.ExplorerWidget.setColumnCount(4)
        self.ExplorerWidget.setObjectName("ExplorerWidget")
        self.ExplorerWidget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.ExplorerWidget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.ExplorerWidget.setHorizontalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.ExplorerWidget.setHorizontalHeaderItem(2, item)
        item = QtWidgets.QTableWidgetItem()
        self.ExplorerWidget.setHorizontalHeaderItem(3, item)
        self.verticalLayout.addWidget(self.ExplorerWidget)
        self.splitterHB = QtWidgets.QSplitter(self.splitterV)
        self.splitterHB.setOrientation(QtCore.Qt.Horizontal)
        self.splitterHB.setObjectName("splitterHB")
        self.TransferWidget = TransferWidget(self.splitterHB)
        self.TransferWidget.setMinimumSize(QtCore.QSize(473, 0))
        self.TransferWidget.setObjectName("TransferWidget")
        self.TransferWidget.setColumnCount(5)
        self.TransferWidget.setRowCount(0)
        item = QtWidgets.QTableWidgetItem()
        self.TransferWidget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.TransferWidget.setHorizontalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.TransferWidget.setHorizontalHeaderItem(2, item)
        item = QtWidgets.QTableWidgetItem()
        self.TransferWidget.setHorizontalHeaderItem(3, item)
        item = QtWidgets.QTableWidgetItem()
        self.TransferWidget.setHorizontalHeaderItem(4, item)
        self.textEdit = QtWidgets.QTextEdit(self.splitterHB)
        self.textEdit.setReadOnly(True)
        self.textEdit.setObjectName("textEdit")
        self.verticalLayout_2.addWidget(self.splitterV)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 973, 26))
        self.menubar.setObjectName("menubar")
        self.menu = QtWidgets.QMenu(self.menubar)
        self.menu.setObjectName("menu")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.action_upload = QtWidgets.QAction(MainWindow)
        self.action_upload.setObjectName("action_upload")
        self.action_download = QtWidgets.QAction(MainWindow)
        self.action_download.setObjectName("action_download")
        self.action_delete = QtWidgets.QAction(MainWindow)
        self.action_delete.setObjectName("action_delete")
        self.action_refresh = QtWidgets.QAction(MainWindow)
        self.action_refresh.setObjectName("action_refresh")
        self.menu.addAction(self.action_upload)
        self.menu.addAction(self.action_download)
        self.menu.addAction(self.action_delete)
        self.menu.addAction(self.action_refresh)
        self.menubar.addAction(self.menu.menuAction())

        self.retranslateUi(MainWindow)
        self.ConnectButton.clicked.connect(MainWindow.on_connect_btn_click)
        self.ExplorerWidget.doubleClicked['QModelIndex'].connect(
            MainWindow.on_explorer_dbclick)
        self.ExplorerWidget.customContextMenuRequested['QPoint'].connect(
            MainWindow.on_explorer_context_menu_requested)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
Beispiel #3
0
class AdamGui(QtGui.QMainWindow, AdamWindow):
    """
    class represents a QMainWindow based on Ui_AdamWindow
    - setup gui
    - provides slots for main menu
    - setup signals and slots for main menu
    """
    def __init__(self):
        self.core = AdamCore()
        QtGui.QMainWindow.__init__(self)
        AdamWindow.__init__(self)
        self.treeWidget = None
        self.filename = None
        self.setupAdamGui()


    def setupAdamGui(self):
        """
        setup adam gui
        - setups adams mainwindow ui
        - add tree widget to mainwindow
        """
        self.setupUi(self)
        self.treeWidget = TreeWidget(self.core, self.centralwidget)
        self.gridLayout.addWidget(self.treeWidget, 0, 0, 1, 1)
        self.setupSignalsSlots()


    def openAdaptionDataFile(self):
        """
        slot for opening existing adaption data file
        - ask for file
        - close current open adapation
        - open requested file
        """
        self.filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file')
        self.closeAdaptionDataFile()
        self.core.openAdaption(self.filename)


    def newAdaptionDataFile(self):
        """
        slot for creating new adaption data file
        - ask for grammar file for new adaption data
        - setup tree widget
        """
        grammarfilename = QtGui.QFileDialog.getOpenFileName(self,
								'Open file',
								'./grammar/'
								)
        self.core.openGrammar(grammarfilename)
        self.treeWidget.setupTree()


    def closeAdaptionDataFile(self):
        """
        slot for closing currently opened adaption data file
        """
        self.core.closeAdaption()


    def saveAdaptionDataFile(self):
        """
        slot for saving adaption data file
        - if filename is not defined, saveAs will be called
        """
        if self.filename is not None:
            self.core.saveAdaption(self.filename, self.treeWidget)
        else:
            self.saveAsAdaptionDataFile()


    def saveAsAdaptionDataFile(self):
        """
        slot for saving adaption data file (ask for destination before saving)
        - ask for file to save into
        """
        self.filename = QtGui.QFileDialog.getOpenFileName(self, 'Save file as')
        self.core.saveAdaption(self.filename, self.treeWidget)


    def exportAdaptionDataAs(self):
        """
        slot for exporting adaption data
        """


    def setupSignalsSlots(self):
        """
        setup signal and slots
        """
        self.actionNew.triggered.connect(lambda: self.newAdaptionDataFile())
        self.actionOpen.triggered.connect(lambda: self.openAdaptionDataFile())
        self.actionClose.triggered.connect(lambda: self.closeAdaptionDataFile())
        self.actionSave.triggered.connect(lambda: self.saveAdaptionDataFile())
        self.actionSaveAs.triggered.connect(lambda: self.saveAsAdaptionDataFile())
        self.actionExport.triggered.connect(lambda: self.exportAdaptionDataAs())
        self.actionExit.triggered.connect(lambda: self.close())