AEDragAndDrop.cpp 735 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include <Atomic/Graphics/Graphics.h>
  2. #include "AEDragAndDrop.h"
  3. #ifdef ATOMIC_PLATFORM_OSX
  4. #include "AEMacDragAndDrop.h"
  5. #endif
  6. namespace AtomicEditor
  7. {
  8. AEDragAndDrop::AEDragAndDrop(Context *context) : Object(context)
  9. {
  10. #ifdef ATOMIC_PLATFORM_OSX
  11. InitDragAndDrop(this);
  12. #endif
  13. }
  14. void AEDragAndDrop::BeginDrag()
  15. {
  16. dragFilenames_.Clear();
  17. }
  18. void AEDragAndDrop::AddDragFilename(const String& filename)
  19. {
  20. dragFilenames_.Push(filename);
  21. }
  22. void AEDragAndDrop::ConcludeDrag()
  23. {
  24. for (unsigned i = 0; i < dragFilenames_.Size(); i++)
  25. {
  26. VariantMap eventData;
  27. eventData[DragAndDrop::P_FILENAME] = dragFilenames_[i];
  28. SendEvent(E_DRAGANDDROP, eventData);
  29. }
  30. dragFilenames_.Clear();
  31. }
  32. }