Exemplo n.º 1
0
 def get_margin_indent(self, margin_level, indent_level, baseline_margin=None, char_width=None):
     if baseline_margin is None:
         baseline_margin = self.text_view.props.left_margin
     if char_width is None:
         char_width = helpers.get_char_width(self.text_view)
     margin = max(baseline_margin + char_width * margin_level, 0)
     indent = char_width * indent_level
     return margin, indent
Exemplo n.º 2
0
 def get_margin_indent(self,
                       margin_level,
                       indent_level,
                       baseline_margin=None,
                       char_width=None):
     if baseline_margin is None:
         baseline_margin = self.text_view.props.left_margin
     if char_width is None:
         char_width = helpers.get_char_width(self.text_view)
     margin = max(baseline_margin + char_width * margin_level, 0)
     indent = char_width * indent_level
     return margin, indent
Exemplo n.º 3
0
    def update_margins_indents(self):
        baseline_margin = self.text_view.get_left_margin()
        char_width = helpers.get_char_width(self.text_view)

        # Adjust tab size, as character width can change
        tab_array = Pango.TabArray.new(1, True)
        tab_array.set_tab(0, Pango.TabAlign.LEFT, 4 * char_width)
        self.text_view.set_tabs(tab_array)

        # Adjust margins and indents, as character width can change
        for level, tag in self.margins_indents.items():
            margin, indent = self.get_margin_indent(*level, baseline_margin,
                                                    char_width)
            tag.set_property("left-margin", margin)
            tag.set_property("indent", indent)
Exemplo n.º 4
0
    def update_margins_indents(self):
        baseline_margin = self.text_view.props.left_margin
        char_width = helpers.get_char_width(self.text_view)

        # Bail out if neither the baseline margin nor character width change
        if baseline_margin == self.baseline_margin and char_width == self.char_width:
            return
        self.baseline_margin = baseline_margin
        self.char_width = char_width

        # Adjust tab size
        tab_array = Pango.TabArray.new(1, True)
        tab_array.set_tab(0, Pango.TabAlign.LEFT, 4 * char_width)
        self.text_view.set_tabs(tab_array)

        # Adjust margins and indents
        for level, tag in self.margins_indents.items():
            margin, indent = self.get_margin_indent(*level, baseline_margin, char_width)
            tag.set_properties(left_margin=margin, indent=indent)
Exemplo n.º 5
0
    def update_margins_indents(self):
        baseline_margin = self.text_view.props.left_margin
        char_width = helpers.get_char_width(self.text_view)

        # Bail out if neither the baseline margin nor character width change
        if baseline_margin == self.baseline_margin and char_width == self.char_width:
            return
        self.baseline_margin = baseline_margin
        self.char_width = char_width

        # Adjust tab size
        tab_array = Pango.TabArray.new(1, True)
        tab_array.set_tab(0, Pango.TabAlign.LEFT, 4 * char_width)
        self.text_view.set_tabs(tab_array)

        # Adjust margins and indents
        for level, tag in self.tags_margins_indents.items():
            margin, indent = self.get_margin_indent(*level, baseline_margin,
                                                    char_width)
            tag.set_properties(left_margin=margin, indent=indent)