UIDragDrop.h 853 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. namespace Atomic
  4. {
  5. class UIWidget;
  6. class UILayout;
  7. class UIImageWidget;
  8. class UITextField;
  9. class UIDragObject;
  10. /// UIDragDrop subsystem
  11. class UIDragDrop : public Object
  12. {
  13. OBJECT(UIDragDrop);
  14. public:
  15. /// Construct.
  16. UIDragDrop(Context* context);
  17. virtual ~UIDragDrop();
  18. void FileDragEntered();
  19. void FileDragAddFile(const String& filename);
  20. void FileDragConclude();
  21. private:
  22. void HandleMouseDown(StringHash eventType, VariantMap& eventData);
  23. void HandleMouseUp(StringHash eventType, VariantMap& eventData);
  24. void HandleMouseMove(StringHash eventType, VariantMap& eventData);
  25. void DragEnd();
  26. SharedPtr<UILayout> dragLayout_;
  27. SharedPtr<UIImageWidget> dragImage_;
  28. SharedPtr<UITextField> dragText_;
  29. SharedPtr<UIDragObject> dragObject_;
  30. };
  31. }