Перетаскивание
Перетаскивание — Функции для управления обработкой перетаскивания
Функции
Типы и значения
| перечисление | GtkDestDefaults |
| перечисление | GtkTargetFlags |
| перечисление | GtkDragResult |
Файлы заголовков
#include <gtk/gtk.h>
Описание
GTK+ предоставляет богатый набор функций для межпроцессного взаимодействия с помощью метафоры перетаскивания.
Помимо функций, перечисленных здесь, приложениям может потребоваться использовать некоторые возможности, предоставляемые для Выделений. Кроме того, API перетаскивания использует сигналы в классе GtkWidget.
Функции
gtk_drag_dest_set ()
void gtk_drag_dest_set (GtkWidget *widget,GtkDestDefaults flags,const GtkTargetEntry *targets,gint n_targets,GdkDragAction actions);
Устанавливает виджет в качестве потенциальной точки назначения выгрузки и добавляет стандартное поведение.
Стандартное поведение, указанное в flags, аналогично установке обработчиков по умолчанию для сигналов перетаскивания виджета («drag-motion», «drag-drop», ...). Все они предназначены для удобства. При передаче GTK_DEST_DEFAULT_ALL, например, достаточно подключиться к сигналу «drag-data-received» виджета, чтобы получить базовую, но согласованную поддержку перетаскивания.
Детали усложняются, когда вы пытаетесь предварительно просмотреть перетаскиваемые данные, как описано в документации для «drag-motion». Стандартное поведение, описанное в flags, делает некоторые предположения, которые могут конфликтовать с вашими собственными обработчиками сигналов. Например, GTK_DEST_DEFAULT_DROP вызывает вызовы gdk_drag_status() в контексте «drag-motion» и вызовы gtk_drag_finish() в «drag-data-received». Особенно последнее вызывает проблемы, когда собственный обработчик «drag-motion» вызывает gtk_drag_get_data() для проверки перетаскиваемых данных.
Установить действие по умолчанию здесь нельзя, для этого можно использовать обратный вызов «drag-motion». Вот пример, который выбирает действие в зависимости от того, нажата ли клавиша управления:
static void drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time) { GdkModifierType mask; gdk_window_get_pointer (gtk_widget_get_window (widget), NULL, NULL, &mask); if (mask & GDK_CONTROL_MASK) gdk_drag_status (context, GDK_ACTION_COPY, time); else gdk_drag_status (context, GDK_ACTION_MOVE, time); }
[метод]
Параметры
widget | виджет GtkWidget | |
flags | какие типы стандартного поведения перетаскивания использовать | |
targets | указатель на массив GtkTargetEntrys, указывающий типы выгрузки, которые этот | [allow-none][array length=n_targets] |
n_targets | количество элементов в | |
actions | побитовая маска возможных действий для выгрузки на этот |
gtk_drag_dest_set_proxy ()
void gtk_drag_dest_set_proxy (GtkWidget *widget,GdkWindow *proxy_window,GdkDragProtocol protocol,gboolean use_coordinates);
gtk_drag_dest_set_proxy устарел начиная с версии 3.22 и не должен использоваться в новых кодах.
Устанавливает этот виджет как прокси для выгрузки в другое окно.
[метод]
Параметры
widget | виджет GtkWidget | |
proxy_window | окно, в которое будут перенаправлены события перетаскивания | |
protocol | протокол перетаскивания, который принимает | |
use_coordinates | Если |
gtk_drag_dest_unset ()
void
gtk_drag_dest_unset (GtkWidget *widget); Очищает информацию о пункте назначения выгрузки, установленной с помощью gtk_drag_dest_set(). Виджет больше не будет получать уведомления о перетаскиваниях.
[метод]
Параметры
widget | виджет GtkWidget |
gtk_drag_dest_find_target ()
GdkAtom gtk_drag_dest_find_target (GtkWidget *widget,GdkDragContext *context,GtkTargetList *target_list);
Ищет соответствие между поддерживаемыми целевыми объектами context и dest_target_list, возвращая первую соответствующую цель, в противном случае возвращает GDK_NONE. dest_target_list обычно должно быть возвращаемым значением из gtk_drag_dest_get_target_list(), но некоторые виджеты могут иметь разные допустимые цели для разных частей виджета; в этом случае им придется реализовать обработчик drag_motion, который передаст правильный список целей в эту функцию.
[метод]
Параметры
widget | виджет пункта назначения перетаскивания | |
context | контекст перетаскивания | |
target_list | список выгружаемых целей, или | [allow-none] |
Возвращает
первую цель, которую предлагает источник и может принять пункт назначения, или GDK_NONE.
[transfer none]
gtk_drag_dest_get_target_list ()
GtkTargetList *
gtk_drag_dest_get_target_list (GtkWidget *widget); Возвращает список целей, которые этот виджет может принять при перетаскивании.
[метод]
Параметры
widget | виджет GtkWidget |
gtk_drag_dest_set_target_list ()
void gtk_drag_dest_set_target_list (GtkWidget *widget,GtkTargetList *target_list);
Устанавливает типы целей, которые этот виджет может принять при перетаскивании. Виджет должен быть сначала задан как пункт назначения перетаскивания с помощью gtk_drag_dest_set().
[метод]
gtk_drag_dest_add_text_targets ()
void
gtk_drag_dest_add_text_targets (GtkWidget *widget); Добавляет поддерживаемые текстовые цели GtkSelectionData в список целей пункта назначения перетаскивания. Цели добавляются с info = 0. Если требуется другое значение, используйте gtk_target_list_add_text_targets() и gtk_drag_dest_set_target_list().
[метод]
Параметры
widget | виджет GtkWidget, являющийся пунктом назначения перетаскивания |
С: 2.6
gtk_drag_dest_add_image_targets ()
void
gtk_drag_dest_add_image_targets (GtkWidget *widget); Добавляет поддерживаемые изображения цели GtkSelectionData в список целей пункта назначения перетаскивания. Цели добавляются с info = 0. Если требуется другое значение, используйте gtk_target_list_add_image_targets() и gtk_drag_dest_set_target_list().
[метод]
Параметры
widget | виджет GtkWidget, являющийся пунктом назначения перетаскивания |
С: 2.6
gtk_drag_dest_add_uri_targets ()
void
gtk_drag_dest_add_uri_targets (GtkWidget *widget); Добавляет поддерживаемые URI цели GtkSelectionData в список целей пункта назначения перетаскивания. Цели добавляются с info = 0. Если требуется другое значение, используйте gtk_target_list_add_uri_targets() и gtk_drag_dest_set_target_list().
[метод]
Параметры
widget | виджет GtkWidget, являющийся пунктом назначения перетаскивания |
С: 2.6
gtk_drag_dest_set_track_motion ()
void gtk_drag_dest_set_track_motion (GtkWidget *widget,gboolean track_motion);
Сообщает виджету об отправке событий “drag-motion” и “drag-leave” независимо от целей и флага GTK_DEST_DEFAULT_MOTION.
Это может быть использовано, когда виджет хочет выполнять общие действия независимо от предлагаемых источником целей.
[метод]
Параметры
widget | виджет GtkWidget, являющийся пунктом назначения перетаскивания | |
track_motion | следует ли принимать все цели |
С: 2.10
gtk_drag_dest_get_track_motion ()
gboolean
gtk_drag_dest_get_track_motion (GtkWidget *widget); Возвращает, настроен ли виджет на всегда отправлять сигналы “drag-motion”.
[метод]
Параметры
widget | виджет GtkWidget, являющийся пунктом назначения перетаскивания |
Возвращаемое значение
TRUE, если виджет всегда отправляет события “drag-motion”
С: 2.10
gtk_drag_finish ()
void gtk_drag_finish (GdkDragContext *context,gboolean success,gboolean del,guint32 time_);
Сообщает источнику перетаскивания, что сброс завершен и данные перетаскивания больше не требуются.
[метод]
Параметры
context | контекст перетаскивания | |
success | флаг, указывающий, был ли сброс успешным | |
del | флаг, указывающий, должен ли исходник удалить исходные данные. (Должно быть | |
time_ | временная метка из сигнала “drag-drop” |
gtk_drag_get_data ()
void gtk_drag_get_data (GtkWidget *widget,GdkDragContext *context,GdkAtom target,guint32 time_);
Получает данные, связанные с перетаскиванием. Когда данные получены или получение завершается ошибкой, GTK+ отправит сигнал “drag-data-received”. Ошибка получения показана полем length параметра сигнала selection_data, которое является отрицательным. Однако, когда gtk_drag_get_data() вызывается неявно, потому что был установлен GTK_DEST_DEFAULT_DROP, виджет не будет получать уведомлений об ошибочных сбросах.
[метод]
Параметры
widget | виджет, который получит сигнал “drag-data-received” | |
context | контекст перетаскивания | |
target | цель (форма данных) для извлечения | |
time_ | временная метка для извлечения данных. В общем случае это будет время, полученное в сигнале “drag-motion” или “drag-drop” |
gtk_drag_get_source_widget ()
GtkWidget *
gtk_drag_get_source_widget (GdkDragContext *context); Определяет виджет-источник для перетаскивания.
[метод]
Параметры
context | контекст перетаскивания (сторона назначения) |
Возвращаемое значение
если перетаскивание происходит в рамках одного приложения, указатель на виджет-источник. В противном случае, NULL.
[nullable][transfer none]
gtk_drag_highlight ()
void
gtk_drag_highlight (GtkWidget *widget); Подсвечивает виджет как целевой объект перетаскивания, на который в данный момент наведён курсор. Чтобы снять подсветку, вызовите gtk_drag_unhighlight(). GTK+ автоматически вызывает эту функцию, если установлено GTK_DEST_DEFAULT_HIGHLIGHT.
[метод]
Параметры
widget | виджет, который нужно подсветить |
gtk_drag_unhighlight ()
void
gtk_drag_unhighlight (GtkWidget *widget); Удаляет подсветку, установленную функцией gtk_drag_highlight(), с виджета.
[метод]
Параметры
widget | виджет, с которого нужно удалить подсветку |
gtk_drag_begin ()
GdkDragContext * gtk_drag_begin (GtkWidget *widget,GtkTargetList *targets,GdkDragAction actions,gint button,GdkEvent *event);
gtk_drag_begin устарела с версии 3.10 и не должна использоваться в новом коде.
Используйте gtk_drag_begin_with_coordinates() вместо этого.
Эта функция эквивалентна gtk_drag_begin_with_coordinates() с параметрами -1, -1 в качестве координат.
[метод]
Параметры
widget | виджет-источник | |
targets | Цели (форматы данных), в которых источник может предоставить данные | |
actions | Маска разрешённых действий перетаскивания для этого перетаскивания | |
button | Кнопка, нажатая пользователем для начала перетаскивания | |
event | Событие, которое вызвало начало перетаскивания, или | [nullable] |
Возвращаемое значение
контекст перетаскивания.
[transfer none]
gtk_drag_begin_with_coordinates ()
GdkDragContext * gtk_drag_begin_with_coordinates (GtkWidget *widget,GtkTargetList *targets,GdkDragAction actions,gint button,GdkEvent *event,gint x,gint y);
Инициализирует перетаскивание на стороне источника. Эта функция нужна только когда приложение инициирует перетаскивание самостоятельно, она не требуется при использовании gtk_drag_source_set().
Параметр event используется для получения временной метки, которая будет использоваться внутри для захвата курсора. Если event равен NULL, то будет использоваться GDK_CURRENT_TIME. Однако, во всех случаях рекомендуется передавать реальное событие, так как это позволяет получить информацию о перетаскивании.
Как правило, есть три случая, когда вам нужно инициировать перетаскивание вручную, вызвав эту функцию:
Во время обработчика сигнала “button-press-event”, если вы хотите начать перетаскивание сразу после нажатия пользователем кнопки мыши. Передайте
event, который у вас есть в обработчике “button-press-event”.Во время обработчика сигнала “motion-notify-event”, если вы хотите начать перетаскивание, когда курсор мыши перемещается на определённое расстояние после нажатия кнопки. Передайте
event, который у вас есть в обработчике “motion-notify-event”.Во время обработчика таймера, если вы хотите начать перетаскивание после удержания кнопки мыши в течение некоторого времени. Попытайтесь сохранить последнее событие, полученное от мыши, используя
gdk_event_copy(), и передайте его в эту функцию (не забудьте освободить событие с помощьюgdk_event_free(), когда вы закончите). Если вы не можете передать реальное событие, передайте NULL вместо него.
[метод]
Параметры
widget | виджет-источник | |
targets | Цели (форматы данных), в которых источник может предоставить данные | |
actions | Маска разрешённых действий перетаскивания для этого перетаскивания | |
button | Кнопка, нажатая пользователем для начала перетаскивания | |
event | Событие, которое вызвало начало перетаскивания, или | [nullable] |
x | Начальная координата x для начала перетаскивания в пространстве координат | |
y | Начальная координата y для начала перетаскивания в пространстве координат |
Возвращаемое значение
контекст перетаскивания.
[transfer none]
С: 3.10
gtk_drag_cancel ()
void
gtk_drag_cancel (GdkDragContext *context); Отменяет текущую операцию перетаскивания на стороне источника.
Чтобы иметь возможность отменить операцию перетаскивания таким образом, вам необходимо сохранить указатель на контекст перетаскивания, либо из явного вызова gtk_drag_begin_with_coordinates(), либо подключившись к сигналу “drag-begin”.
Если context не ссылается на текущую операцию перетаскивания, эта функция ничего не делает.
Если перетаскивание отменено таким образом, аргумент result сигнала “drag-failed” устанавливается в GTK_DRAG_RESULT_ERROR .
[метод]
Параметры
context | контекст GdkDragContext, например, возвращаемый |
С: 3.16
gtk_drag_set_icon_widget ()
void gtk_drag_set_icon_widget (GdkDragContext *context,GtkWidget *widget,gint hot_x,gint hot_y);
Изменяет значок для операции перетаскивания на указанный виджет. GTK+ не уничтожит виджет, поэтому если вы не хотите, чтобы он сохранился, подключитесь к сигналу «drag-end» и уничтожьте его самостоятельно.
[метод]
Параметры
context | контекст перетаскивания. (Этот метод должен вызываться с контекстом для источника перетаскивания) | |
widget | виджет, используемый в качестве значка | |
hot_x | смещение по оси X относительно центра горячей точки в | |
hot_y | смещение по оси Y относительно центра горячей точки в |
gtk_drag_set_icon_pixbuf ()
void gtk_drag_set_icon_pixbuf (GdkDragContext *context,GdkPixbuf *pixbuf,gint hot_x,gint hot_y);
Устанавливает pixbuf в качестве значка для данного перетаскивания.
[метод]
Параметры
context | контекст перетаскивания (Этот метод должен вызываться с контекстом для источника перетаскивания) | |
pixbuf | GdkPixbuf для использования в качестве значка перетаскивания | |
hot_x | смещение по оси X относительно центра горячей точки в | |
hot_y | смещение по оси Y относительно центра горячей точки в |
gtk_drag_set_icon_stock ()
void gtk_drag_set_icon_stock (GdkDragContext *context,const gchar *stock_id,gint hot_x,gint hot_y);
gtk_drag_set_icon_stock устарел начиная с версии 3.10 и не должен использоваться в новом коде.
Используйте gtk_drag_set_icon_name() вместо этого.
Устанавливает значок для данного перетаскивания по идентификатору системного значка.
[метод]
Параметры
context | контекст перетаскивания (Этот метод должен вызываться с контекстом для источника перетаскивания) | |
stock_id | идентификатор системного значка для использования при перетаскивании | |
hot_x | смещение по оси X относительно центра горячей точки значка | |
hot_y | смещение по оси Y относительно центра горячей точки значка |
gtk_drag_set_icon_surface ()
void gtk_drag_set_icon_surface (GdkDragContext *context,cairo_surface_t *surface);
Устанавливает surface в качестве значка для данного перетаскивания. GTK+ сохраняет ссылки на аргументы и освобождает их, когда они больше не нужны.
Чтобы позиционировать поверхность относительно курсора мыши, используйте cairo_surface_set_device_offset() для surface. Курсор мыши будет расположен в координатах (0,0) поверхности.
[метод]
Параметры
context | контекст перетаскивания (Этот метод должен вызываться с контекстом для источника перетаскивания) | |
surface | поверхность для использования в качестве значка |
gtk_drag_set_icon_name ()
void gtk_drag_set_icon_name (GdkDragContext *context,const gchar *icon_name,gint hot_x,gint hot_y);
Устанавливает значок для данного перетаскивания по имени значка из темы. Подробнее см. документацию по GtkIconTheme. Обратите внимание, что размер значка зависит от темы значков (значок загружается с символическим размером GTK_ICON_SIZE_DND), поэтому hot_x и hot_y следует использовать с осторожностью.
[метод]
Параметры
context | контекст перетаскивания (Этот метод должен вызываться с контекстом для источника перетаскивания) | |
icon_name | имя значка для использования | |
hot_x | смещение по оси X горячей точки значка | |
hot_y | смещение по оси Y горячей точки значка |
С: 2.8
gtk_drag_set_icon_gicon ()
void gtk_drag_set_icon_gicon (GdkDragContext *context,GIcon *icon,gint hot_x,gint hot_y);
Устанавливает значок для данного перетаскивания из заданного icon. Дополнительные сведения об использовании значков при перетаскивании см. в документации по gtk_drag_set_icon_name().
[метод]
Параметры
context | контекст перетаскивания (Этот метод должен вызываться с контекстом для источника перетаскивания) | |
icon | ||
hot_x | смещение по оси X горячей точки значка | |
hot_y | смещение по оси Y горячей точки значка |
С: 3.2
gtk_drag_set_icon_default ()
void
gtk_drag_set_icon_default (GdkDragContext *context); Устанавливает значок для конкретного перетаскивания на значение по умолчанию.
[метод]
Параметры
context | контекст перетаскивания (Этот метод должен вызываться с контекстом для источника перетаскивания) |
gtk_drag_check_threshold ()
gboolean gtk_drag_check_threshold (GtkWidget *widget,gint start_x,gint start_y,gint current_x,gint current_y);
Проверяет, пройден ли порог перетаскивания мышью, начатой в точке (start_x , start_y ) и законченной в точке (current_x , current_y ), и, следовательно, должно ли начаться действие перетаскивания и перестановки.
[метод]
Параметры
widget | элемент GtkWidget | |
start_x | координата X начала перетаскивания | |
start_y | координата Y начала перетаскивания | |
current_x | текущая координата X | |
current_y | текущая координата Y |
Возвращаемое значение
TRUE, если порог перетаскивания пройден.
gtk_drag_source_set ()
void gtk_drag_source_set (GtkWidget *widget,GdkModifierType start_button_mask,const GtkTargetEntry *targets,gint n_targets,GdkDragAction actions);
Настраивает виджет таким образом, что GTK+ начнёт операцию перетаскивания, когда пользователь нажимает и перетаскивает виджет. Виджет должен иметь окно.
[метод]
Параметры
widget | элемент GtkWidget | |
start_button_mask | маска битов кнопок, которые могут начать перетаскивание | |
targets | таблица целевых объектов, которые поддерживает перетаскивание, может быть | [allow-none][array length=n_targets] |
n_targets | количество элементов в | |
actions | маска битов возможных действий для перетаскивания из этого виджета |
gtk_drag_source_set_icon_pixbuf ()
void gtk_drag_source_set_icon_pixbuf (GtkWidget *widget,GdkPixbuf *pixbuf);
Устанавливает значок, который будет использоваться для перетаскивания из определённого виджета с помощью GdkPixbuf. GTK+ сохраняет ссылку на pixbuf и освободит её, когда она больше не потребуется.
[метод]
Параметры
widget | элемент GtkWidget | |
pixbuf | GdkPixbuf для значка перетаскивания |
gtk_drag_source_set_icon_stock ()
void gtk_drag_source_set_icon_stock (GtkWidget *widget,const gchar *stock_id);
gtk_drag_source_set_icon_stock устарел с версии 3.10 и не должен использоваться в новом коде.
Используйте gtk_drag_source_set_icon_name() вместо этого.
Устанавливает значок, который будет использоваться для перетаскивания из конкретного источника в виде значка-заготовки.
[метод]
Параметры
widget | элемент GtkWidget | |
stock_id | идентификатор значка-заготовки для использования |
gtk_drag_source_set_icon_name ()
void gtk_drag_source_set_icon_name (GtkWidget *widget,const gchar *icon_name);
Устанавливает значок, который будет использоваться для перетаскивания из конкретного источника в виде значка темы. См. документацию по GtkIconTheme для получения более подробной информации.
[метод]
Параметры
widget | элемент GtkWidget | |
icon_name | имя значка для использования |
С: 2.8
gtk_drag_source_set_icon_gicon ()
void gtk_drag_source_set_icon_gicon (GtkWidget *widget,GIcon *icon);
Устанавливает значок, который будет использоваться для перетаскивания из конкретного источника в icon. См. документацию по GtkIconTheme для более подробной информации.
[метод]
С: 3.2
gtk_drag_source_unset ()
void
gtk_drag_source_unset (GtkWidget *widget); Отменяет действия, выполненные с помощью gtk_drag_source_set().
[метод]
Параметры
widget | элемент GtkWidget |
gtk_drag_source_set_target_list ()
void gtk_drag_source_set_target_list (GtkWidget *widget,GtkTargetList *target_list);
Изменяет типы целевых объектов, предлагаемых этим виджетом для перетаскивания. Виджет сначала должен быть преобразован в источник перетаскивания с помощью gtk_drag_source_set().
[метод]
Параметры
С: 2.4
gtk_drag_source_get_target_list ()
GtkTargetList *
gtk_drag_source_get_target_list (GtkWidget *widget); Получает список целевых объектов, которые может предоставить этот виджет для перетаскивания.
[метод]
Параметры
widget |
С: 2.4
gtk_drag_source_add_text_targets ()
void
gtk_drag_source_add_text_targets (GtkWidget *widget); Добавляет целевые объекты текста, поддерживаемые GtkSelectionData, в список целевых объектов источника перетаскивания. Целевые объекты добавляются со значением info = 0. Если вам нужно другое значение, используйте gtk_target_list_add_text_targets() и gtk_drag_source_set_target_list().
[метод]
Параметры
widget | a GtkWidget, являющийся источником перетаскивания |
С: 2.6
gtk_drag_source_add_image_targets ()
void
gtk_drag_source_add_image_targets (GtkWidget *widget); Добавляет целевые объекты изображений для записи, поддерживаемые GtkSelectionData, в список целевых объектов источника перетаскивания. Целевые объекты добавляются со значением info = 0. Если вам нужно другое значение, используйте gtk_target_list_add_image_targets() и gtk_drag_source_set_target_list().
[метод]
Параметры
widget | a GtkWidget, являющийся источником перетаскивания |
С: 2.6
gtk_drag_source_add_uri_targets ()
void
gtk_drag_source_add_uri_targets (GtkWidget *widget); Добавляет целевые объекты URI, поддерживаемые GtkSelectionData, в список целевых объектов источника перетаскивания. Целевые объекты добавляются со значением info = 0. Если вам нужно другое значение, используйте gtk_target_list_add_uri_targets() и gtk_drag_source_set_target_list().
[метод]
Параметры
widget | a GtkWidget, являющийся источником перетаскивания |
С: 2.6
Типы и значения
перечисление GtkDestDefaults
Перечисление GtkDestDefaults задаёт различные типы действий, которые будут выполнены от имени пользователя для целевого объекта перетаскивания.
Элементы
GTK_DEST_DEFAULT_MOTION | Если задано для виджета, GTK+, во время перетаскивания над этим виджетом будет проверять соответствие перетаскивания списку возможных целевых объектов и действий. GTK+ затем вызовет | |
GTK_DEST_DEFAULT_HIGHLIGHT | Если задано для виджета, GTK+ будет отображать выделение на этом виджете, пока перетаскивание над ним и формат/действие перетаскивания приемлемы. | |
GTK_DEST_DEFAULT_DROP | Если задано для виджета, при выполнении перетаскивания, GTK+ проверит соответствие перетаскивания списку возможных целевых объектов и действий. Если это так, GTK+ вызовет | |
GTK_DEST_DEFAULT_ALL | Если задано, указывает, что все действия по умолчанию должны быть выполнены. |
перечисление GtkTargetFlags
Перечисление GtkTargetFlags используется для указания ограничений на GtkTargetEntry.
Элементы
GTK_TARGET_SAME_APP | Если установлено, целевой объект будет выбран только для перетаскивания внутри одного приложения. | |
GTK_TARGET_SAME_WIDGET | Если установлено, целевой объект будет выбран только для перетаскивания внутри одного виджета. | |
GTK_TARGET_OTHER_APP | Если установлено, целевой объект не будет выбран для перетаскивания внутри одного приложения. | |
GTK_TARGET_OTHER_WIDGET | Если установлено, целевой объект не будет выбран для перетаскивания внутри одного виджета. |
перечисление GtkDragResult
Указывает, почему операция перетаскивания завершилась неудачно. Значение может быть получено путём подключения к сигналу “drag-failed”.
Элементы
GTK_DRAG_RESULT_SUCCESS | Операция перетаскивания завершилась успешно. | |
GTK_DRAG_RESULT_NO_TARGET | Нет подходящей цели перетаскивания. | |
GTK_DRAG_RESULT_USER_CANCELLED | Пользователь отменил операцию перетаскивания. | |
GTK_DRAG_RESULT_TIMEOUT_EXPIRED | Операция перетаскивания истекла. | |
GTK_DRAG_RESULT_GRAB_BROKEN | Захват указателя или клавиатуры, используемый для операции перетаскивания, был прерван. | |
GTK_DRAG_RESULT_ERROR | Операция перетаскивания завершилась неудачно из-за неопределённой ошибки. |
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.22/gtk3-Drag-and-Drop.html