struct CCL::IDragSession

Overview

Represents a “Drag and Drop” session. More…

#include <idragndrop.h>

struct IDragSession: public CCL::IUnknown
{
    // enums

    enum DropResults;
    enum InputDevice;

    // methods

    virtual int CCL_API drag () = 0;
    virtual IAsyncOperation*CCL_API dragAsync () = 0;
    virtual void CCL_API setSource (IUnknown* source) = 0;
    virtual IUnknown*CCL_API getSource () const = 0;
    virtual void CCL_API setTargetID (StringID targetID) = 0;
    virtual StringID CCL_API getTargetID () const = 0;
    virtual void CCL_API setSize (const Rect& size) = 0;
    virtual const Rect&CCL_API getSize () const = 0;
    virtual void CCL_API setOffset (const Point& offset) = 0;
    virtual const Point&CCL_API getOffset () const = 0;
    virtual tbool CCL_API wasCanceled () const = 0;
    virtual void CCL_API setDragImage (IImage* image, const Color& backColor) = 0;
    virtual int CCL_API getResult () const = 0;
    virtual void CCL_API setResult (int result) = 0;
    virtual tbool CCL_API getText (String& text) = 0;
    virtual IUnknownList&CCL_API getItems () = 0;
    virtual IAttributeList&CCL_API getAttributes () = 0;
    virtual IDragHandler*CCL_API getDragHandler () const = 0;
    virtual void CCL_API setDragHandler (IDragHandler* handler) = 0;
    virtual int CCL_API getInputDevice () const = 0;
    virtual void CCL_API setInputDevice (int inputDevice) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Represents a “Drag and Drop” session.

Methods

virtual int CCL_API drag () = 0

Perform drag session.

virtual IAsyncOperation*CCL_API dragAsync () = 0

Perform drag session asynchronously.

virtual void CCL_API setSource (IUnknown* source) = 0

Set source of drag session.

virtual IUnknown*CCL_API getSource () const = 0

Get source of drag session.

virtual void CCL_API setTargetID (StringID targetID) = 0

Set target identifier.

virtual StringID CCL_API getTargetID () const = 0

Get target identifier.

virtual void CCL_API setSize (const Rect& size) = 0

Set size of dragged items.

virtual const Rect&CCL_API getSize () const = 0

Get size of dragged items.

virtual void CCL_API setOffset (const Point& offset) = 0

Set offset into drag area.

virtual const Point&CCL_API getOffset () const = 0

Get offset into drag area.

virtual tbool CCL_API wasCanceled () const = 0

Check if dragging was canceled (e.g.

by pressing Escape).

virtual void CCL_API setDragImage (IImage* image, const Color& backColor) = 0

Assign image to drag operation (if supported by OS).

virtual int CCL_API getResult () const = 0

Get drop result code.

virtual void CCL_API setResult (int result) = 0

Set drop result code.

virtual tbool CCL_API getText (String& text) = 0

Dragged text (instead of items).

virtual IUnknownList&CCL_API getItems () = 0

List of dragged items.

virtual IAttributeList&CCL_API getAttributes () = 0

Get attributes for transferring context information from source to target.

virtual IDragHandler*CCL_API getDragHandler () const = 0

Get current drag handler.

virtual void CCL_API setDragHandler (IDragHandler* handler) = 0

Assign drag handler, shared by session.

virtual int CCL_API getInputDevice () const = 0

Get input device used for dragging.

virtual void CCL_API setInputDevice (int inputDevice) = 0

Set input device used for dragging.