def __init__(self, app, project): gtk.VBox.__init__(self) self.project = project hbox = gtk.HBox() self.pack_start(hbox, False, False) hbox.pack_start(gtk.Label("Predefined models:"), False, False, 5) button = gtk.Button("Linear") button.connect("clicked", lambda w: self.set_hockney()) hbox.pack_start(button, False, False) header = "ca::IntTime packet_time(" \ "casr::Context &ctx, int source_id, int target_id, size_t size)\n" content = project.communication_model_code if content.strip() == "": content = "\t\n" self.editor = codeedit.CodeEditor( app, project.get_syntax_highlight_key(), [("", header + "{\n", content, "}\n")]) self.pack_start(self.editor, True, True) self.editor.grab_focus() self.editor.buffer_changed = self.buffer_changed self.show_all()
def _setup_no_attribute(self, text): editor = codeedit.CodeEditor(self.project.get_syntax_highlight_key()) editor.set_size_request(0, 60) editor.set_sensitive(False) label = gtk.Label(text) label.set_sensitive(False) self.attribute_box.pack_start(label, False, False) self.attribute_box.pack_start(editor, False, False) self.attribute_box.show_all()
def _add_attribute_code_editor(self, get_fn, set_fn): def on_change(): original = get_fn() text = editor.get_text() set_fn(text) self.add_undo_action(undo.ActionSet(get_fn, set_fn, original, suppress_similar=True)) editor = codeedit.CodeEditor(self.project.get_syntax_highlight_key()) # Brackets are highlighted even when textview has no focus, it is quite disturbing # So we turn this feature off editor.buffer.set_highlight_matching_brackets(False) editor.view.set_events(gtk.gdk.KEY_PRESS) editor.view.connect("key_press_event", self._key_press) editor.set_size_request(0, 60) editor.set_text(get_fn()) editor.buffer_changed = on_change self.attribute_box.pack_start(editor, False, False, 0) self.attribute_widgets.append(editor) return editor
def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1400, 750) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setEnabled(True) self.centralwidget.setObjectName("centralwidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout.setObjectName("verticalLayout") self.widget = QtWidgets.QWidget(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.widget.sizePolicy().hasHeightForWidth()) self.widget.setSizePolicy(sizePolicy) self.widget.setObjectName("widget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.widget) self.verticalLayout_3.setObjectName("verticalLayout_3") self.verticalLayout_2 = QtWidgets.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") self.gridLayout_3 = QtWidgets.QGridLayout() self.gridLayout_3.setObjectName("gridLayout_3") self.gridLayout_4 = QtWidgets.QGridLayout() self.gridLayout_4.setObjectName("gridLayout_4") spacerItem = QtWidgets.QSpacerItem(75, 20, QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Minimum) self.gridLayout_4.addItem(spacerItem, 0, 1, 1, 1) self.plainTextEdit = codeedit.CodeEditor() sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.plainTextEdit.sizePolicy().hasHeightForWidth()) self.plainTextEdit.setSizePolicy(sizePolicy) self.plainTextEdit.setMaximumSize(QtCore.QSize(650, 16777215)) self.plainTextEdit.setObjectName("plainTextEdit") self.gridLayout_4.addWidget(self.plainTextEdit, 0, 0, 1, 1) self.gridLayout_3.addLayout(self.gridLayout_4, 0, 0, 1, 1) self.label = QtWidgets.QLabel(self.widget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label.sizePolicy().hasHeightForWidth()) self.label.setSizePolicy(sizePolicy) self.label.setMaximumSize(QtCore.QSize(650, 16777215)) self.label.setObjectName("label") self.gridLayout_3.addWidget(self.label, 0, 1, 1, 1) self.verticalLayout_2.addLayout(self.gridLayout_3) self.pushButton = QtWidgets.QPushButton(self.widget) self.pushButton.setMaximumSize(QtCore.QSize(110, 30)) self.pushButton.setObjectName("pushButton") self.verticalLayout_2.addWidget(self.pushButton, 0, QtCore.Qt.AlignHCenter) self.verticalLayout_3.addLayout(self.verticalLayout_2) self.verticalLayout.addWidget(self.widget) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1400, 22)) self.menubar.setObjectName("menubar") self.menuCFG = QtWidgets.QMenu(self.menubar) self.menuCFG.setTitle("") self.menuCFG.setObjectName("menuCFG") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.menubar.addAction(self.menuCFG.menuAction()) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow)