Exemplo n.º 1
0
 def addRun(self, font, run, label, num, tooltip = "", highlight = False, collision = False) :
     if num >= len(self.runViews) :
         v = RunView(font, run, self, collision = collision)
         self.runViews.append(v)
         self.setCellWidget(num, 1, v.gview)
         self.setCellWidget(num, 2, v.tview)
         l = QtGui.QTableWidgetItem(label)
         l.setFlags(QtCore.Qt.ItemIsEnabled)
         self.setItem(num, 0, l)
         try :
             v.slotSelected.connect(self.changeSlot)
             v.glyphSelected.connect(self.changeGlyph)
         except :
             print "Passes connection failed"
     else :
         v = self.runViews[num]
         v.loadRun(run, font)
         l = self.item(num, 0)
     if tooltip : l.setToolTip(tooltip)
     if highlight == "active" :
         l.setBackground(Layout.activePassColour)
     elif highlight == "semi-active" :
         l.setBackground(Layout.semiActivePassColour)
     else :
         l.setBackground(QtGui.QColor(255, 255, 255))
     l.highlight = highlight
     self.verticalHeader().setDefaultSectionSize(v.gview.size().height())
     return (v.gview.width(), v.tview.width())
Exemplo n.º 2
0
    def initializeLayout(self, xmlFile):
        vsplitter = QtGui.QSplitter()  # allows sizing of results view
        vsplitter.setOrientation(QtCore.Qt.Vertical)
        vsplitter.setContentsMargins(0, 0, 0, 0)
        vsplitter.setHandleWidth(4)
        self.layout.addWidget(vsplitter)

        self.widget = QtGui.QWidget(vsplitter)
        vbox = QtGui.QVBoxLayout(self.widget)  # MatchList + input control
        vbox.setContentsMargins(*Layout.buttonMargins)
        vbox.setSpacing(Layout.buttonSpacing)

        hbox = QtGui.QHBoxLayout(
        )  # just in case we want to add more buttons here
        vbox.addLayout(hbox)
        plabel = QtGui.QLabel("Search pattern:")
        hbox.addWidget(plabel)
        hbox.addStretch()
        hbox.setContentsMargins(*Layout.buttonMargins)
        hbox.setSpacing(Layout.buttonSpacing)
        searchGo = QtGui.QToolButton(self.widget)
        searchGo.setDefaultAction(self.aSearchGo)
        hbox.addWidget(searchGo)

        self.patternEdit = TextEditReturn(self.widget, self)
        self.patternEdit.setMaximumHeight(Layout.runEditHeight)
        vbox.addWidget(self.patternEdit)
        vbox.addSpacing(5)

        self.matchList = MatchList(self.app, self.font, xmlFile, self)
        #self.matchList.itemClicked.connect(self.itemClicked)
        vbox.addWidget(self.matchList)

        # line below MatchList
        line = QtGui.QFrame(self.widget)
        line.setFrameStyle(QtGui.QFrame.HLine | QtGui.QFrame.Raised)
        line.setLineWidth(2)
        vbox.addWidget(line)
        vbox.addSpacing(2)

        # input control
        self.runEdit = QtGui.QPlainTextEdit(self.widget)
        self.runEdit.setMaximumHeight(Layout.runEditHeight)
        vbox.addWidget(self.runEdit)

        # control buttons
        hbox = QtGui.QHBoxLayout()
        vbox.addLayout(hbox)
        hbox.setContentsMargins(*Layout.buttonMargins)
        hbox.setSpacing(Layout.buttonSpacing)
        runGo = QtGui.QToolButton(self.widget)
        runGo.setDefaultAction(self.aRunGo)
        hbox.addWidget(runGo)
        hbox.addStretch()
        self.runRtl = QtGui.QCheckBox("RTL", self.widget)
        self.runRtl.setChecked(True if configintval(self.app.config, 'main',
                                                    'defaultrtl') else False)
        self.runRtl.setToolTip("Process text right to left")
        hbox.addWidget(self.runRtl)
        self.runFeats = QtGui.QToolButton(self.widget)
        #self.runFeats.setDefaultAction(self.aRunFeats)
        hbox.addWidget(self.runFeats)
        #runAdd = QtGui.QToolButton(self.widget)
        #runAdd.setDefaultAction(self.aRunAdd)
        #hbox.addWidget(runAdd)

        # test output
        self.run = Run(self.font, self.runRtl.isChecked())
        self.runView = RunView(self.font)
        self.runView.gview.resize(self.runView.gview.width(),
                                  self.font.pixrect.height() + 5)
        vsplitter.addWidget(self.runView.gview)