replace 'markdown' (bool) property with 'markup' (str)
This commit is contained in:
parent
2f292537ad
commit
3d484383fc
@ -1,7 +1,7 @@
|
|||||||
# Text styles
|
# Text styles
|
||||||
|
|
||||||
A proprietary Markdown dialect is used to mark up text styles.
|
A proprietary Markdown dialect is used to mark up text styles.
|
||||||
Formatting works on UI elements: label and textbox, if `markdown="true"` is explicitly specified.
|
Formatting works on UI elements: label and textbox, if `markup="md"` is explicitly specified.
|
||||||
|
|
||||||
## Styles
|
## Styles
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# Стили текста
|
# Стили текста
|
||||||
|
|
||||||
Для разметки стилей текста используется собственный диалект Markdown.
|
Для разметки стилей текста используется собственный диалект Markdown.
|
||||||
Форматирование работает на UI элементах: label и textbox, если явно указано `markdown="true"`.
|
Форматирование работает на UI элементах: label и textbox, если явно указано `markup="md"`.
|
||||||
|
|
||||||
## Стили
|
## Стили
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
multiline='true'
|
multiline='true'
|
||||||
size-func="gui.get_viewport()[1],40"
|
size-func="gui.get_viewport()[1],40"
|
||||||
gravity="bottom-left"
|
gravity="bottom-left"
|
||||||
markdown="true"
|
markup="md"
|
||||||
></textbox>
|
></textbox>
|
||||||
</container>
|
</container>
|
||||||
<container id="editorContainer" pos="0,60" color="#00000080"
|
<container id="editorContainer" pos="0,60" color="#00000080"
|
||||||
@ -55,7 +55,7 @@
|
|||||||
<textbox id='prompt'
|
<textbox id='prompt'
|
||||||
consumer='submit'
|
consumer='submit'
|
||||||
margin='0'
|
margin='0'
|
||||||
markdown="true"
|
markup="md"
|
||||||
gravity='bottom-left'
|
gravity='bottom-left'
|
||||||
size-func="gui.get_viewport()[1],40"
|
size-func="gui.get_viewport()[1],40"
|
||||||
onup="on_history_up()"
|
onup="on_history_up()"
|
||||||
|
|||||||
@ -82,7 +82,7 @@ glm::vec2 Label::calcSize() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Label::setText(std::wstring text) {
|
void Label::setText(std::wstring text) {
|
||||||
if (isMarkdown()) {
|
if (markup == "md") {
|
||||||
auto [processedText, styles] = markdown::process(text, true);
|
auto [processedText, styles] = markdown::process(text, true);
|
||||||
text = std::move(processedText);
|
text = std::move(processedText);
|
||||||
setStyles(std::move(styles));
|
setStyles(std::move(styles));
|
||||||
@ -248,13 +248,13 @@ bool Label::isTextWrapping() const {
|
|||||||
return textWrap;
|
return textWrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Label::setMarkdown(bool flag) {
|
void Label::setMarkup(std::string_view lang) {
|
||||||
markdown = flag;
|
markup = lang;
|
||||||
setText(text);
|
setText(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Label::isMarkdown() const {
|
const std::string& Label::getMarkup() const {
|
||||||
return markdown;
|
return markup;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Label::setStyles(std::unique_ptr<FontStylesScheme> styles) {
|
void Label::setStyles(std::unique_ptr<FontStylesScheme> styles) {
|
||||||
|
|||||||
@ -53,8 +53,8 @@ namespace gui {
|
|||||||
/// @brief Auto resize label to fit text
|
/// @brief Auto resize label to fit text
|
||||||
bool autoresize = false;
|
bool autoresize = false;
|
||||||
|
|
||||||
/// @brief Enable text markdown
|
/// @brief Text markup language
|
||||||
bool markdown = false;
|
std::string markup;
|
||||||
|
|
||||||
std::unique_ptr<FontStylesScheme> styles;
|
std::unique_ptr<FontStylesScheme> styles;
|
||||||
public:
|
public:
|
||||||
@ -116,8 +116,8 @@ namespace gui {
|
|||||||
virtual void setTextWrapping(bool flag);
|
virtual void setTextWrapping(bool flag);
|
||||||
virtual bool isTextWrapping() const;
|
virtual bool isTextWrapping() const;
|
||||||
|
|
||||||
virtual void setMarkdown(bool flag);
|
virtual void setMarkup(std::string_view lang);
|
||||||
virtual bool isMarkdown() const;
|
virtual const std::string& getMarkup() const;
|
||||||
|
|
||||||
virtual void setStyles(std::unique_ptr<FontStylesScheme> styles);
|
virtual void setStyles(std::unique_ptr<FontStylesScheme> styles);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -194,7 +194,7 @@ void TextBox::refreshLabel() {
|
|||||||
label->setColor(textColor * glm::vec4(input.empty() ? 0.5f : 1.0f));
|
label->setColor(textColor * glm::vec4(input.empty() ? 0.5f : 1.0f));
|
||||||
|
|
||||||
const auto& displayText = input.empty() && !hint.empty() ? hint : getText();
|
const auto& displayText = input.empty() && !hint.empty() ? hint : getText();
|
||||||
if (markdown) {
|
if (markup == "md") {
|
||||||
auto [processedText, styles] = markdown::process(displayText, !focused);
|
auto [processedText, styles] = markdown::process(displayText, !focused);
|
||||||
label->setText(std::move(processedText));
|
label->setText(std::move(processedText));
|
||||||
label->setStyles(std::move(styles));
|
label->setStyles(std::move(styles));
|
||||||
@ -850,7 +850,7 @@ bool TextBox::isShowLineNumbers() const {
|
|||||||
return showLineNumbers;
|
return showLineNumbers;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextBox::setSyntax(const std::string& lang) {
|
void TextBox::setSyntax(std::string_view lang) {
|
||||||
syntax = lang;
|
syntax = lang;
|
||||||
if (syntax.empty()) {
|
if (syntax.empty()) {
|
||||||
label->setStyles(nullptr);
|
label->setStyles(nullptr);
|
||||||
@ -859,10 +859,10 @@ void TextBox::setSyntax(const std::string& lang) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextBox::setMarkdown(bool flag) {
|
void TextBox::setMarkup(std::string_view lang) {
|
||||||
markdown = flag;
|
markup = lang;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TextBox::isMarkdown() const {
|
const std::string& TextBox::getMarkup() const {
|
||||||
return markdown;
|
return markup;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,8 +56,7 @@ namespace gui {
|
|||||||
bool editable = true;
|
bool editable = true;
|
||||||
bool autoresize = false;
|
bool autoresize = false;
|
||||||
bool showLineNumbers = false;
|
bool showLineNumbers = false;
|
||||||
bool markdown = false;
|
std::string markup;
|
||||||
|
|
||||||
std::string syntax;
|
std::string syntax;
|
||||||
|
|
||||||
void stepLeft(bool shiftPressed, bool breakSelection);
|
void stepLeft(bool shiftPressed, bool breakSelection);
|
||||||
@ -227,9 +226,9 @@ namespace gui {
|
|||||||
virtual void setOnUpPressed(const runnable &callback);
|
virtual void setOnUpPressed(const runnable &callback);
|
||||||
virtual void setOnDownPressed(const runnable &callback);
|
virtual void setOnDownPressed(const runnable &callback);
|
||||||
|
|
||||||
virtual void setSyntax(const std::string& lang);
|
virtual void setSyntax(std::string_view lang);
|
||||||
|
|
||||||
virtual void setMarkdown(bool flag);
|
virtual void setMarkup(std::string_view lang);
|
||||||
virtual bool isMarkdown() const;
|
virtual const std::string& getMarkup() const;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -278,8 +278,8 @@ static std::shared_ptr<UINode> readLabel(
|
|||||||
if (element.has("text-wrap")) {
|
if (element.has("text-wrap")) {
|
||||||
label->setTextWrapping(element.attr("text-wrap").asBool());
|
label->setTextWrapping(element.attr("text-wrap").asBool());
|
||||||
}
|
}
|
||||||
if (element.has("markdown")) {
|
if (element.has("markup")) {
|
||||||
label->setMarkdown(element.attr("markdown").asBool());
|
label->setMarkup(element.attr("markup").getText());
|
||||||
}
|
}
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
@ -384,8 +384,8 @@ static std::shared_ptr<UINode> readTextBox(UiXmlReader& reader, const xml::xmlel
|
|||||||
if (element.has("line-numbers")) {
|
if (element.has("line-numbers")) {
|
||||||
textbox->setShowLineNumbers(element.attr("line-numbers").asBool());
|
textbox->setShowLineNumbers(element.attr("line-numbers").asBool());
|
||||||
}
|
}
|
||||||
if (element.has("markdown")) {
|
if (element.has("markup")) {
|
||||||
textbox->setMarkdown(element.attr("markdown").asBool());
|
textbox->setMarkup(element.attr("markup").getText());
|
||||||
}
|
}
|
||||||
if (element.has("consumer")) {
|
if (element.has("consumer")) {
|
||||||
textbox->setTextConsumer(scripting::create_wstring_consumer(
|
textbox->setTextConsumer(scripting::create_wstring_consumer(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user