Esempio n. 1
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. 2
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)
    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)
    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