Как сделать так, чтобы две функции RichText были взаимоисключающими
В общем, я добавил две пользовательские функции для раскрашивания текста в RichTextBlock, и я хотел бы сделать так, чтобы выбор одной из них для части текста автоматически снимал выбор другой цветовой кнопки, как это уже сделано для тегов h.
Я немного поискал, но ничего не нашел, так что, думаю, мне не помешает помощь, будь то совет, инструкция или даже код.
Мои характеристики выглядят следующим образом:
@hooks.register('register_rich_text_features')
def register_redtext_feature(features):
feature_name = 'redtext'
type_ = 'RED_TEXT'
tag = 'span'
control = {
'type': type_,
'label': 'Red',
'style': {'color': '#bd003f'},
}
features.register_editor_plugin(
'draftail', feature_name, draftail_features.InlineStyleFeature(control)
)
db_conversion = {
'from_database_format': {tag: InlineStyleElementHandler(type_)},
'to_database_format': {
'style_map': {
type_: {'element': tag, 'props': {'class': 'text-primary'}}
}
},
}
features.register_converter_rule(
'contentstate', feature_name, db_conversion
)
Другая похожа, но цвет другой.