Esempio n. 1
0
 def __init__(self, controller, version, plot_obj, parent=None):
     QtGui.QWidget.__init__(self, parent)
     self.proj_controller = controller
     self.controller = controller.vt_controller
     self.version = version
     self.plot = plot_obj
     self.state_changed = False
     self.plot_widget = None
     self.buttonLayout = QtGui.QHBoxLayout()
     self.buttonLayout.setMargin(5)
     self.saveButton = QDockPushButton('&Save', self)
     self.saveButton.setFixedWidth(100)
     self.saveButton.setEnabled(True)
     self.buttonLayout.addWidget(self.saveButton)
     self.resetButton = QDockPushButton('&Reset', self)
     self.resetButton.setFixedWidth(100)
     self.resetButton.setEnabled(True)
     self.buttonLayout.addWidget(self.resetButton)
     layout = QtGui.QVBoxLayout()
     self.setLayout(layout)
     self.alias_widgets = {}
     self.updateWidgets(plot_obj)
     layout.addLayout(self.buttonLayout)
     self.connect(self.saveButton, QtCore.SIGNAL('clicked(bool)'),
                  self.saveTriggered)
     self.connect(self.resetButton, QtCore.SIGNAL('clicked(bool)'),
                  self.resetTriggered)
Esempio n. 2
0
    def __init__(self, module, controller, parent=None, show_buttons=True):
        QtGui.QWidget.__init__(self, parent)
        self.module = module
        self.module_instance = self.module.module_descriptor.module()
        self.controller = controller
        self.show_buttons = show_buttons
        self.layout = QtGui.QVBoxLayout()
        self.layout.setSpacing(3)
        self.layout.setMargin(0)
        self.fun_map = {}
        self.populate_fun_map()
        self.gmName = self.getValueFromFunction("graphicsMethodName")
        if self.gmName is None:
            self.gmName = self.module_instance.graphics_method_name
        self.mapAttributesToFunctions()
        self.tabWidget = QtGui.QTabWidget(self)

        self.tabWidget.setTabPosition(QtGui.QTabWidget.North)
        self.tabWidget.setDocumentMode(True)
        self.gmEditor = self.createEditor(self, self.gmName)
        self.tabWidget.insertTab(0, self.gmEditor, "Properties")
        self.wrldCoordEditor = self.tabWidget.widget(1)

        self.layout.addWidget(self.tabWidget)
        self.setupEditors()
        #default gmName can't be changed
        if str(self.gmName) == "default":
            self.gmEditor.setEnabled(False)
            if self.wrldCoordEditor:
                self.wrldCoordEditor.setEnabled(False)

        if show_buttons:
            self.buttonLayout = QtGui.QHBoxLayout()
            self.buttonLayout.setMargin(5)
            self.saveButton = QDockPushButton('&Save', self)
            self.saveButton.setFixedWidth(100)
            self.saveButton.setEnabled(True)
            self.buttonLayout.addWidget(self.saveButton)
            self.resetButton = QDockPushButton('&Reset', self)
            self.resetButton.setFixedWidth(100)
            self.resetButton.setEnabled(True)
            self.buttonLayout.addWidget(self.resetButton)
            self.layout.addLayout(self.buttonLayout)

            self.connect(self.saveButton, QtCore.SIGNAL('clicked(bool)'),
                         self.saveTriggered)
            self.connect(self.resetButton, QtCore.SIGNAL('clicked(bool)'),
                         self.resetTriggered)
        self.setLayout(self.layout)
        self.tabWidget.setCurrentIndex(0)
Esempio n. 3
0
 def __init__(self, parent=None):
     super(PlotSource, self).__init__(parent)
     #self.setWindowFlags(self.windowFlags() | QtCore.Qt.WindowStaysOnTopHint)
     self.setWindowTitle("Visualization Source")
     #self.main_widget = QtGui.QWidget()
     self.btn_copy_to_clipboard = QDockPushButton("Copy to clipboard")
     self.btn_save_to_file = QDockPushButton("Save to file")
     btnlayout = QtGui.QHBoxLayout()
     btnlayout.addStretch()
     btnlayout.addWidget(self.btn_copy_to_clipboard)
     btnlayout.addWidget(self.btn_save_to_file)
     self.tabWidget = QtGui.QTabWidget()
     self.tabWidget.setTabsClosable(True)
     self.tabWidget.setDocumentMode(True)
     layout = QtGui.QVBoxLayout()
     layout.addWidget(self.tabWidget)
     layout.addLayout(btnlayout)
     self.setLayout(layout)
     #        self.main_widget.setLayout(layout)
     #        self.setWidget(self.main_widget)
     self.btn_copy_to_clipboard.clicked.connect(self.copyToClipboard)
     self.btn_save_to_file.clicked.connect(self.saveToFile)
     self.tabWidget.tabCloseRequested.connect(self.closeTab)
