Skip to content

ADragNDrop#

Utility class for creating and processing drag-n-drop events.

Header:#include <AUI/Platform/ADragNDrop.h>
CMake:aui_link(my_target PUBLIC aui::views)

Detailed Description#

Platform table

Windows Supported
Linux -
macOS -
Android n/a
iOS n/a

Examples#

examples/ui/views/src/ExampleWindow.h

Views Example — All-in-one views building example.

class ExampleWindow: public AWindow {
public:
    ExampleWindow();

    void onDragDrop(const ADragNDrop::DropEvent& event) override;

    bool onDragEnter(const ADragNDrop::EnterEvent& event) override;

private:
    ADeque<_<AWindow>> mWindows;
examples/ui/views/src/ExampleWindow.cpp

Views Example — All-in-one views building example.

        LayoutSpacing { 4_dp }
    });
}

void ExampleWindow::onDragDrop(const ADragNDrop::DropEvent& event) {
    ASurface::onDragDrop(event);

    for (const auto& [k, v] : event.data.data()) {
        ALogger::info("Drop") << "[" << k << "] = " << AString::fromUtf8(v);
    }

Public Types#


EnterEvent#

struct ADragNDrop::EnterEvent

Examples:

Empty structure.


DropEvent#

struct ADragNDrop::DropEvent

Examples:

Empty structure.

Public Methods#

perform#


void ADragNDrop::perform(ASurface* sourceWindow)

Pushes out a drag-n-drop operation to the OS.