Example #1
0
    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()
Example #2
0
 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()
Example #3
0
    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
Example #4
0
    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)