MyGUI  3.2.2
MyGUI_DDContainer.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_DDCONTAINER_H_
8 #define MYGUI_DDCONTAINER_H_
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Widget.h"
12 #include "MyGUI_DDItemInfo.h"
13 #include "MyGUI_EventPair.h"
14 
15 namespace MyGUI
16 {
17 
22 
23 
28  public Widget
29  {
31 
32  public:
33  DDContainer();
34 
38  void setNeedDragDrop(bool _value);
40  bool getNeedDragDrop() const;
41 
42  void resetDrag();
43 
44  /*events:*/
51  EventHandle_DDContainerPtrCDDItemInfoRefBoolRef eventStartDrag;
52 
59  EventHandle_DDContainerPtrCDDItemInfoRefBoolRef eventRequestDrop;
60 
67  EventHandle_DDContainerPtrCDDItemInfoRefBool eventDropResult;
68 
74  EventHandle_EventHandle_DDContainerPtrDDItemState eventChangeDDState;
75 
82  EventHandle_EventHandle_DDContainerPtrWidgetPtrRefIntCoordRef requestDragWidgetInfo;
83 
84 
85  /*internal:*/
86  // метод для установления стейта айтема
87  virtual void _setContainerItemInfo(size_t _index, bool _set, bool _accept);
88 
94 
102 
103  protected:
104  virtual void onMouseButtonPressed(int _left, int _top, MouseButton _id);
105  virtual void onMouseButtonReleased(int _left, int _top, MouseButton _id);
106  virtual void onMouseDrag(int _left, int _top, MouseButton _id);
107 
108  virtual void notifyInvalideDrop(DDContainer* _sender);
109 
110  virtual void removeDropItems();
111  virtual void updateDropItems();
112  virtual void updateDropItemsState(const DDWidgetState& _state);
113 
114  void mouseDrag(MouseButton _id);
115  void mouseButtonReleased(MouseButton _id);
116  void mouseButtonPressed(MouseButton _id);
117 
118  void endDrop(bool _reset);
119 
120  virtual void setPropertyOverride(const std::string& _key, const std::string& _value);
121 
122  protected:
124  bool mNeedDrop;
126 
129 
131 
133 
134  // список виджетов для дропа
137 
139 
140  // нужно и виджету поддержка драг энд дропа
142 
144  };
145 
146 } // namespace MyGUI
147 
148 #endif // MYGUI_DDCONTAINER_H_
Widget properties. Widget_skin_childs Skin childs. Widget widget description should be here...
Definition: MyGUI_Widget.h:29
DDContainer * mReseiverContainer
delegates::CMultiDelegate2< DDContainer *, DDItemState > EventHandle_EventHandle_DDContainerPtrDDItemState
delegates::CMultiDelegate3< DDContainer *, const DDItemInfo &, bool & > EventHandle_DDContainerPtrCDDItemInfoRefBoolRef
delegates::CMultiDelegate3< DDContainer *, Widget *, const DDWidgetState & > eventUpdateDropState
#define MYGUI_RTTI_DERIVED(DerivedType)
Definition: MyGUI_RTTI.h:65
#define MYGUI_EXPORT
delegates::CDelegate3< DDContainer *, Widget *&, IntCoord & > EventHandle_EventHandle_DDContainerPtrWidgetPtrRefIntCoordRef
EventHandle_EventHandle_DDContainerPtrDDItemState eventChangeDDState
delegates::CMultiDelegate3< DDContainer *, const DDItemInfo &, bool > EventHandle_DDContainerPtrCDDItemInfoRefBool
DDContainer properties. DDContainer_skin_childs Skin childs. DDContainer widget description should b...
EventHandle_DDContainerPtrCDDItemInfoRefBool eventDropResult
EventHandle_DDContainerPtrCDDItemInfoRefBoolRef eventStartDrag
EventHandle_EventHandle_DDContainerPtrWidgetPtrRefIntCoordRef requestDragWidgetInfo
EventHandle_DDContainerPtrCDDItemInfoRefBoolRef eventRequestDrop
delegates::CMultiDelegate1< DDContainer * > _eventInvalideContainer