Esempio n. 4
0
    def attributeEditor(self, label, selFunc, modFunc, addFunc, delFunc):
        fax = QtGui.QGroupBox(label)
        lax = QtGui.QVBoxLayout()
        fax.setLayout(lax)
        fa1 = QtGui.QFrame()
        fa1l = QtGui.QHBoxLayout()
        fa1.setLayout(fa1l)
        lax.addWidget(fa1)
        p = QtGui.QComboBox()
        self.connect(p, QtCore.SIGNAL('currentIndexChanged(const QString&)'),
                     selFunc)
        #self.connect(p,QtCore.SIGNAL('activated(int)'),self.selAxAttribute)
        fa1l.addWidget(p)
        attName = QtGui.QLineEdit()
        self.connect(attName, QtCore.SIGNAL("textEdited(const QString&)"),
                     self.modifiedOn)
        fa1l.addWidget(attName)
        b = QDockPushButton("Modify")
        b.setFocusPolicy(QtCore.Qt.NoFocus)
        fa1l.addWidget(b)
        self.connect(b, QtCore.SIGNAL("clicked()"), modFunc)
        fa2 = QtGui.QFrame()
        fa2l = QtGui.QHBoxLayout()
        fa2.setLayout(fa2l)
        lax.addWidget(fa2)
        newAttName = QtGui.QLineEdit()
        fa2l.addWidget(newAttName)
        b = QDockPushButton("Create Attribute")
        b.setFocusPolicy(QtCore.Qt.NoFocus)
        fa2l.addWidget(b)
        self.connect(b, QtCore.SIGNAL("clicked()"), addFunc)
        b = QDockPushButton("Delete Attribute")
        b.setFocusPolicy(QtCore.Qt.NoFocus)
        fa2l.addWidget(b)
        self.connect(b, QtCore.SIGNAL("clicked()"), delFunc)

        return fax, p, attName, newAttName
Esempio n. 5
0
    def create_remove_button(self):
        widget = QWidget()
        self.btn_del_var = QDockPushButton("Remove")
        self.btn_del_var.setEnabled(False)
        btn_layout = QHBoxLayout()
        btn_layout.setSpacing(3)
        btn_layout.setMargin(0)
        btn_layout.addWidget(self.btn_del_var)
        btn_layout.addStretch()
        widget.setLayout(btn_layout)

        self.connect(self.btn_del_var, SIGNAL('clicked(bool)'),
                     self.delete_clicked)

        return widget
