Move STYLE_TYPE and STYLE_DEFAULT constants from StyledTextBuffer to StyledTextTagType.
svn: r10629
This commit is contained in:
		| @@ -57,28 +57,6 @@ from gen.lib import (StyledText, StyledTextTag, StyledTextTagType) | ||||
| # FIXME | ||||
| ALLOWED_STYLES = [i for (i, s, e) in StyledTextTagType._DATAMAP] | ||||
|  | ||||
| STYLE_TYPE = { | ||||
|     StyledTextTagType.BOLD: bool, | ||||
|     StyledTextTagType.ITALIC: bool, | ||||
|     StyledTextTagType.UNDERLINE: bool, | ||||
|     StyledTextTagType.FONTCOLOR: str, | ||||
|     StyledTextTagType.HIGHLIGHT: str, | ||||
|     StyledTextTagType.FONTFACE: str, | ||||
|     StyledTextTagType.FONTSIZE: int, | ||||
|     StyledTextTagType.SUPERSCRIPT: bool, | ||||
| } | ||||
|  | ||||
| STYLE_DEFAULT = { | ||||
|     StyledTextTagType.BOLD: False, | ||||
|     StyledTextTagType.ITALIC: False, | ||||
|     StyledTextTagType.UNDERLINE: False, | ||||
|     StyledTextTagType.FONTCOLOR: '#000000', | ||||
|     StyledTextTagType.HIGHLIGHT: '#FFFFFF', | ||||
|     StyledTextTagType.FONTFACE: 'Sans', | ||||
|     StyledTextTagType.FONTSIZE: 10, | ||||
|     StyledTextTagType.SUPERSCRIPT: False, | ||||
| } | ||||
|  | ||||
| STYLE_TO_PROPERTY = { | ||||
|     StyledTextTagType.BOLD: 'weight', # permanent tag is used instead | ||||
|     StyledTextTagType.ITALIC: 'style', # permanent tag is used instead | ||||
| @@ -90,7 +68,6 @@ STYLE_TO_PROPERTY = { | ||||
|     StyledTextTagType.SUPERSCRIPT: 'rise', | ||||
| } | ||||
|  | ||||
|  | ||||
| (MATCH_START, | ||||
|  MATCH_END, | ||||
|  MATCH_FLAVOR, | ||||
| @@ -265,7 +242,7 @@ class StyledTextBuffer(gtk.TextBuffer): | ||||
|         ## 1. are used to format inserted characters (self.after_insert_text) | ||||
|         ## 2. are set each time the Insert marker is set (self.do_mark_set) | ||||
|         ## 3. are set when a style is set (self._apply_style_to_selection) | ||||
|         self.style_state = STYLE_DEFAULT.copy() | ||||
|         self.style_state = StyledTextTagType.STYLE_DEFAULT.copy() | ||||
|          | ||||
|         # internally used attribute | ||||
|         self._insert = self.get_insert() | ||||
| @@ -308,7 +285,7 @@ class StyledTextBuffer(gtk.TextBuffer): | ||||
|         # apply active formats for the inserted text | ||||
|         for style in ALLOWED_STYLES: | ||||
|             value = self.style_state[style] | ||||
|             if value and (value != STYLE_DEFAULT[style]): | ||||
|             if value and (value != StyledTextTagType.STYLE_DEFAULT[style]): | ||||
|                 self.apply_tag(self._find_tag_by_name(style, value), | ||||
|                                insert_start, iter) | ||||
|      | ||||
| @@ -353,14 +330,14 @@ class StyledTextBuffer(gtk.TextBuffer): | ||||
|         changed_styles = {} | ||||
|          | ||||
|         for style in ALLOWED_STYLES: | ||||
|             if STYLE_TYPE[style] == bool: | ||||
|             if StyledTextTagType.STYLE_TYPE[style] == bool: | ||||
|                 value = str(style) in tag_names | ||||
|             else: | ||||
|                 value = STYLE_DEFAULT[style] | ||||
|                 value = StyledTextTagType.STYLE_DEFAULT[style] | ||||
|                 for tname in tag_names: | ||||
|                     if tname.startswith(str(style)): | ||||
|                         value = tname.split(' ', 1)[1] | ||||
|                         value = STYLE_TYPE[style](value) | ||||
|                         value = StyledTextTagType.STYLE_TYPE[style](value) | ||||
|              | ||||
|             if self.style_state[style] != value: | ||||
|                 changed_styles[style] = value | ||||
| @@ -416,18 +393,18 @@ class StyledTextBuffer(gtk.TextBuffer): | ||||
|              | ||||
|     def _apply_style_to_selection(self, style, value): | ||||
|         # FIXME can this be unified? | ||||
|         if STYLE_TYPE[style] == bool: | ||||
|         if StyledTextTagType.STYLE_TYPE[style] == bool: | ||||
|             start, end = self._get_selection() | ||||
|              | ||||
|             if value: | ||||
|                 self.apply_tag_by_name(str(style), start, end) | ||||
|             else: | ||||
|                 self.remove_tag_by_name(str(style), start, end) | ||||
|         elif STYLE_TYPE[style] == str: | ||||
|         elif StyledTextTagType.STYLE_TYPE[style] == str: | ||||
|             tag = self._find_tag_by_name(style, value) | ||||
|             self._remove_style_from_selection(style) | ||||
|             self._apply_tag_to_selection(tag) | ||||
|         elif STYLE_TYPE[style] == int: | ||||
|         elif StyledTextTagType.STYLE_TYPE[style] == int: | ||||
|             tag = self._find_tag_by_name(style, value) | ||||
|             self._remove_style_from_selection(style) | ||||
|             self._apply_tag_to_selection(tag) | ||||
| @@ -488,11 +465,11 @@ class StyledTextBuffer(gtk.TextBuffer): | ||||
|         If TextTag does not exist yet, it is created. | ||||
|          | ||||
|         """ | ||||
|         if STYLE_TYPE[style] == bool: | ||||
|         if StyledTextTagType.STYLE_TYPE[style] == bool: | ||||
|             tag_name = str(style) | ||||
|         elif STYLE_TYPE[style] == str: | ||||
|         elif StyledTextTagType.STYLE_TYPE[style] == str: | ||||
|             tag_name = "%d %s" % (style, value) | ||||
|         elif STYLE_TYPE[style] == int: | ||||
|         elif StyledTextTagType.STYLE_TYPE[style] == int: | ||||
|             tag_name = "%d %d" % (style, value) | ||||
|         else: | ||||
|             raise ValueError("Unknown style (%s) value type: %s" % | ||||
| @@ -501,7 +478,7 @@ class StyledTextBuffer(gtk.TextBuffer): | ||||
|         tag = self.get_tag_table().lookup(tag_name) | ||||
|  | ||||
|         if not tag: | ||||
|             if STYLE_TYPE[style] != bool: | ||||
|             if StyledTextTagType.STYLE_TYPE[style] != bool: | ||||
|                 # bool style tags are not created here, but in constuctor | ||||
|                 tag = self.create_tag(tag_name) | ||||
|                 tag.set_property(STYLE_TO_PROPERTY[style], value) | ||||
| @@ -554,7 +531,8 @@ class StyledTextBuffer(gtk.TextBuffer): | ||||
|                 if len(style_and_value) == 1: | ||||
|                     s_value = None | ||||
|                 else: | ||||
|                     s_value = STYLE_TYPE[style](style_and_value[1]) | ||||
|                     s_value = StyledTextTagType.STYLE_TYPE[style]\ | ||||
|                             (style_and_value[1]) | ||||
|      | ||||
|                 if style in ALLOWED_STYLES: | ||||
|                     s_ranges = [(start, end+1) for (start, end) in g_ranges] | ||||
| @@ -575,9 +553,10 @@ class StyledTextBuffer(gtk.TextBuffer): | ||||
|         @type value: depends on the I{style} type | ||||
|          | ||||
|         """ | ||||
|         if not isinstance(value, STYLE_TYPE[style]): | ||||
|         if not isinstance(value, StyledTextTagType.STYLE_TYPE[style]): | ||||
|             raise TypeError("Style (%d) value must be %s and not %s" % | ||||
|                             (style, STYLE_TYPE[style], value.__class__)) | ||||
|                             (style, StyledTextTagType.STYLE_TYPE[style], | ||||
|                              value.__class__)) | ||||
|  | ||||
|         self._apply_style_to_selection(style, value) | ||||
|          | ||||
|   | ||||
| @@ -48,7 +48,6 @@ from pango import UNDERLINE_SINGLE | ||||
| #------------------------------------------------------------------------- | ||||
| from gen.lib import StyledTextTagType | ||||
| from Editors._StyledTextBuffer import (StyledTextBuffer, ALLOWED_STYLES, | ||||
|                                        STYLE_TYPE, STYLE_DEFAULT, | ||||
|                                        MATCH_START, MATCH_END, | ||||
|                                        MATCH_FLAVOR, MATCH_STRING) | ||||
| from Spell import Spell | ||||
| @@ -482,7 +481,7 @@ class StyledTextEditor(gtk.TextView): | ||||
|         if self._internal_style_change: | ||||
|             return | ||||
|          | ||||
|         value = STYLE_TYPE[style](combobox.get_active_text()) | ||||
|         value = StyledTextTagType.STYLE_TYPE[style](combobox.get_active_text()) | ||||
|         _LOG.debug("applying style '%d' with value '%s'" % (style, str(value))) | ||||
|         self.textbuffer.apply_style(style, value) | ||||
|  | ||||
| @@ -513,8 +512,8 @@ class StyledTextEditor(gtk.TextView): | ||||
|                 model = combo.get_model() | ||||
|                 iter = model.get_iter_first() | ||||
|                 while iter: | ||||
|                     if (STYLE_TYPE[style](model.get_value(iter, 0)) == | ||||
|                         changed_styles[style]): | ||||
|                     if (StyledTextTagType.STYLE_TYPE[style]( | ||||
|                         model.get_value(iter, 0)) == changed_styles[style]): | ||||
|                         break | ||||
|                     iter = model.iter_next(iter) | ||||
|  | ||||
| @@ -685,7 +684,8 @@ def set_fontface_toolitem(combotoolitem, callback): | ||||
|         fontface.append_text(family) | ||||
|              | ||||
|     try: | ||||
|         default = families.index(STYLE_DEFAULT[StyledTextTagType.FONTFACE]) | ||||
|         def_fam = StyledTextTagType.STYLE_DEFAULT[StyledTextTagType.FONTFACE] | ||||
|         default = families.index(def_fam) | ||||
|     except ValueError: | ||||
|         default = 0 | ||||
|     fontface.set_active(default) | ||||
| @@ -702,7 +702,8 @@ def set_fontsize_toolitem(combotoolitem, callback): | ||||
|         fontsize.append_text(str(size)) | ||||
|          | ||||
|     try: | ||||
|         default = FONT_SIZES.index(STYLE_DEFAULT[StyledTextTagType.FONTSIZE]) | ||||
|         def_size = StyledTextTagType.STYLE_DEFAULT[StyledTextTagType.FONTSIZE] | ||||
|         default = FONT_SIZES.index(def_size) | ||||
|     except ValueError: | ||||
|         default = 0 | ||||
|     fontsize.set_active(default) | ||||
|   | ||||
| @@ -70,6 +70,28 @@ class StyledTextTagType(GrampsType): | ||||
|         (HIGHLIGHT, _("Highlight"), "highlight"), | ||||
|         (SUPERSCRIPT, _("Superscript"), "superscript"), | ||||
|     ] | ||||
|  | ||||
|     STYLE_TYPE = { | ||||
|         BOLD: bool, | ||||
|         ITALIC: bool, | ||||
|         UNDERLINE: bool, | ||||
|         FONTCOLOR: str, | ||||
|         HIGHLIGHT: str, | ||||
|         FONTFACE: str, | ||||
|         FONTSIZE: int, | ||||
|         SUPERSCRIPT: bool, | ||||
|     } | ||||
|      | ||||
|     STYLE_DEFAULT = { | ||||
|         BOLD: False, | ||||
|         ITALIC: False, | ||||
|         UNDERLINE: False, | ||||
|         FONTCOLOR: '#000000', | ||||
|         HIGHLIGHT: '#FFFFFF', | ||||
|         FONTFACE: 'Sans', | ||||
|         FONTSIZE: 10, | ||||
|         SUPERSCRIPT: False, | ||||
|     } | ||||
|  | ||||
|     def __init__(self, value=None): | ||||
|         GrampsType.__init__(self, value) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user