MyGUI 3.4.3
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
20namespace MyGUI
21{
22
47 // делегаты для событий виджета
58
60 {
61 public:
62 virtual ~WidgetInput() = default;
63
65 void setNeedToolTip(bool _value);
67 bool getNeedToolTip() const;
68
70 void setPointer(std::string_view _value);
72 const std::string& getPointer() const;
73
75 void setNeedKeyFocus(bool _value);
80 bool getNeedKeyFocus() const;
81
83 void setNeedMouseFocus(bool _value);
88 bool getNeedMouseFocus() const;
89
95 void setInheritsPick(bool _value);
97 bool getInheritsPick() const;
98
100 void setMaskPick(const std::string& _filename);
102 void setMaskPick(const MaskPickInfo& _info);
103
104 bool isMaskPickInside(const IntPoint& _point, const IntCoord& _coord) const;
105
106 bool getRootMouseFocus() const;
107 bool getRootKeyFocus() const;
108
115
122
130
138
145
154
163
169
175
182
189
197
204
212
220
227
228 /*internal:*/
229 void _riseMouseLostFocus(Widget* _new);
230 void _riseMouseSetFocus(Widget* _old);
231 void _riseMouseDrag(int _left, int _top, MouseButton _id);
232 void _riseMouseMove(int _left, int _top);
233 void _riseMouseWheel(int _rel);
234 void _riseMouseButtonPressed(int _left, int _top, MouseButton _id);
235 void _riseMouseButtonReleased(int _left, int _top, MouseButton _id);
236 void _riseMouseButtonClick();
237 void _riseMouseButtonDoubleClick();
238 void _riseKeyLostFocus(Widget* _new);
239 void _riseKeySetFocus(Widget* _old);
240 void _riseKeyButtonPressed(KeyCode _key, Char _char);
241 void _riseKeyButtonReleased(KeyCode _key);
242 void _riseMouseChangeRootFocus(bool _focus);
243 void _riseKeyChangeRootFocus(bool _focus);
244
245 void _setRootMouseFocus(bool _value);
246 void _setRootKeyFocus(bool _value);
247
248 protected:
249 virtual void onMouseLostFocus(Widget* _new);
250 virtual void onMouseSetFocus(Widget* _old);
251 virtual void onMouseDrag(int _left, int _top, MouseButton _id);
252 virtual void onMouseMove(int _left, int _top);
253 virtual void onMouseWheel(int _rel);
254 virtual void onMouseButtonPressed(int _left, int _top, MouseButton _id);
255 virtual void onMouseButtonReleased(int _left, int _top, MouseButton _id);
256 virtual void onMouseButtonClick();
257 virtual void onMouseButtonDoubleClick();
258 virtual void onKeyLostFocus(Widget* _new);
259 virtual void onKeySetFocus(Widget* _old);
260 virtual void onKeyButtonPressed(KeyCode _key, Char _char);
261 virtual void onKeyButtonReleased(KeyCode _key);
262 virtual void onMouseChangeRootFocus(bool _focus);
263 virtual void onKeyChangeRootFocus(bool _focus);
264
265 private:
266 std::string mPointer;
267 MaskPickInfo mOwnMaskPickInfo;
268
269 bool mNeedToolTip{false};
270 bool mInheritsPick{false};
271 bool mNeedKeyFocus{false};
272 bool mNeedMouseFocus{true};
273
274 bool mRootMouseFocus{false};
275 bool mRootKeyFocus{false};
276 };
277
278} // namespace MyGUI
279
280#endif // MYGUI_WIDGET_INPUT_H_
#define MYGUI_EXPORT
widget description should be here.
EventHandle_WidgetVoid eventMouseButtonDoubleClick
EventHandle_WidgetVoid eventMouseButtonClick
EventHandle_WidgetWidget eventKeyLostFocus
EventHandle_WidgetIntInt eventMouseMove
EventHandle_WidgetIntIntButton eventMouseButtonReleased
virtual ~WidgetInput()=default
EventHandle_WidgetIntIntButton eventMouseButtonPressed
EventHandle_WidgetWidget eventMouseSetFocus
EventHandle_WidgetToolTip eventToolTip
EventHandle_WidgetKeyCodeChar eventKeyButtonPressed
EventHandle_WidgetWidget eventMouseLostFocus
EventHandle_WidgetWidget eventKeySetFocus
EventHandle_WidgetBool eventRootKeyChangeFocus
EventHandle_WidgetBool eventRootMouseChangeFocus
EventPairAddParameter< EventHandle_WidgetIntInt, EventHandle_WidgetIntIntButton > eventMouseDrag
EventHandle_WidgetInt eventMouseWheel
EventHandle_WidgetKeyCode eventKeyButtonReleased
unsigned int Char
Definition MyGUI_Types.h:50