Esempio n. 6
0
    def __init__(self, parent=None, f=QtCore.Qt.WindowFlags()):
        QtGui.QWidget.__init__(self, parent, f)
        
        self.set_title("Export To LaTeX")

        # add button to select tex source
        # listview to select figure 
        # thumbnail display
        # set figure specific options (show workflow, show execution, show
        # set includegraphics options
        source_label = QtGui.QLabel("LaTeX Source:")
        self.source_edit = QtGui.QLineEdit()
        source_selector = QDockPushButton("Select...")
        # source_selector = QtGui.QToolButton()
        # source_selector.setIcon(QtGui.QIcon(
        #         self.style().standardPixmap(QtGui.QStyle.SP_DirOpenIcon)))
        # source_selector.setIconSize(QtCore.QSize(12,12))
        source_selector.setToolTip("Open a file chooser")
        # source_selector.setAutoRaise(True)
        self.connect(source_selector,
                     QtCore.SIGNAL('clicked()'),
                     self.selectSource)

        source_group = QtGui.QGroupBox("LaTeX Source")
        s_layout = QtGui.QHBoxLayout()
        s_layout.addWidget(source_label)
        s_layout.addWidget(self.source_edit)
        s_layout.addWidget(source_selector)
        s_layout.setStretch(1,1)
        source_group.setLayout(s_layout)

        self.figure_list = QtGui.QListWidget()
        self.figure_list.setSelectionMode(self.figure_list.SingleSelection)
        self.preview_image = QtGui.QLabel()
        self.preview_image.setScaledContents(False)
        self.preview_image.setMinimumSize(240, 240)
        add_figure = QDockPushButton("Add Figure")
        delete_figure = QDockPushButton("Delete Figure")
        
        self.connect(add_figure,
                     QtCore.SIGNAL("clicked()"),
                     self.addFigure)
        self.connect(delete_figure,
                     QtCore.SIGNAL("clicked()"),
                     self.deleteFigure)
        self.connect(self.figure_list,
                     QtCore.SIGNAL("itemSelectionChanged()"),
                     self.figureSelected)
        
        figure_group = QtGui.QGroupBox("Figures")
        figure_layout = QtGui.QGridLayout()
        figure_layout.addWidget(self.figure_list,0,0,1,2)
        figure_layout.addWidget(self.preview_image,0,2)
        figure_layout.addWidget(add_figure,1,0,QtCore.Qt.AlignRight)
        figure_layout.addWidget(delete_figure,1,1,QtCore.Qt.AlignRight)
        figure_group.setLayout(figure_layout)
        
        # figure type, vistrail reference (vt_locator), version (smart tag)
        # use current version
        self.figure_type = QtGui.QComboBox()
        self.figure_type.setEditable(False)
        # items = QtCore.QStringList()
        # items << "Workflow Results" << "Workflow Graph" << "History Tree Graph";
        self.figure_type.addItems(["Workflow Results", "Workflow Graph",
                                   "Version Tree"])
        self.figure_ref = QtGui.QLineEdit()
        version_label = QtGui.QLabel("Version:")
        self.figure_version = QtGui.QLineEdit()
        tag_label = QtGui.QLabel("Tag:")
        self.figure_tag = QtGui.QComboBox()
        self.figure_tag.setEditable(True)
        self.figure_smart = QtGui.QCheckBox("Smart Tag")
        current_button = QDockPushButton("Use Current")
        
        self.connect(current_button, QtCore.SIGNAL("clicked()"),
                     self.useCurrent)

        graphicx_label = QtGui.QLabel("Arguments for includegraphics:")
        self.graphicx_edit = QtGui.QLineEdit()

        self.def_group = QtGui.QGroupBox("Figure Definition")
        def_layout = QtGui.QVBoxLayout()
        def_h_layout = QtGui.QHBoxLayout()
        def_h_layout.addWidget(self.figure_ref)
        def_h_layout.addWidget(self.figure_type)
        def_h_layout.setStretch(0,1)
        def_layout.addLayout(def_h_layout)
        def_h_layout = QtGui.QHBoxLayout()        
        def_h_layout.addWidget(version_label)
        def_h_layout.addWidget(self.figure_version)
        def_h_layout.addWidget(tag_label)
        def_h_layout.addWidget(self.figure_tag)
        def_h_layout.addWidget(self.figure_smart)
        def_h_layout.addWidget(current_button)
        def_h_layout.setStretch(3,1)
        def_layout.addLayout(def_h_layout)
        def_h_layout = QtGui.QHBoxLayout()
        def_h_layout.addWidget(graphicx_label)
        def_h_layout.addWidget(self.graphicx_edit)
        def_h_layout.setStretch(1,1)
        def_layout.addLayout(def_h_layout)
        self.def_group.setLayout(def_layout)

        self.chbPdf = QtGui.QCheckBox("As PDF")
        self.chbCache = QtGui.QCheckBox("Cache Images")
        self.chbLatexVTL = QtGui.QCheckBox("Include .vtl")

        self.chbWorkflow = QtGui.QCheckBox("Include Workflow")
        self.chbFullTree = QtGui.QCheckBox("Include Full Tree")
        self.chbFullTree.setEnabled(False)
        self.chbExecute = QtGui.QCheckBox("Execute Workflow")
        self.chbSpreadsheet = QtGui.QCheckBox("Show Spreadsheet Only")

        self.gbEmbedOpt = QtGui.QGroupBox("Embed Options")
        gblayout = QtGui.QGridLayout()
        gblayout.addWidget(self.chbPdf, 0, 0)
        gblayout.addWidget(self.chbCache, 0, 1)
        gblayout.addWidget(self.chbLatexVTL, 1, 0)
        self.gbEmbedOpt.setLayout(gblayout)

        self.gbDownOpt = QtGui.QGroupBox("Download Options")
        gblayout = QtGui.QGridLayout()
        gblayout.addWidget(self.chbWorkflow, 0, 0)
        gblayout.addWidget(self.chbFullTree, 0, 1)
        gblayout.addWidget(self.chbExecute, 1, 0)
        gblayout.addWidget(self.chbSpreadsheet, 1, 1)
        self.gbDownOpt.setLayout(gblayout)

        revert_button = QDockPushButton("Revert...")
        save_button = QDockPushButton("Save...")
        save_button.setAutoDefault(True)

        self.connect(save_button, QtCore.SIGNAL("clicked()"),
                     self.saveLatex)
        
        main_layout = QtGui.QVBoxLayout()
        main_layout.addWidget(source_group)
        main_layout.addWidget(figure_group)
        main_layout.addWidget(self.def_group)
        main_h_layout = QtGui.QHBoxLayout()
        main_h_layout.addWidget(self.gbEmbedOpt)
        main_h_layout.addWidget(self.gbDownOpt)
        main_layout.addLayout(main_h_layout)
        main_h_layout = QtGui.QHBoxLayout()
        main_h_layout.setAlignment(QtCore.Qt.AlignRight)
        main_h_layout.addWidget(revert_button)
        main_h_layout.addWidget(save_button)
        main_layout.addLayout(main_h_layout)
        
        self.setLayout(main_layout)

        self.texts = None
        self.selected_item = None
