Beispiel #1
0
 def do_test(self):
     selections = []
     self.match_locs = []
     if self.regex_valid():
         text = unicode(self.preview.toPlainText())
         regex = unicode(self.regex.text())
         cursor = QTextCursor(self.preview.document())
         extsel = QTextEdit.ExtraSelection()
         extsel.cursor = cursor
         extsel.format.setBackground(QBrush(Qt.yellow))
         try:
             for match in re.finditer(regex, text):
                 es = QTextEdit.ExtraSelection(extsel)
                 es.cursor.setPosition(match.start(),
                                       QTextCursor.MoveAnchor)
                 es.cursor.setPosition(match.end(), QTextCursor.KeepAnchor)
                 selections.append(es)
                 self.match_locs.append((match.start(), match.end()))
         except:
             pass
     self.preview.setExtraSelections(selections)
     if self.match_locs:
         self.next.setEnabled(True)
         self.previous.setEnabled(True)
     self.occurrences.setText(str(len(self.match_locs)))
Beispiel #2
0
 def add_tag(tag):
     a = QTextEdit.ExtraSelection()
     a.cursor, a.format = editor.textCursor(), editor.match_paren_format
     a.cursor.setPosition(tag.start_block.position() + tag.start_offset)
     a.cursor.setPosition(tag.end_block.position() + tag.end_offset + 1,
                          a.cursor.KeepAnchor)
     ans.append(a)
Beispiel #3
0
        def highlight(self):
            hi_selection = QTextEdit.ExtraSelection()
 
            hi_selection.format.setBackground(self.palette().alternateBase())
            hi_selection.format.setProperty(QTextFormat.FullWidthSelection, True)
            hi_selection.cursor = self.textCursor()
            hi_selection.cursor.clearSelection()
 
            self.setExtraSelections([hi_selection])
Beispiel #4
0
 def mark_selected_text(self):
     sel = QTextEdit.ExtraSelection()
     sel.format.setBackground(self.highlight_color)
     sel.cursor = self.textCursor()
     if sel.cursor.hasSelection():
         self.current_search_mark = sel
         c = self.textCursor()
         c.clearSelection()
         self.setTextCursor(c)
     else:
         self.current_search_mark = None
     self.update_extra_selections()
Beispiel #5
0
 def highlight_cursor_line(self):
     sel = QTextEdit.ExtraSelection()
     sel.format.setBackground(self.palette().alternateBase())
     sel.format.setProperty(QTextFormat.FullWidthSelection, True)
     sel.cursor = self.textCursor()
     sel.cursor.clearSelection()
     self.current_cursor_line = sel
     self.update_extra_selections()
     # Update the cursor line's line number in the line number area
     try:
         self.line_number_area.update(0, self.last_current_lnum[0], self.line_number_area.width(), self.last_current_lnum[1])
     except AttributeError:
         pass
     block = self.textCursor().block()
     top = int(self.blockBoundingGeometry(block).translated(self.contentOffset()).top())
     height = int(self.blockBoundingRect(block).height())
     self.line_number_area.update(0, top, self.line_number_area.width(), height)
Beispiel #6
0
 def add_tag(tag):
     a = QTextEdit.ExtraSelection()
     a.cursor, a.format = editor.textCursor(), editor.match_paren_format
     a.cursor.setPosition(
         tag.start_block.position()), a.cursor.movePosition(
             a.cursor.EndOfBlock, a.cursor.KeepAnchor)
     text = unicode(a.cursor.selectedText())
     start_pos = utf16_length(text[:tag.start_offset])
     a.cursor.setPosition(
         tag.end_block.position()), a.cursor.movePosition(
             a.cursor.EndOfBlock, a.cursor.KeepAnchor)
     text = unicode(a.cursor.selectedText())
     end_pos = utf16_length(text[:tag.end_offset + 1])
     a.cursor.setPosition(tag.start_block.position() + start_pos)
     a.cursor.setPosition(tag.end_block.position() + end_pos,
                          a.cursor.KeepAnchor)
     ans.append(a)