From 4341bf91a66dc7ca7a481d05ee152f7809a01ddd Mon Sep 17 00:00:00 2001 From: Eduardo Bart Date: Wed, 16 Nov 2011 16:08:42 -0200 Subject: [PATCH] implement motd button --- modules/entergame/entergame.lua | 5 +++ modules/topmenu/topmenu.lua | 4 ++ modules/topmenu/topmenu.otui | 3 +- src/framework/ui/uiwidget.cpp | 69 ++++++++++----------------------- 4 files changed, 32 insertions(+), 49 deletions(-) diff --git a/modules/entergame/entergame.lua b/modules/entergame/entergame.lua index 952fcc3c..03bb6350 100644 --- a/modules/entergame/entergame.lua +++ b/modules/entergame/entergame.lua @@ -16,6 +16,7 @@ end local function onMotd(protocol, motd) motdNumber = tonumber(string.sub(motd, 0, string.find(motd, "\n"))) motdMessage = string.sub(motd, string.find(motd, "\n") + 1, string.len(motd)) + TopMenu.getButton('motdButton'):show() end local function onCharacterList(protocol, characters, premDays) @@ -68,3 +69,7 @@ function EnterGame.doLogin() protocolLogin:login(EnterGame.account, EnterGame.password) end + +function EnterGame.displayMotd() + displayInfoBox("Message of the day", motdMessage) +end diff --git a/modules/topmenu/topmenu.lua b/modules/topmenu/topmenu.lua index dcf5dacc..b0bd928a 100644 --- a/modules/topmenu/topmenu.lua +++ b/modules/topmenu/topmenu.lua @@ -11,4 +11,8 @@ end function TopMenu.destroy() topMenu:destroy() topMenu = nil +end + +function TopMenu.getButton(id) + return topMenu:getChildById(id) end \ No newline at end of file diff --git a/modules/topmenu/topmenu.otui b/modules/topmenu/topmenu.otui index 72e58f47..87193739 100644 --- a/modules/topmenu/topmenu.otui +++ b/modules/topmenu/topmenu.otui @@ -37,7 +37,8 @@ TopPanel margin.left: 6 tooltip: Message of the day icon: /core_styles/icons/motd.png - @onClick: + visible: false + @onClick: EnterGame.displayMotd() TopButton anchors.top: parent.top diff --git a/src/framework/ui/uiwidget.cpp b/src/framework/ui/uiwidget.cpp index 28201b29..6a20b5e2 100644 --- a/src/framework/ui/uiwidget.cpp +++ b/src/framework/ui/uiwidget.cpp @@ -788,73 +788,46 @@ void UIWidget::onStyleApply(const OTMLNodePtr& styleNode) image->loadFromOTML(node); setImage(image); } - else if(node->tag() == "border-image") { + else if(node->tag() == "border-image") setImage(BorderImage::loadFromOTML(node)); - } - // font - else if(node->tag() == "font") { + else if(node->tag() == "font") setFont(g_fonts.getFont(node->value())); - } - // foreground color - else if(node->tag() == "color") { + else if(node->tag() == "color") setForegroundColor(node->value()); - } - // background color - else if(node->tag() == "background-color") { + else if(node->tag() == "background-color") setBackgroundColor(node->value()); - } - // opacity - else if(node->tag() == "opacity") { + else if(node->tag() == "opacity") setOpacity(node->value()); - } - // enabled - else if(node->tag() == "enabled") { + else if(node->tag() == "enabled") setEnabled(node->value()); - } - // focusable - else if(node->tag() == "focusable") { + else if(node->tag() == "visible") + setVisible(node->value()); + else if(node->tag() == "focusable") setFocusable(node->value()); - } - // focusable - else if(node->tag() == "phantom") { + else if(node->tag() == "phantom") setPhantom(node->value()); - } - // size - else if(node->tag() == "size") { + else if(node->tag() == "size") resize(node->value()); - } - else if(node->tag() == "width") { + else if(node->tag() == "width") setWidth(node->value()); - } - else if(node->tag() == "height") { + else if(node->tag() == "height") setHeight(node->value()); - } - else if(node->tag() == "size fixed") { + else if(node->tag() == "size fixed") setSizeFixed(node->value()); - } - // absolute position - else if(node->tag() == "position") { + else if(node->tag() == "position") moveTo(node->value()); - } - else if(node->tag() == "x") { + else if(node->tag() == "x") setX(node->value()); - } - else if(node->tag() == "y") { + else if(node->tag() == "y") setY(node->value()); - } - // margins - else if(node->tag() == "margin.left") { + else if(node->tag() == "margin.left") setMarginLeft(node->value()); - } - else if(node->tag() == "margin.right") { + else if(node->tag() == "margin.right") setMarginRight(node->value()); - } - else if(node->tag() == "margin.top") { + else if(node->tag() == "margin.top") setMarginTop(node->value()); - } - else if(node->tag() == "margin.bottom") { + else if(node->tag() == "margin.bottom") setMarginBottom(node->value()); - } // layouts else if(node->tag() == "layout") { // layout is set only once