From 69961956bfae1529e6c451c57804b0d2aa93f422 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Fri, 7 Jun 2013 20:13:18 -0400 Subject: fix ToolTips on split buttons not working correctly (button overrode them), fix tooltips displaying on disabled buttons diff --git a/src/gui/game/GameView.cpp b/src/gui/game/GameView.cpp index ca4272c..08387e7 100644 --- a/src/gui/game/GameView.cpp +++ b/src/gui/game/GameView.cpp @@ -51,54 +51,49 @@ public: void SetShowSplit(bool split) { showSplit = split; } SplitButtonAction * GetSplitActionCallback() { return splitActionCallback; } void SetSplitActionCallback(SplitButtonAction * newAction) { splitActionCallback = newAction; } - virtual void OnMouseUnclick(int x, int y, unsigned int button) - { - if(isButtonDown) - { - if(leftDown) - DoLeftAction(); - else if(rightDown) - DoRightAction(); - } - ui::Button::OnMouseUnclick(x, y, button); - - } - virtual void OnMouseMovedInside(int x, int y, int dx, int dy) + void SetToolTip(int x, int y) { if(x >= splitPosition || !showSplit) { - if(toolTip.length()>0 && GetParentWindow()) + if(toolTip2.length()>0 && GetParentWindow()) { GetParentWindow()->ToolTip(this, ui::Point(x, y), toolTip2); } } else if(x < splitPosition) { - if(toolTip2.length()>0 && GetParentWindow()) + if(toolTip.length()>0 && GetParentWindow()) { GetParentWindow()->ToolTip(this, ui::Point(x, y), toolTip); } } } + virtual void OnMouseUnclick(int x, int y, unsigned int button) + { + if(isButtonDown) + { + if(leftDown) + DoLeftAction(); + else if(rightDown) + DoRightAction(); + } + ui::Button::OnMouseUnclick(x, y, button); + + } + virtual void OnMouseHover(int x, int y, int dx, int dy) + { + SetToolTip(x, y); + } + virtual void OnMouseHover(int x, int y) + { + SetToolTip(x, y); + } virtual void OnMouseEnter(int x, int y) { isMouseInside = true; if(!Enabled) return; - if(x >= splitPosition || !showSplit) - { - if(toolTip.length()>0 && GetParentWindow()) - { - GetParentWindow()->ToolTip(this, ui::Point(x, y), toolTip2); - } - } - else if(x < splitPosition) - { - if(toolTip2.length()>0 && GetParentWindow()) - { - GetParentWindow()->ToolTip(this, ui::Point(x, y), toolTip); - } - } + SetToolTip(x, y); } virtual void TextPosition() { diff --git a/src/gui/interface/Button.cpp b/src/gui/interface/Button.cpp index 71ec499..dd58c1f 100644 --- a/src/gui/interface/Button.cpp +++ b/src/gui/interface/Button.cpp @@ -196,7 +196,7 @@ void Button::OnMouseEnter(int x, int y) void Button::OnMouseHover(int x, int y) { - if(toolTip.length()>0 && GetParentWindow()) + if(Enabled && toolTip.length()>0 && GetParentWindow()) { GetParentWindow()->ToolTip(this, ui::Point(x, y), toolTip); } -- cgit v0.9.2-21-gd62e