|
| DragSource (DragSource&& src) noexcept |
|
DragSource& | operator= (DragSource&& src) noexcept |
|
| ~DragSource () noexcept override |
|
GtkDragSource* | gobj () |
| Provides access to the underlying C GObject. More...
|
|
const GtkDragSource* | gobj () const |
| Provides access to the underlying C GObject. More...
|
|
GtkDragSource* | gobj_copy () |
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
|
|
void | set_content (const Glib::RefPtr< Gdk::ContentProvider >& content) |
| Sets a content provider on a Gtk::DragSource. More...
|
|
Glib::RefPtr< Gdk::ContentProvider > | get_content () |
| Gets the current content provider of a Gtk::DragSource. More...
|
|
Glib::RefPtr< const Gdk::ContentProvider > | get_content () const |
| Gets the current content provider of a Gtk::DragSource. More...
|
|
void | set_actions (Gdk::DragAction actions) |
| Sets the actions on the Gtk::DragSource. More...
|
|
Gdk::DragAction | get_actions () const |
| Gets the actions that are currently set on the Gtk::DragSource. More...
|
|
void | set_icon (const Glib::RefPtr< const Gdk::Paintable >& paintable, int hot_x, int hot_y) |
| Sets a paintable to use as icon during DND operations. More...
|
|
void | drag_cancel () |
| Cancels a currently ongoing drag operation. More...
|
|
Glib::RefPtr< Gdk::Drag > | get_drag () |
| Returns the underlying Gtk::Drag object for an ongoing drag. More...
|
|
Glib::RefPtr< const Gdk::Drag > | get_drag () const |
| Returns the underlying Gtk::Drag object for an ongoing drag. More...
|
|
Glib::PropertyProxy< Glib::RefPtr< Gdk::ContentProvider > > | property_content () |
| The data that is offered by drag operations from this source, in the form of a Gdk::ContentProvider. More...
|
|
Glib::PropertyProxy_ReadOnly< Glib::RefPtr< Gdk::ContentProvider > > | property_content () const |
| The data that is offered by drag operations from this source, in the form of a Gdk::ContentProvider. More...
|
|
Glib::PropertyProxy< Gdk::DragAction > | property_actions () |
| The actions that are supported by drag operations from the source. More...
|
|
Glib::PropertyProxy_ReadOnly< Gdk::DragAction > | property_actions () const |
| The actions that are supported by drag operations from the source. More...
|
|
Glib::SignalProxy< Glib::RefPtr< Gdk::ContentProvider >double, double)> | signal_prepare () |
| Only one signal handler is called. More...
|
|
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::Drag >&)> | signal_drag_begin () |
|
Glib::SignalProxy< void(const Glib::RefPtr< Gdk::Drag >&, bool)> | signal_drag_end () |
|
Glib::SignalProxy< bool(const Glib::RefPtr< Gdk::Drag >&, Gdk::DragCancelReason)> | signal_drag_cancel () |
|
| GestureSingle (GestureSingle&& src) noexcept |
|
GestureSingle& | operator= (GestureSingle&& src) noexcept |
|
| ~GestureSingle () noexcept override |
|
GtkGestureSingle* | gobj () |
| Provides access to the underlying C GObject. More...
|
|
const GtkGestureSingle* | gobj () const |
| Provides access to the underlying C GObject. More...
|
|
GtkGestureSingle* | gobj_copy () |
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
|
|
bool | get_touch_only () const |
| Returns true if the gesture is only triggered by touch events. More...
|
|
void | set_touch_only (bool touch_only=true) |
| If touch_only is true , gesture will only handle events of type Gdk::EventType::TOUCH_BEGIN, Gdk::EventType::TOUCH_UPDATE or Gdk::EventType::TOUCH_END. More...
|
|
bool | get_exclusive () const |
| Gets whether a gesture is exclusive. More...
|
|
void | set_exclusive (bool exclusive=true) const |
| Sets whether gesture is exclusive. More...
|
|
unsigned int | get_button () const |
| Returns the button number gesture listens for, or 0 if gesture reacts to any button press. More...
|
|
void | set_button (unsigned int button=0) |
| Sets the button number gesture listens to. More...
|
|
unsigned int | get_current_button () const |
| Returns the button number currently interacting with gesture, or 0 if there is none. More...
|
|
Gdk::EventSequence* | get_current_sequence () |
| Returns the event sequence currently interacting with gesture. More...
|
|
const Gdk::EventSequence* | get_current_sequence () const |
| Returns the event sequence currently interacting with gesture. More...
|
|
Glib::PropertyProxy< bool > | property_touch_only () |
| Whether the gesture handles only touch events. More...
|
|
Glib::PropertyProxy_ReadOnly< bool > | property_touch_only () const |
| Whether the gesture handles only touch events. More...
|
|
Glib::PropertyProxy< bool > | property_exclusive () |
| Whether the gesture is exclusive. More...
|
|
Glib::PropertyProxy_ReadOnly< bool > | property_exclusive () const |
| Whether the gesture is exclusive. More...
|
|
Glib::PropertyProxy< unsigned int > | property_button () |
| Mouse button number to listen to, or 0 to listen for any button. More...
|
|
Glib::PropertyProxy_ReadOnly< unsigned int > | property_button () const |
| Mouse button number to listen to, or 0 to listen for any button. More...
|
|
| Gesture (Gesture&& src) noexcept |
|
Gesture& | operator= (Gesture&& src) noexcept |
|
| ~Gesture () noexcept override |
|
GtkGesture* | gobj () |
| Provides access to the underlying C GObject. More...
|
|
const GtkGesture* | gobj () const |
| Provides access to the underlying C GObject. More...
|
|
GtkGesture* | gobj_copy () |
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
|
|
Glib::RefPtr< Gdk::Device > | get_device () |
| Returns the master Gdk::Device that is currently operating on gesture, or nullptr if the gesture is not being interacted. More...
|
|
Glib::RefPtr< const Gdk::Device > | get_device () const |
| Returns the master Gdk::Device that is currently operating on gesture, or nullptr if the gesture is not being interacted. More...
|
|
bool | set_state (EventSequenceState state) |
| Sets the state of all sequences that gesture is currently interacting with. More...
|
|
EventSequenceState | get_sequence_state (Gdk::EventSequence* sequence) const |
| Returns the sequence state, as seen by gesture. More...
|
|
bool | set_sequence_state (Gdk::EventSequence* sequence, EventSequenceState state) |
| Sets the state of sequence in gesture. More...
|
|
std::vector< const Gdk::EventSequence* > | get_sequences () const |
| Returns the list of Gdk::EventSequences currently being interpreted. More...
|
|
Gdk::EventSequence* | get_last_updated_sequence () |
| Returns the Gdk::EventSequence that was last updated on gesture. More...
|
|
const Gdk::EventSequence* | get_last_updated_sequence () const |
| Returns the Gdk::EventSequence that was last updated on gesture. More...
|
|
bool | handles_sequence (Gdk::EventSequence* sequence) const |
| Returns true if gesture is currently handling events corresponding to sequence. More...
|
|
Glib::RefPtr< const Gdk::Event > | get_last_event (Gdk::EventSequence* sequence) const |
| Returns the last event that was processed for sequence. More...
|
|
bool | get_point (Gdk::EventSequence* sequence, double& x, double& y) const |
| If sequence is currently being interpreted by gesture, this function returns true and fills in x and y with the last coordinates stored for that event sequence. More...
|
|
bool | get_bounding_box (Gdk::Rectangle& rect) const |
| If there are touch sequences being currently handled by gesture, this function returns true and fills in rect with the bounding box containing all active touches. More...
|
|
bool | get_bounding_box_center (double& x, double& y) const |
| If there are touch sequences being currently handled by gesture, this function returns true and fills in x and y with the center of the bounding box containing all active touches. More...
|
|
bool | is_active () const |
| Returns true if the gesture is currently active. More...
|
|
bool | is_recognized () const |
| Returns true if the gesture is currently recognized. More...
|
|
void | group (const Glib::RefPtr< Gesture >& group_gesture) |
| Adds gesture to the same group than group_gesture. More...
|
|
void | ungroup () |
| Separates gesture into an isolated group. More...
|
|
std::vector< Glib::RefPtr< Gesture > > | get_group () |
| Returns all gestures in the group of gesture. More...
|
|
std::vector< Glib::RefPtr< const Gesture > > | get_group () const |
| Returns all gestures in the group of gesture. More...
|
|
bool | is_grouped_with (const Glib::RefPtr< Gesture >& other) const |
| Returns true if both gestures pertain to the same group. More...
|
|
Glib::SignalProxy< void(Gdk::EventSequence*)> | signal_begin () |
|
Glib::SignalProxy< void(Gdk::EventSequence*)> | signal_end () |
|
Glib::SignalProxy< void(Gdk::EventSequence*)> | signal_update () |
|
Glib::SignalProxy< void(Gdk::EventSequence*)> | signal_cancel () |
|
Glib::SignalProxy< void(Gdk::EventSequence*, EventSequenceState)> | signal_sequence_state_changed () |
|
Glib::PropertyProxy_ReadOnly< unsigned int > | property_n_points () const |
| The number of touch points that trigger recognition on this gesture,. More...
|
|
| EventController (EventController&& src) noexcept |
|
EventController& | operator= (EventController&& src) noexcept |
|
| ~EventController () noexcept override |
|
GtkEventController* | gobj () |
| Provides access to the underlying C GObject. More...
|
|
const GtkEventController* | gobj () const |
| Provides access to the underlying C GObject. More...
|
|
GtkEventController* | gobj_copy () |
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
|
|
Widget* | get_widget () |
| Returns the Gtk::Widget this controller relates to. More...
|
|
const Widget* | get_widget () const |
| Returns the Gtk::Widget this controller relates to. More...
|
|
bool | handle_event (const Glib::RefPtr< const Gdk::Event >& event) |
| Feeds an event into controller, so it can be interpreted and the controller actions triggered. More...
|
|
void | reset () |
| Resets the controller to a clean state. More...
|
|
PropagationPhase | get_propagation_phase () const |
| Gets the propagation phase at which controller handles events. More...
|
|
void | set_propagation_phase (PropagationPhase phase) |
| Sets the propagation phase at which a controller handles events. More...
|
|
PropagationLimit | get_propagation_limit () const |
|
void | set_propagation_limit (PropagationLimit limit) |
|
Glib::ustring | get_name () const |
|
void | set_name (const Glib::ustring& name) |
|
Glib::PropertyProxy_ReadOnly< Widget* > | property_widget () const |
| The widget receiving the Gdk::Events that the controller will handle. More...
|
|
Glib::PropertyProxy< PropagationPhase > | property_propagation_phase () |
| The propagation phase at which this controller will handle events. More...
|
|
Glib::PropertyProxy_ReadOnly< PropagationPhase > | property_propagation_phase () const |
| The propagation phase at which this controller will handle events. More...
|
|
Glib::PropertyProxy< PropagationLimit > | property_propagation_limit () |
| The limit for which events this controller will handle. More...
|
|
Glib::PropertyProxy_ReadOnly< PropagationLimit > | property_propagation_limit () const |
| The limit for which events this controller will handle. More...
|
|
Glib::PropertyProxy< Glib::ustring > | property_name () |
| Name for this controller. More...
|
|
Glib::PropertyProxy_ReadOnly< Glib::ustring > | property_name () const |
| Name for this controller. More...
|
|
| Object (const Object &)=delete |
|
Object & | operator= (const Object &)=delete |
|
| Object (Object &&src) noexcept |
|
Object & | operator= (Object &&src) noexcept |
|
void * | get_data (const QueryQuark &key) |
|
void | set_data (const Quark &key, void *data) |
|
void | set_data (const Quark &key, void *data, DestroyNotify notify) |
|
void | remove_data (const QueryQuark &quark) |
|
void * | steal_data (const QueryQuark &quark) |
|
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false) |
|
| ObjectBase (const ObjectBase &)=delete |
|
ObjectBase & | operator= (const ObjectBase &)=delete |
|
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value) |
|
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const |
|
void | set_property (const Glib::ustring &property_name, const PropertyType &value) |
|
void | get_property (const Glib::ustring &property_name, PropertyType &value) const |
|
PropertyType | get_property (const Glib::ustring &property_name) const |
|
sigc::connection | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot) |
|
sigc::connection | connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot) |
|
void | freeze_notify () |
|
void | thaw_notify () |
|
virtual void | reference () const |
|
virtual void | unreference () const |
|
GObject * | gobj () |
|
const GObject * | gobj () const |
|
GObject * | gobj_copy () const |
|
| trackable () noexcept |
|
| trackable (const trackable &src) noexcept |
|
| trackable (trackable &&src) noexcept |
|
| ~trackable () |
|
void | add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const |
|
void | notify_callbacks () |
|
trackable & | operator= (const trackable &src) |
|
trackable & | operator= (trackable &&src) noexcept |
|
void | remove_destroy_notify_callback (notifiable *data) const |
|
Event controller to initiate DND operations.
Gtk::DragSource is an auxiliary object that is used to initiate Drag-And-Drop operations. It can be set up with the necessary ingredients for a DND operation ahead of time. This includes the source for the data that is being transferred, in the form of a Gdk::ContentProvider, the desired action, and the icon to use during the drag operation. After setting it up, the drag source must be added to a widget as an event controller, using Gtk::Widget::add_controller().
Setting up the content provider and icon ahead of time only makes sense when the data does not change. More commonly, you will want to set them up just in time. To do so, Gtk::DragSource has signal_prepare() and signal_drag_begin(). The prepare signal is emitted before a drag is started, and can be used to set the content provider and actions that the drag should be started with. The drag-begin signal is emitted after the Gdk::Drag object has been created, and can be used to set up the drag icon.
During the DND operation, Gtk::DragSource emits signals that can be used to obtain updates about the status of the operation, but it is not normally necessary to connect to any signals, except for one case: when the supported actions include Gdk::DragAction::MOVE, you need to listen for signal_drag_end() and delete the data after it has been transferred.
- Since gtkmm 3.96: