Widget text upper case option, change gimp plugin mode to executable

This commit is contained in:
Henrique Santiago
2012-08-05 15:26:08 -03:00
parent 14085a525b
commit e78edad4c6
6 changed files with 16 additions and 8 deletions

View File

@@ -467,17 +467,19 @@ protected:
Point m_textOffset;
stdext::boolean<false> m_textWrap;
stdext::boolean<false> m_textAutoResize;
stdext::boolean<false> m_textOnlyUpperCase;
BitmapFontPtr m_font;
public:
void resizeToText() { setSize(getTextSize()); }
void clearText() { setText(""); }
void setText(const std::string& text);
void setText(std::string text);
void setTextAlign(Fw::AlignmentFlag align) { m_textAlign = align; updateText(); }
void setTextOffset(const Point& offset) { m_textOffset = offset; updateText(); }
void setTextWrap(bool textWrap) { m_textWrap = textWrap; updateText(); }
void setTextAutoResize(bool textAutoResize) { m_textAutoResize = textAutoResize; updateText(); }
void setTextOnlyUpperCase(bool textOnlyUpperCase) { m_textOnlyUpperCase = textOnlyUpperCase; setText(m_text); }
void setFont(const std::string& fontName);
std::string getText() { return m_text; }

View File

@@ -69,6 +69,8 @@ void UIWidget::parseTextStyle(const OTMLNodePtr& styleNode)
setTextWrap(node->value<bool>());
else if(node->tag() == "text-auto-resize")
setTextAutoResize(node->value<bool>());
else if(node->tag() == "text-only-upper-case")
setTextOnlyUpperCase(node->value<bool>());
else if(node->tag() == "font")
setFont(node->value());
}
@@ -103,8 +105,11 @@ void UIWidget::onFontChange(const std::string& font)
callLuaField("onFontChange", font);
}
void UIWidget::setText(const std::string& text)
void UIWidget::setText(std::string text)
{
if(m_textOnlyUpperCase)
std::transform(text.begin(), text.end(), text.begin(), toupper);
if(m_text == text)
return;