コード例 #1
0
ファイル: codefolding.py プロジェクト: Umer-Farooq-NFC/spyder
    def _get_scope_highlight_color(self):
        """
        Gets the base scope highlight color (derivated from the editor
        background)

        For lighter themes will be a darker color,
        and for darker ones will be a lighter color
        """
        color = self.editor.sideareas_color
        if color.lightness() < 128:
            color = drift_color(color, 130)
        else:
            color = drift_color(color, 105)
        return color
コード例 #2
0
 def _add_fold_decoration(self, block, region):
     """
     Add fold decorations (boxes arround a folded block in the editor
     widget).
     """
     draw_order = DRAW_ORDERS.get('codefolding')
     deco = TextDecoration(block, draw_order=draw_order)
     deco.signals.clicked.connect(self._on_fold_deco_clicked)
     deco.tooltip = region.text(max_lines=25)
     deco.block = block
     deco.select_line()
     deco.set_outline(drift_color(self._get_scope_highlight_color(), 110))
     deco.set_background(self._get_scope_highlight_color())
     deco.set_foreground(QColor('#808080'))
     self._block_decos.append(deco)
     self.editor.decorations.add(deco)
コード例 #3
0
 def refresh_decorations(self, force=False):
     """
     Refresh decorations colors. This function is called by the syntax
     highlighter when the style changed so that we may update our
     decorations colors according to the new style.
     """
     cursor = self.editor.textCursor()
     if (self._prev_cursor is None or force
             or self._prev_cursor.blockNumber() != cursor.blockNumber()):
         for deco in self._block_decos:
             self.editor.decorations.remove(deco)
         for deco in self._block_decos:
             deco.set_outline(
                 drift_color(self._get_scope_highlight_color(), 110))
             deco.set_background(self._get_scope_highlight_color())
             self.editor.decorations.add(deco)
     self._prev_cursor = cursor
コード例 #4
0
ファイル: codefolding.py プロジェクト: Umer-Farooq-NFC/spyder
 def _add_fold_decoration(self, block, end_line):
     """
     Add fold decorations (boxes arround a folded block in the editor
     widget).
     """
     start_line = block.blockNumber()
     text = self.editor.get_text_region(start_line + 1, end_line)
     draw_order = DRAW_ORDERS.get('codefolding')
     deco = TextDecoration(block, draw_order=draw_order)
     deco.signals.clicked.connect(self._on_fold_deco_clicked)
     deco.tooltip = text
     deco.block = block
     deco.select_line()
     deco.set_outline(drift_color(self._get_scope_highlight_color(), 110))
     deco.set_background(self._get_scope_highlight_color())
     deco.set_foreground(QColor('#808080'))
     self._block_decos[start_line] = deco
     self.editor.decorations.add(deco)