def LoadState(self): # Показывать ли номера строк? self.lineNumbers = configelements.BooleanElement (self.__config.lineNumbers, self.lineNumbersCheckBox) # Шрифт для редактора fontOption = FontOption (self.__config.fontName, self.__config.fontSize, self.__config.fontIsBold, self.__config.fontIsItalic) self.fontEditor = configelements.FontElement (fontOption, self.fontPicker) # Размер табуляции self.tabWidth = configelements.IntegerElement (self.__config.tabWidth, self.tabWidthSpin, self.MIN_TAB_WIDTH, self.MAX_TAB_WIDTH) if self.__config.homeEndKeys.value == 0: self.homeEndCombo.SetSelection (0) else: self.homeEndCombo.SetSelection (1) if StcStyle.checkColorString (self.__config.fontColor.value): self.fontColorPicker.SetColour (self.__config.fontColor.value) else: self.fontColorPicker.SetColour (wx.Color (0, 0, 0)) if StcStyle.checkColorString (self.__config.backColor.value): self.backColorPicker.SetColour (self.__config.backColor.value) else: self.backColorPicker.SetColour (wx.Color (255, 255, 255))
def LoadState(self): # Показывать ли номера строк? self.lineNumbers = configelements.BooleanElement( self.__config.lineNumbers, self.lineNumbersCheckBox) # Шрифт для редактора fontOption = FontOption(self.__config.fontName, self.__config.fontSize, self.__config.fontIsBold, self.__config.fontIsItalic) self.fontEditor = configelements.FontElement(fontOption, self.fontPicker) # Размер табуляции self.tabWidth = configelements.IntegerElement(self.__config.tabWidth, self.tabWidthSpin, self.MIN_TAB_WIDTH, self.MAX_TAB_WIDTH) if self.__config.homeEndKeys.value == 0: self.homeEndCombo.SetSelection(0) else: self.homeEndCombo.SetSelection(1) if StcStyle.checkColorString(self.__config.fontColor.value): self.fontColorPicker.SetColour(self.__config.fontColor.value) else: self.fontColorPicker.SetColour(wx.Color(0, 0, 0)) if StcStyle.checkColorString(self.__config.backColor.value): self.backColorPicker.SetColour(self.__config.backColor.value) else: self.backColorPicker.SetColour(wx.Color(255, 255, 255))
def testDefaultStyle(self): style = StcStyle() self.assertEqual(style.bold, False) self.assertEqual(style.italic, False) self.assertEqual(style.underline, False) self.assertEqual(style.fore, "#000000") self.assertEqual(style.back, "#FFFFFF")
def testCreateStyle_02(self): style = StcStyle(bold=True) self.assertEqual(style.bold, True) self.assertEqual(style.italic, False) self.assertEqual(style.underline, False) self.assertEqual(style.fore, "#000000") self.assertEqual(style.back, "#FFFFFF")
def testCreateStyle_01(self): style = StcStyle(fore="#556677") self.assertEqual(style.bold, False) self.assertEqual(style.italic, False) self.assertEqual(style.underline, False) self.assertEqual(style.fore, "#556677") self.assertEqual(style.back, "#FFFFFF")
def testParse_14(self): style = StcStyle.parse("back:#222222,bold,,,underline") self.assertEqual(style.bold, True) self.assertEqual(style.italic, False) self.assertEqual(style.underline, True) self.assertEqual(style.fore, "#000000") self.assertEqual(style.back, "#222222")
def testParse_12(self): style = StcStyle.parse("fore:#AAAAAA,back:#222222,bold,underline") self.assertEqual(style.bold, True) self.assertEqual(style.italic, False) self.assertEqual(style.underline, True) self.assertEqual(style.fore, "#AAAAAA") self.assertEqual(style.back, "#222222")
def testParse_14 (self): style = StcStyle.parse (u"back:#222222,bold,,,underline") self.assertEqual (style.bold, True) self.assertEqual (style.italic, False) self.assertEqual (style.underline, True) self.assertEqual (style.fore, u"#000000") self.assertEqual (style.back, u"#222222")
def testParse_04(self): style = StcStyle.parse("fore:#AAAAAA") self.assertEqual(style.bold, False) self.assertEqual(style.italic, False) self.assertEqual(style.underline, False) self.assertEqual(style.fore, "#AAAAAA") self.assertEqual(style.back, "#FFFFFF")
def testParse_03 (self): style = StcStyle.parse (u"fore:#000000,bold") self.assertEqual (style.bold, True) self.assertEqual (style.italic, False) self.assertEqual (style.underline, False) self.assertEqual (style.fore, u"#000000") self.assertEqual (style.back, u"#FFFFFF")
def testParse_11(self): style = StcStyle.parse(" fore:#AAAAAA , back:#222222 , bold,italic , underline ") self.assertEqual(style.bold, True) self.assertEqual(style.italic, True) self.assertEqual(style.underline, True) self.assertEqual(style.fore, "#AAAAAA") self.assertEqual(style.back, "#222222")
def testParse_04(self): style = StcStyle.parse(u"fore:#AAAAAA") self.assertEqual(style.bold, False) self.assertEqual(style.italic, False) self.assertEqual(style.underline, False) self.assertEqual(style.fore, u"#AAAAAA") self.assertEqual(style.back, u"#FFFFFF")
def testParse_12 (self): style = StcStyle.parse (u"fore:#AAAAAA,back:#222222,bold,underline") self.assertEqual (style.bold, True) self.assertEqual (style.italic, False) self.assertEqual (style.underline, True) self.assertEqual (style.fore, u"#AAAAAA") self.assertEqual (style.back, u"#222222")
def testParse_09(self): style = StcStyle.parse(u"fore:#AAAAAA,back:#222222,bold,italic") self.assertEqual(style.bold, True) self.assertEqual(style.italic, True) self.assertEqual(style.underline, False) self.assertEqual(style.fore, u"#AAAAAA") self.assertEqual(style.back, u"#222222")
def testParse_03(self): style = StcStyle.parse("fore:#000000,bold") self.assertEqual(style.bold, True) self.assertEqual(style.italic, False) self.assertEqual(style.underline, False) self.assertEqual(style.fore, "#000000") self.assertEqual(style.back, "#FFFFFF")
def testParse_05(self): style = StcStyle.parse("FORE:#AAAAAA") self.assertEqual(style.bold, False) self.assertEqual(style.italic, False) self.assertEqual(style.underline, False) self.assertEqual(style.fore, "#AAAAAA") self.assertEqual(style.back, "#FFFFFF")
def testParse_05 (self): style = StcStyle.parse (u"FORE:#AAAAAA") self.assertEqual (style.bold, False) self.assertEqual (style.italic, False) self.assertEqual (style.underline, False) self.assertEqual (style.fore, u"#AAAAAA") self.assertEqual (style.back, u"#FFFFFF")
def testCheckColorString (self): self.assertTrue (StcStyle.checkColorString (u"#000000")) self.assertTrue (StcStyle.checkColorString (u" #000000 ")) self.assertTrue (StcStyle.checkColorString (u"#AA00FF")) self.assertTrue (StcStyle.checkColorString (u"#aa00ff")) self.assertFalse (StcStyle.checkColorString (u"AA00FF")) self.assertFalse (StcStyle.checkColorString (u"#AA00FF0")) self.assertFalse (StcStyle.checkColorString (u"#AA00GG")) self.assertFalse (StcStyle.checkColorString (u"#A0F"))
def testCheckColorString(self): self.assertTrue(StcStyle.checkColorString("#000000")) self.assertTrue(StcStyle.checkColorString(" #000000 ")) self.assertTrue(StcStyle.checkColorString("#AA00FF")) self.assertTrue(StcStyle.checkColorString("#aa00ff")) self.assertFalse(StcStyle.checkColorString("AA00FF")) self.assertFalse(StcStyle.checkColorString("#AA00FF0")) self.assertFalse(StcStyle.checkColorString("#AA00GG")) self.assertFalse(StcStyle.checkColorString("#A0F"))
def _loadValue(self): """ Получить значение. В производных классах этот метод переопределяется """ style = StcStyle.parse(self.config.get(self.section, self.param)) if style is None: raise ValueError return style
def testStcStyle_03(self): defaultStyle = StcStyle() opt = StcStyleOption(self.config, "Test", "style_03", defaultStyle) self.assertEqual(opt.value.fore, "#000000") self.assertEqual(opt.value.back, "#FFFFFF") self.assertEqual(opt.value.bold, True) self.assertEqual(opt.value.italic, False) self.assertEqual(opt.value.underline, False)
def testStcStyle_01(self): defaultStyle = StcStyle() opt = StcStyleOption(self.config, "Test", "style_01", defaultStyle) self.assertEqual(opt.value.fore, "#AAAAAA") self.assertEqual(opt.value.back, "#111111") self.assertEqual(opt.value.bold, True) self.assertEqual(opt.value.italic, True) self.assertEqual(opt.value.underline, True)
def testToString_06(self): style = StcStyle(fore=u"", back=u"", bold=True) self.assertEqual(style.tostr(), u"bold")
def testToString_03(self): style = StcStyle(bold=True, italic=True) self.assertEqual(style.tostr(), "fore:#000000,back:#FFFFFF,bold,italic")
def testToString_07 (self): style = StcStyle(fore=u"", back=u"", bold=True, italic=True) self.assertEqual (style.tostr(), u"bold,italic")
def testToString_05 (self): style = StcStyle(fore=u"#AAAAAA", back=u"#BBBBBB", bold=True) self.assertEqual (style.tostr(), u"fore:#AAAAAA,back:#BBBBBB,bold")
def testToString_04 (self): style = StcStyle(bold=True, italic=True, underline=True) self.assertEqual (style.tostr(), u"fore:#000000,back:#FFFFFF,bold,italic,underline")
def testToString_04(self): style = StcStyle(bold=True, italic=True, underline=True) self.assertEqual(style.tostr(), "fore:#000000,back:#FFFFFF,bold,italic,underline")
def testToString_01 (self): style = StcStyle() self.assertEqual (style.tostr(), u"fore:#000000,back:#FFFFFF")
def testToString_06(self): style = StcStyle(fore="", back="", bold=True) self.assertEqual(style.tostr(), "bold")
def testParse_invalid (self): self.assertEqual (StcStyle.parse (u"sdgsgd"), None) self.assertEqual (StcStyle.parse (u"fore:#AAAAAA,back:#222222,boldasdfa"), None)
class WikiConfig (object): """ Класс, хранящий указатели на настройки, связанные с викиы """ # Секция конфига для параметров, связанных с викистраницей WIKI_SECTION = u"Wiki" # Секция, куда записывать параметры стилей оформления редактора STYLES_SECTION = u"EditorStyles" # Имя параметра "Показывать ли код HTML?" SHOW_HTML_CODE_PARAM = u"ShowHtmlCode" # Имя параметра для размера превьюшек по умолчанию THUMB_SIZE_PARAM = u"ThumbSize" # Имя параметра, показывающего, надо ли выводить список # прикрепленных файлов вместо пустой страницы SHOW_ATTACH_BLANK_PARAM = u"ShowAttachInsteadBlank" # Размер превьюшек по умолчанию THUMB_SIZE_DEFAULT = 250 # Имя параметра "Стиль ссылок по умолчанию" LINK_STYLE_PARAM = u"DefaultLinkStyle" # Стиль ссылок по умолчанию ([[... -> ...]] или [[... | ...]]) LINK_STYLE_DEFAULT = 0 # Стили редактора STYLE_LINK_PARAM = u"link" STYLE_LINK_DEFAULT = StcStyle.parse(u"fore:#0000FF,underline") STYLE_HEADING_PARAM = u"heading" STYLE_HEADING_DEFAULT = StcStyle.parse(u"bold") STYLE_COMMAND_PARAM = u"command" STYLE_COMMAND_DEFAULT = StcStyle.parse(u"fore:#6A686B") COLORIZE_SYNTAX_PARAM = u'ColorizeSyntax' COLORIZE_SYNTAX_DEFAULT = True RECENT_STYLE_NAME_PARAM = 'RecentStyleName' RECENT_STYLE_NAME_DEFAULT = '' def __init__(self, config): self.config = config # Показывать вкладку с HTML-кодом? self.showHtmlCodeOptions = BooleanOption( self.config, WikiConfig.WIKI_SECTION, WikiConfig.SHOW_HTML_CODE_PARAM, True) # Размер превьюшек по умолчанию self.thumbSizeOptions = IntegerOption(self.config, WikiConfig.WIKI_SECTION, WikiConfig.THUMB_SIZE_PARAM, WikiConfig.THUMB_SIZE_DEFAULT) # Показывать список прикрепленных файлов вместо пустой страницы? self.showAttachInsteadBlankOptions = BooleanOption( self.config, WikiConfig.WIKI_SECTION, WikiConfig.SHOW_ATTACH_BLANK_PARAM, True) # Стиль ссылок по умолчанию self.linkStyleOptions = IntegerOption(self.config, WikiConfig.WIKI_SECTION, WikiConfig.LINK_STYLE_PARAM, WikiConfig.LINK_STYLE_DEFAULT) # Стили редактора self.link = StcStyleOption(self.config, WikiConfig.STYLES_SECTION, WikiConfig.STYLE_LINK_PARAM, WikiConfig.STYLE_LINK_DEFAULT) self.heading = StcStyleOption(self.config, WikiConfig.STYLES_SECTION, WikiConfig.STYLE_HEADING_PARAM, WikiConfig.STYLE_HEADING_DEFAULT) self.command = StcStyleOption(self.config, WikiConfig.STYLES_SECTION, WikiConfig.STYLE_COMMAND_PARAM, WikiConfig.STYLE_COMMAND_DEFAULT) self.colorizeSyntax = BooleanOption(self.config, self.WIKI_SECTION, self.COLORIZE_SYNTAX_PARAM, self.COLORIZE_SYNTAX_DEFAULT) self.recentStyleName = StringOption(self.config, self.WIKI_SECTION, self.RECENT_STYLE_NAME_PARAM, self.RECENT_STYLE_NAME_DEFAULT)
def testParse_invalid(self): self.assertEqual(StcStyle.parse("sdgsgd"), None) self.assertEqual(StcStyle.parse("fore:#AAAAAA,back:#222222,boldasdfa"), None)
def testToString_01(self): style = StcStyle() self.assertEqual(style.tostr(), "fore:#000000,back:#FFFFFF")
def testToString_02(self): style = StcStyle(bold=True) self.assertEqual(style.tostr(), "fore:#000000,back:#FFFFFF,bold")
def testToString_02 (self): style = StcStyle(bold=True) self.assertEqual (style.tostr(), u"fore:#000000,back:#FFFFFF,bold")
def testToString_05(self): style = StcStyle(fore="#AAAAAA", back="#BBBBBB", bold=True) self.assertEqual(style.tostr(), "fore:#AAAAAA,back:#BBBBBB,bold")
def testToString_03(self): style = StcStyle(bold=True, italic=True) self.assertEqual(style.tostr(), u"fore:#000000,back:#FFFFFF,bold,italic")
class HtmlEditorStylesConfig(object): ''' Класс для хранения настроек стилей редактора HTML ''' HTML_STYLES_SECTION = u'EditorStyles' STYLE_TAG_SECTION = u'tag' STYLE_TAG_DEFAULT = StcStyle.parse(u'fore:#000080,bold') STYLE_TAG_UNKNOWN_SECTION = u'tag_unknown' STYLE_TAG_UNKNOWN_DEFAULT = StcStyle.parse(u'fore:#FF0000') STYLE_ATTRIBUTE_SECTION = u'attribute' STYLE_ATTRIBUTE_DEFAULT = StcStyle.parse(u'fore:#008080') STYLE_ATTRIBUTE_UNKNOWN_SECTION = u'attribute_unknown' STYLE_ATTRIBUTE_UNKNOWN_DEFAULT = StcStyle.parse(u'fore:#FF0000') STYLE_NUMBER_SECTION = u'number' STYLE_NUMBER_DEFAULT = StcStyle.parse(u'fore:#000000') STYLE_STRING_SECTION = u'string' STYLE_STRING_DEFAULT = StcStyle.parse(u'fore:#0000FF') STYLE_COMMENT_SECTION = u'comment' STYLE_COMMENT_DEFAULT = StcStyle.parse(u'fore:#12B535') def __init__(self, config): self.config = config self.tag = StcStyleOption(self.config, HtmlEditorStylesConfig.HTML_STYLES_SECTION, HtmlEditorStylesConfig.STYLE_TAG_SECTION, HtmlEditorStylesConfig.STYLE_TAG_DEFAULT) self.tagUnknown = StcStyleOption( self.config, HtmlEditorStylesConfig.HTML_STYLES_SECTION, HtmlEditorStylesConfig.STYLE_TAG_UNKNOWN_SECTION, HtmlEditorStylesConfig.STYLE_TAG_UNKNOWN_DEFAULT) self.attribute = StcStyleOption( self.config, HtmlEditorStylesConfig.HTML_STYLES_SECTION, HtmlEditorStylesConfig.STYLE_ATTRIBUTE_SECTION, HtmlEditorStylesConfig.STYLE_ATTRIBUTE_DEFAULT) self.attributeUnknown = StcStyleOption( self.config, HtmlEditorStylesConfig.HTML_STYLES_SECTION, HtmlEditorStylesConfig.STYLE_ATTRIBUTE_UNKNOWN_SECTION, HtmlEditorStylesConfig.STYLE_ATTRIBUTE_UNKNOWN_DEFAULT) self.number = StcStyleOption( self.config, HtmlEditorStylesConfig.HTML_STYLES_SECTION, HtmlEditorStylesConfig.STYLE_NUMBER_SECTION, HtmlEditorStylesConfig.STYLE_NUMBER_DEFAULT) self.string = StcStyleOption( self.config, HtmlEditorStylesConfig.HTML_STYLES_SECTION, HtmlEditorStylesConfig.STYLE_STRING_SECTION, HtmlEditorStylesConfig.STYLE_STRING_DEFAULT) self.comment = StcStyleOption( self.config, HtmlEditorStylesConfig.HTML_STYLES_SECTION, HtmlEditorStylesConfig.STYLE_COMMENT_SECTION, HtmlEditorStylesConfig.STYLE_COMMENT_DEFAULT)
def testToString_07(self): style = StcStyle(fore="", back="", bold=True, italic=True) self.assertEqual(style.tostr(), "bold,italic")