MyGUI
3.2.0
|
00001 00006 /* 00007 This file is part of MyGUI. 00008 00009 MyGUI is free software: you can redistribute it and/or modify 00010 it under the terms of the GNU Lesser General Public License as published by 00011 the Free Software Foundation, either version 3 of the License, or 00012 (at your option) any later version. 00013 00014 MyGUI is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License 00020 along with MyGUI. If not, see <http://www.gnu.org/licenses/>. 00021 */ 00022 #ifndef __MYGUI_TOOL_TIP_MANAGER_H__ 00023 #define __MYGUI_TOOL_TIP_MANAGER_H__ 00024 00025 #include "MyGUI_Prerequest.h" 00026 #include "MyGUI_IUnlinkWidget.h" 00027 #include "MyGUI_Singleton.h" 00028 00029 namespace MyGUI 00030 { 00031 00032 class MYGUI_EXPORT ToolTipManager : 00033 public Singleton<ToolTipManager>, 00034 public IUnlinkWidget 00035 { 00036 public: 00037 ToolTipManager(); 00038 00039 void initialise(); 00040 void shutdown(); 00041 00042 void setDelayVisible(float _value); 00043 float getDelayVisible() const; 00044 00045 /*internal:*/ 00046 void _unlinkWidget(Widget* _widget); 00047 00048 private: 00049 void notifyEventFrameStart(float _time); 00050 00051 void hideToolTip(Widget* _widget); 00052 void showToolTip(Widget* _widget, size_t _index, const IntPoint& _point); 00053 void moveToolTip(Widget* _widget, size_t _index, const IntPoint& _point); 00054 00055 bool isNeedToolTip(Widget* _widget); 00056 size_t getToolTipIndex(Widget* _widget) const; 00057 00058 private: 00059 float mDelayVisible; 00060 Widget* mOldFocusWidget; 00061 IntPoint mOldMousePoint; 00062 bool mToolTipVisible; 00063 float mCurrentTime; 00064 size_t mOldIndex; 00065 bool mNeedToolTip; 00066 00067 bool mIsInitialise; 00068 }; 00069 00070 } // namespace MyGUI 00071 00072 #endif // __MYGUI_TOOL_TIP_MANAGER_H__