Metoder

Widgets can be identified as sources or targets using Gtk::DragSource and Gtk::DropTarget event controllers.

auto source = Gtk::DragSource::create();
m_source_widget.add_controller(source);

Några DragSource-metoder:

  • void set_content(const Glib::RefPtr<Gdk::ContentProvider>& content): Ställer in en innehållstillhandahållare på dragkällan.

  • void set_actions(Gdk::DragAction actions): Ställer in åtgärderna på dragkällan. Till exempel Gdk::DragAction::COPY | Gdk::DragAction::MOVE.

  • void set_icon(const Glib::RefPtr<const Gdk::Paintable>& paintable, int hot_x, int hot_y): Ställer in en rityta att använda som ikon under dra-och-släpp-operationer.

auto target = Gtk::DropTarget::create(gtype, actions);
m_target_widget.add_controller(target);

Några DropTarget-metoder:

  • void set_gtypes(const std::vector<GType>& types): Ställer in typerna som stöds för detta släppmål.

  • void set_actions(Gdk::DragAction actions): Ställer in åtgärderna som detta släppmål stöder.

  • Glib::ValueBase get_value() const: Erhåller aktuella släppdata, som ett Glib::Value.

  • void reject(): Förkastar den pågående släpp-operationen. Denna funktion bör användas vid fördröjning av beslutet huruvida en dragning ska accepteras eller inte förrän data har lästs.