MyGUI  3.2.1
MyGUI_WidgetInput.h
Go to the documentation of this file.
1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #ifndef __MYGUI_WIDGET_INPUT_H__
8 #define __MYGUI_WIDGET_INPUT_H__
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Macros.h"
12 #include "MyGUI_WidgetDefines.h"
13 #include "MyGUI_WidgetToolTip.h"
14 #include "MyGUI_MouseButton.h"
15 #include "MyGUI_KeyCode.h"
16 #include "MyGUI_MaskPickInfo.h"
17 #include "MyGUI_Delegate.h"
18 #include "MyGUI_EventPair.h"
19 
20 namespace MyGUI
21 {
22 
47  // делегаты для событий виджета
58 
60  {
61  public:
62  WidgetInput();
63  virtual ~WidgetInput();
64 
66  void setNeedToolTip(bool _value);
68  bool getNeedToolTip() const;
69 
71  void setPointer(const std::string& _value);
73  const std::string& getPointer() const;
74 
76  void setNeedKeyFocus(bool _value);
81  bool getNeedKeyFocus() const;
82 
84  void setNeedMouseFocus(bool _value);
89  bool getNeedMouseFocus() const;
90 
96  void setInheritsPick(bool _value);
98  bool getInheritsPick() const;
99 
101  void setMaskPick(const std::string& _filename);
103  void setMaskPick(const MaskPickInfo& _info);
104 
105  bool isMaskPickInside(const IntPoint& _point, const IntCoord& _coord) const;
106 
107  bool getRootMouseFocus() const;
108  bool getRootKeyFocus() const;
109 
116 
123 
131 
139 
146 
155 
164 
170 
176 
183 
190 
198 
205 
213 
221 
228 
229  /*internal:*/
230  void _riseMouseLostFocus(Widget* _new);
231  void _riseMouseSetFocus(Widget* _old);
232  void _riseMouseDrag(int _left, int _top, MouseButton _id);
233  void _riseMouseMove(int _left, int _top);
234  void _riseMouseWheel(int _rel);
235  void _riseMouseButtonPressed(int _left, int _top, MouseButton _id);
236  void _riseMouseButtonReleased(int _left, int _top, MouseButton _id);
237  void _riseMouseButtonClick();
238  void _riseMouseButtonDoubleClick();
239  void _riseKeyLostFocus(Widget* _new);
240  void _riseKeySetFocus(Widget* _old);
241  void _riseKeyButtonPressed(KeyCode _key, Char _char);
242  void _riseKeyButtonReleased(KeyCode _key);
243  void _riseMouseChangeRootFocus(bool _focus);
244  void _riseKeyChangeRootFocus(bool _focus);
245 
246  void _setRootMouseFocus(bool _value);
247  void _setRootKeyFocus(bool _value);
248 
249  protected:
250  virtual void onMouseLostFocus(Widget* _new);
251  virtual void onMouseSetFocus(Widget* _old);
252  virtual void onMouseDrag(int _left, int _top, MouseButton _id);
253  virtual void onMouseMove(int _left, int _top);
254  virtual void onMouseWheel(int _rel);
255  virtual void onMouseButtonPressed(int _left, int _top, MouseButton _id);
256  virtual void onMouseButtonReleased(int _left, int _top, MouseButton _id);
257  virtual void onMouseButtonClick();
258  virtual void onMouseButtonDoubleClick();
259  virtual void onKeyLostFocus(Widget* _new);
260  virtual void onKeySetFocus(Widget* _old);
261  virtual void onKeyButtonPressed(KeyCode _key, Char _char);
262  virtual void onKeyButtonReleased(KeyCode _key);
263  virtual void onMouseChangeRootFocus(bool _focus);
264  virtual void onKeyChangeRootFocus(bool _focus);
265 
266  private:
267  std::string mPointer;
268  MaskPickInfo mOwnMaskPickInfo;
269 
270  bool mNeedToolTip;
271  bool mInheritsPick;
272  bool mNeedKeyFocus;
273  bool mNeedMouseFocus;
274 
275  bool mRootMouseFocus;
276  bool mRootKeyFocus;
277  };
278 
279 } // namespace MyGUI
280 
281 #endif // __MYGUI_WIDGET_INPUT_H__