mirror of
https://github.com/edubart/otclient.git
synced 2025-10-15 03:54:54 +02:00
Changes to UIProgressBar, simplified healthinfo module
This commit is contained in:
@@ -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);
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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")
|
||||
|
Reference in New Issue
Block a user