Changes to UIProgressBar, simplified healthinfo module

This commit is contained in:
Henrique Santiago
2013-02-09 19:57:37 -02:00
parent 6f37361df0
commit 11cb287a21
8 changed files with 120 additions and 102 deletions

View File

@@ -592,6 +592,8 @@ void Application::registerLuaFunctions()
g_lua.bindClassMemberFunction<UIWidget>("setTextOffset", &UIWidget::setTextOffset);
g_lua.bindClassMemberFunction<UIWidget>("setTextWrap", &UIWidget::setTextWrap);
g_lua.bindClassMemberFunction<UIWidget>("setTextAutoResize", &UIWidget::setTextAutoResize);
g_lua.bindClassMemberFunction<UIWidget>("setTextVerticalAutoResize", &UIWidget::setTextVerticalAutoResize);
g_lua.bindClassMemberFunction<UIWidget>("setTextHorizontalAutoResize", &UIWidget::setTextHorizontalAutoResize);
g_lua.bindClassMemberFunction<UIWidget>("setFont", &UIWidget::setFont);
g_lua.bindClassMemberFunction<UIWidget>("getText", &UIWidget::getText);
g_lua.bindClassMemberFunction<UIWidget>("getDrawText", &UIWidget::getDrawText);

View File

@@ -139,12 +139,12 @@ void UITextEdit::update(bool focusCursor)
int glyph;
// update rect size
if(!m_rect.isValid() || m_textAutoResize) {
if(!m_rect.isValid() || m_textHorizontalAutoResize || m_textVerticalAutoResize) {
textBoxSize += Size(m_padding.left + m_padding.right, m_padding.top + m_padding.bottom) + m_textOffset.toSize();
Size size = getSize();
if(size.width() <= 0 || (m_textAutoResize && !m_textWrap))
if(size.width() <= 0 || (m_textHorizontalAutoResize && !m_textWrap))
size.setWidth(textBoxSize.width());
if(size.height() <= 0 || m_textAutoResize)
if(size.height() <= 0 || m_textVerticalAutoResize)
size.setHeight(textBoxSize.height());
setSize(size);
}

View File

@@ -480,7 +480,8 @@ protected:
Fw::AlignmentFlag m_textAlign;
Point m_textOffset;
stdext::boolean<false> m_textWrap;
stdext::boolean<false> m_textAutoResize;
stdext::boolean<false> m_textVerticalAutoResize;
stdext::boolean<false> m_textHorizontalAutoResize;
stdext::boolean<false> m_textOnlyUpperCase;
BitmapFontPtr m_font;
@@ -492,7 +493,9 @@ public:
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 setTextAutoResize(bool textAutoResize) { m_textHorizontalAutoResize = textAutoResize; m_textVerticalAutoResize = textAutoResize; updateText(); }
void setTextHorizontalAutoResize(bool textAutoResize) { m_textHorizontalAutoResize = textAutoResize; updateText(); }
void setTextVerticalAutoResize(bool textAutoResize) { m_textVerticalAutoResize = textAutoResize; updateText(); }
void setTextOnlyUpperCase(bool textOnlyUpperCase) { m_textOnlyUpperCase = textOnlyUpperCase; setText(m_text); }
void setFont(const std::string& fontName);

View File

@@ -42,13 +42,13 @@ void UIWidget::updateText()
m_drawText = m_text;
// update rect size
if(!m_rect.isValid() || m_textAutoResize) {
if(!m_rect.isValid() || m_textHorizontalAutoResize || m_textVerticalAutoResize) {
Size textBoxSize = getTextSize();
textBoxSize += Size(m_padding.left + m_padding.right, m_padding.top + m_padding.bottom) + m_textOffset.toSize();
Size size = getSize();
if(size.width() <= 0 || (m_textAutoResize && !m_textWrap))
if(size.width() <= 0 || (m_textHorizontalAutoResize && !m_textWrap))
size.setWidth(textBoxSize.width());
if(size.height() <= 0 || m_textAutoResize)
if(size.height() <= 0 || m_textVerticalAutoResize)
size.setHeight(textBoxSize.height());
setSize(size);
}
@@ -69,6 +69,10 @@ 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-horizontal-auto-resize")
setTextHorizontalAutoResize(node->value<bool>());
else if(node->tag() == "text-vertical-auto-resize")
setTextVerticalAutoResize(node->value<bool>());
else if(node->tag() == "text-only-upper-case")
setTextOnlyUpperCase(node->value<bool>());
else if(node->tag() == "font")