19 mSingletonHolder(this)
29 mOldFocusWidget =
nullptr;
30 mToolTipVisible =
false;
51 mIsInitialise =
false;
54 void ToolTipManager::notifyEventFrameStart(
float _time)
57 if (mOldFocusWidget != widget)
61 mToolTipVisible =
false;
62 hideToolTip(mOldFocusWidget);
64 mOldFocusWidget = widget;
67 if (mOldFocusWidget !=
nullptr)
71 mOldIndex = getToolTipIndex(mOldFocusWidget);
72 mNeedToolTip = isNeedToolTip(mOldFocusWidget);
75 else if (mNeedToolTip)
82 mToolTipVisible =
false;
83 hideToolTip(mOldFocusWidget);
89 if (!mToolTipVisible && point != mOldMousePoint)
92 mOldMousePoint = point;
93 mOldIndex = getToolTipIndex(mOldFocusWidget);
97 size_t index = getToolTipIndex(mOldFocusWidget);
98 if (mOldIndex != index)
102 mToolTipVisible =
false;
103 hideToolTip(mOldFocusWidget);
110 if (!mToolTipVisible)
112 mCurrentTime += _time;
113 if (mCurrentTime >= mDelayVisible)
115 mToolTipVisible =
true;
116 showToolTip(mOldFocusWidget, mOldIndex, point);
119 else if (point != mOldMousePoint)
121 moveToolTip(mOldFocusWidget, mOldIndex, point);
131 if (mOldFocusWidget == _widget)
135 mToolTipVisible =
false;
136 hideToolTip(mOldFocusWidget);
138 mOldFocusWidget =
nullptr;
139 mNeedToolTip =
false;
143 void ToolTipManager::hideToolTip(
Widget* _widget)
146 if (container !=
nullptr)
152 void ToolTipManager::showToolTip(Widget* _widget,
size_t _index,
const IntPoint& _point)
155 if (container !=
nullptr)
161 void ToolTipManager::moveToolTip(
Widget* _widget,
size_t _index,
const IntPoint& _point)
163 Widget* container = _widget->_getContainer();
164 if (container !=
nullptr)
165 container->eventToolTip(container, ToolTipInfo(
ToolTipInfo::Move, _index, _point));
170 bool ToolTipManager::isNeedToolTip(
Widget* _widget)
172 Widget* container = _widget->_getContainer();
173 if (container !=
nullptr)
174 return container->getNeedToolTip();
175 return _widget->getNeedToolTip();
178 size_t ToolTipManager::getToolTipIndex(
Widget* _widget)
const
180 Widget* container = _widget->_getContainer();
181 if (container !=
nullptr)
182 return container->_getItemIndex(_widget);
188 mDelayVisible = _value;
193 return mDelayVisible;
#define MYGUI_ASSERT(exp, dest)
#define MYGUI_LOG(level, text)
#define MYGUI_SINGLETON_DEFINITION(ClassName)
static Gui & getInstance()
EventHandle_FrameEventDelegate eventFrameStart
types::TPoint< int > IntPoint
constexpr size_t ITEM_NONE
delegates::DelegateFunction< Args... > * newDelegate(void(*_func)(Args... args))