Esempio n. 7
0
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        core.debug.DebugPrint.getInstance().set_stream(debugStream(self.write))
        self.setWindowTitle('VisTrails Messages')
        layout = QtGui.QVBoxLayout()
        self.setLayout(layout)

        # top message filter buttons
        filterHolder = QtGui.QGridLayout()
        layout.addLayout(filterHolder)
        filter = QtGui.QGridLayout()
        filterHolder.addLayout(filter, 0, 0, QtCore.Qt.AlignLeft)

        filterLabel = QtGui.QLabel('Filter:')
        filterLabel.setFixedWidth(40)
        filter.addWidget(filterLabel, 0, 0)

        self.infoFilter = QtGui.QCheckBox('Info', self)
        self.infoFilter.setCheckable(True)
        self.infoFilter.setChecked(True)
        self.infoFilter.setStyleSheet(
            'color:' + CurrentTheme.DEBUG_INFO_COLOR.name() +
            ';background-color:' +
            CurrentTheme.DEBUG_FILTER_BACKGROUND_COLOR.name())
        self.connect(self.infoFilter, QtCore.SIGNAL('stateChanged(int)'),
                     self.toggleInfo)
        filter.addWidget(self.infoFilter, 0, 1)

        self.warningFilter = QtGui.QCheckBox('Warning', self)
        self.warningFilter.setCheckable(True)
        self.warningFilter.setChecked(True)
        self.warningFilter.setStyleSheet(
            'color:' + CurrentTheme.DEBUG_WARNING_COLOR.name() +
            ';background-color:' +
            CurrentTheme.DEBUG_FILTER_BACKGROUND_COLOR.name())
        self.connect(self.warningFilter, QtCore.SIGNAL('stateChanged(int)'),
                     self.toggleWarning)
        filter.addWidget(self.warningFilter, 0, 2)

        self.criticalFilter = QtGui.QCheckBox('Critical', self)
        self.criticalFilter.setCheckable(True)
        self.criticalFilter.setChecked(True)
        self.criticalFilter.setStyleSheet(
            'color:' + CurrentTheme.DEBUG_CRITICAL_COLOR.name() +
            ';background-color:' +
            CurrentTheme.DEBUG_FILTER_BACKGROUND_COLOR.name())
        self.connect(self.criticalFilter, QtCore.SIGNAL('stateChanged(int)'),
                     self.toggleCritical)
        filter.addWidget(self.criticalFilter, 0, 3)

        # message list
        self.list = QtGui.QListWidget()
        self.connect(
            self.list,
            QtCore.SIGNAL(
                'currentItemChanged(QListWidgetItem *, QListWidgetItem *)'),
            self.showMessage)
        layout.addWidget(self.list)

        # message details field
        self.text = QtGui.QTextEdit()
        self.text.setReadOnly(True)
        self.text.hide()
        layout.addWidget(self.text)

        # bottom buttons
        buttons = QtGui.QGridLayout()
        layout.addLayout(buttons)
        leftbuttons = QtGui.QGridLayout()
        buttons.addLayout(leftbuttons, 0, 0, QtCore.Qt.AlignLeft)
        rightbuttons = QtGui.QGridLayout()
        buttons.addLayout(rightbuttons, 0, 1, QtCore.Qt.AlignRight)

        copy = QDockPushButton('Copy &Message', self)
        copy.setToolTip('Copy selected message to clipboard')
        copy.setFixedWidth(125)
        rightbuttons.addWidget(copy, 0, 0)
        self.connect(copy, QtCore.SIGNAL('clicked()'), self.copyMessage)

        copyAll = QDockPushButton('Copy &All', self)
        copyAll.setToolTip('Copy all messages to clipboard (Can be a lot)')
        copyAll.setFixedWidth(125)
        rightbuttons.addWidget(copyAll, 0, 1)
        self.connect(copyAll, QtCore.SIGNAL('clicked()'), self.copyAll)
        self.msg_box = None
        self.itemQueue = []
        self.resize(700, 400)
