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.