UIDragObject.h 884 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include <Atomic/Core/Object.h>
  3. namespace Atomic
  4. {
  5. class UIDragObject : public Object
  6. {
  7. OBJECT(UIDragObject);
  8. public:
  9. /// Construct.
  10. UIDragObject(Context* context, Object* object = NULL, const String& text = String::EMPTY, const String& icon = String::EMPTY);
  11. virtual ~UIDragObject();
  12. const String& GetText() { return text_; }
  13. const String& GetIcon() { return icon_; }
  14. Object* GetObject() { return object_; }
  15. const Vector<String>& GetFilenames() { return filenames_; }
  16. void SetText(const String& text) { text_ = text; }
  17. void SetIcon(const String& icon) { icon_ = icon; }
  18. void SetObject(Object* object) { object_ = object; }
  19. void AddFilename(const String& filename) {filenames_.Push(filename); }
  20. private:
  21. String text_;
  22. String icon_;
  23. Vector<String> filenames_;
  24. SharedPtr<Object> object_;
  25. };
  26. }