Esempio n. 8
0
    def __init__(self, parent=None, mode="add"):
        super(VariableProperties, self).__init__(parent)
        self.setWindowTitle("Load Variable")
        self.setMinimumHeight(400)
        self.roi = [-180.0, -90.0, 180.0, 90.0]
        self.ask = QtGui.QInputDialog()
        self.ask.setWindowModality(QtCore.Qt.WindowModal)
        self.ask.setLabelText(
            "This variable already exists!\nPlease change its name below and click ok to replace it.\n"
        )
        self.mode = mode
        self.axisListHolder = None
        #self.setFloating(True)
        v = QtGui.QVBoxLayout()
        if mode == "add":
            self.label = QtGui.QLabel("Load From")
        else:
            self.label = QtGui.QLabel("Edit Variable")
        v.addWidget(self.label)
        P = parent.root.size()
        self.resize(QtCore.QSize(P.width() * .8, P.height() * .9))
        self.setSizePolicy(QtGui.QSizePolicy.Expanding,
                           QtGui.QSizePolicy.Expanding)
        self.originTabWidget = QtGui.QTabWidget(self)
        #self.connect(self.originTabWidget,QtCore.SIGNAL("currentChanged(int)"),self.tabHasChanged)
        sp = QtGui.QSplitter(QtCore.Qt.Vertical)
        #sc=QtGui.QScrollArea()
        #sc.setWidget(self.originTabWidget)
        #sc.setWidgetResizable(True)
        sp.addWidget(self.originTabWidget)
        self.dims = QtGui.QFrame()
        self.dimsLayout = QtGui.QVBoxLayout()
        self.dims.setLayout(self.dimsLayout)
        sp.addWidget(self.dims)
        v.addWidget(sp)
        h = QtGui.QHBoxLayout()
        self.selectRoiButton = QDockPushButton(
            'Select Region Of Interest (ROI)')
        h.addWidget(self.selectRoiButton)
        s = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
                              QtGui.QSizePolicy.Preferred)
        h.addItem(s)
        self.btnDefine = QDockPushButton("Load")
        h.addWidget(self.btnDefine)
        self.btnDefineClose = QDockPushButton("Load and Close")
        h.addWidget(self.btnDefineClose)
        self.btnDefineAs = QDockPushButton("Load As")
        h.addWidget(self.btnDefineAs)
        self.btnApplyEdits = QDockPushButton("Apply")
        self.btnApplyEdits.setVisible(False)
        h.addWidget(self.btnApplyEdits)
        self.btnSaveEditsAs = QDockPushButton("Save As")
        self.btnSaveEditsAs.setVisible(False)
        h.addWidget(self.btnSaveEditsAs)
        self.btnCancel = QDockPushButton("Close")

        # defaults?
        self.btnDefine.setDefault(True)
        self.btnDefineClose.setDefault(False)
        self.btnDefineAs.setDefault(False)
        self.selectRoiButton.setDefault(False)

        # Disabling at first
        self.btnDefine.setEnabled(False)
        self.btnDefineClose.setEnabled(False)
        self.btnDefineAs.setEnabled(False)
        self.selectRoiButton.setEnabled(False)
        h.addWidget(self.btnCancel)
        v.addLayout(h)
        self.layout = v
        #f=QtGui.QFrame()
        #f.setLayout(v)
        #self.setWidget(f)
        self.setLayout(v)
        self.parent = parent
        self.root = parent.root
        self.varNameInFile = None  #store the name of the variable when loaded from file
        self.createFileTab()
        self.createESGFTab()
        self.createOpenDAPTab()
        self.createEditTab()
        self.createInfoTab()
        for i in range(self.originTabWidget.count()):
            if self.originTabWidget.tabText(i) == "Edit":
                self.originTabWidget.setTabEnabled(i, False)

        self.connectSignals()
        sp.setStretchFactor(0, 2)
        self.cdmsFile = None
        self.updatingFile = False

        self.roiSelector = ROISelectionDialog(self.parent)
        self.roiSelector.setWindowFlags(self.roiSelector.windowFlags()
                                        | Qt.WindowStaysOnTopHint)
        self.connect(self.roiSelector, QtCore.SIGNAL('doneConfigure()'),
                     self.setRoi)
        if self.roi: self.roiSelector.setROI(self.roi)
Esempio n. 9
0
    def __init__(self, controller=None, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.controller = controller
        self.versionNumber = -1
        vLayout = QtGui.QVBoxLayout()
        vLayout.setMargin(0)
        vLayout.setSpacing(5)
        self.setLayout(vLayout)
        gLayout = QtGui.QGridLayout()
        gLayout.setMargin(0)
        gLayout.setSpacing(5)
        gLayout.setColumnMinimumWidth(1, 5)
        gLayout.setRowMinimumHeight(0, 24)
        gLayout.setRowMinimumHeight(1, 24)
        gLayout.setRowMinimumHeight(2, 24)
        gLayout.setRowMinimumHeight(3, 24)
        vLayout.addLayout(gLayout)

        #vtVersionLabel = QtGui.QLabel('Workflow:', self)
        #gLayout.addWidget(vtVersionLabel, 0, 0, 1, 1)

        #self.vtVersionEdit = QtGui.QLabel('', self)
        #gLayout.addWidget(self.vtVersionEdit, 0, 2, 1, 1)

        tagLabel = QtGui.QLabel('Mashup Tag:', self)
        gLayout.addWidget(tagLabel, 0, 0, 1, 1)

        editLayout = QtGui.QHBoxLayout()
        editLayout.setMargin(0)
        editLayout.setSpacing(2)
        self.tagEdit = QtGui.QLineEdit()
        tagLabel.setBuddy(self.tagEdit)
        editLayout.addWidget(self.tagEdit)
        self.tagEdit.setEnabled(False)

        self.tagReset = QtGui.QToolButton(self)
        self.tagReset.setIcon(
            QtGui.QIcon(self.style().standardPixmap(
                QtGui.QStyle.SP_DialogCloseButton)))
        self.tagReset.setIconSize(QtCore.QSize(12, 12))
        self.tagReset.setAutoRaise(True)
        self.tagReset.setEnabled(False)
        editLayout.addWidget(self.tagReset)

        gLayout.addLayout(editLayout, 0, 2, 1, 1)

        userLabel = QtGui.QLabel('User:'******'', self)
        gLayout.addWidget(self.userEdit, 1, 2, 1, 1)

        dateLabel = QtGui.QLabel('Date:', self)
        gLayout.addWidget(dateLabel, 2, 0, 1, 1)

        self.dateEdit = QtGui.QLabel('', self)
        gLayout.addWidget(self.dateEdit, 2, 2, 1, 1)

        self.btnExport = QDockPushButton("Export...")
        gLayout.addWidget(self.btnExport, 3, 0, 1, 3, QtCore.Qt.AlignHCenter)

        vLayout.addStretch()

        self.connect(self.tagEdit, QtCore.SIGNAL('editingFinished()'),
                     self.tagFinished)
        self.connect(self.tagEdit, QtCore.SIGNAL('textChanged(QString)'),
                     self.tagChanged)
        self.connect(self.tagReset, QtCore.SIGNAL('clicked()'),
                     self.tagCleared)
        self.connect(self.btnExport, QtCore.SIGNAL("clicked()"),
                     self.exportMashupGUI)
Esempio n. 10
0
    def build_widget(self):
        name_label = QtGui.QLabel("Name:")
        self.name_edit = QtGui.QLineEdit()
        self.connect(self.name_edit, QtCore.SIGNAL('editingFinished()'),
                     self.name_editing_finished)
        self.name_edit.setMinimumSize(50, 22)
        type_label = QtGui.QLabel("Type:")
        self.type_edit = QtGui.QLabel("")
        # self.type_edit.setReadOnly(True)
        package_label = QtGui.QLabel("Package:")
        self.package_edit = QtGui.QLabel("")
        # self.package_edit.setReadOnly(True)
        self.configure_button = QDockPushButton("Configure")
        self.connect(self.configure_button, QtCore.SIGNAL('clicked()'),
                     self.configure)
        self.doc_button = QDockPushButton("Documentation")
        self.connect(self.doc_button, QtCore.SIGNAL('clicked()'),
                     self.documentation)

        layout = QtGui.QVBoxLayout()
        layout.setMargin(2)
        layout.setSpacing(4)
        h_layout = QtGui.QHBoxLayout()
        h_layout.setMargin(2)
        h_layout.setSpacing(2)
        h_layout.setAlignment(QtCore.Qt.AlignLeft)
        h_layout.addWidget(name_label)
        h_layout.addWidget(self.name_edit)
        layout.addLayout(h_layout)
        h_layout = QtGui.QHBoxLayout()        
        h_layout.setMargin(2)
        h_layout.setSpacing(2)
        h_layout.setAlignment(QtCore.Qt.AlignLeft)
        h_layout.addWidget(type_label)
        h_layout.addWidget(self.type_edit)
        h_widget = QtGui.QWidget()
        h_widget.setLayout(h_layout)
        h_widget.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred)
        layout.addWidget(h_widget)
        h_layout = QtGui.QHBoxLayout()        
        h_layout.setMargin(2)
        h_layout.setSpacing(2)
        h_layout.setAlignment(QtCore.Qt.AlignLeft)
        h_layout.addWidget(package_label)
        h_layout.addWidget(self.package_edit)
        h_widget = QtGui.QWidget()
        h_widget.setLayout(h_layout)
        h_widget.setSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred)
        layout.addWidget(h_widget)
        h_layout = QtGui.QHBoxLayout()        
        h_layout.setMargin(2)
        h_layout.setSpacing(5)
        h_layout.setAlignment(QtCore.Qt.AlignCenter)
        h_layout.addWidget(self.configure_button)
        h_layout.addWidget(self.doc_button)
        layout.addLayout(h_layout)
        
        self.tab_widget = QtGui.QTabWidget()
        # this causes a crash when undocking the palette in Mac OS X
        # see https://bugreports.qt-project.org/browse/QTBUG-16851
        # self.tab_widget.setDocumentMode(True)
        self.input_ports_list = PortsList('input')
        self.tab_widget.addTab(self.input_ports_list, 'Inputs')
        self.output_ports_list = PortsList('output')
        self.tab_widget.addTab(self.output_ports_list, 'Outputs')
        self.ports_lists = [self.input_ports_list,
                            self.output_ports_list]
        self.annotations = QModuleAnnotationTable()
        self.tab_widget.addTab(self.annotations, 'Annotations')
        layout.addWidget(self.tab_widget, 1)

        layout.setAlignment(QtCore.Qt.AlignTop)
        self.setLayout(layout)
        self.setWindowTitle('Module Information')