The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

GTK+ 2.0 Tutorial

<<< Previous

Drag-and-drop (DND)

Next >>>


Функции

Настройка исходного виджета

Функция gtk_drag_source_set() определяет ряд целевых типов операции перетаскивания на виджете.

void gtk_drag_source_set( GtkWidget            *widget,
                          GdkModifierType       start_button_mask,
                          const GtkTargetEntry *targets,
                          gint                  n_targets,
                          GdkDragAction         actions );

Параметры показывают следующее:

Параметр targets - массив следующей структуры:

struct GtkTargetEntry {
   gchar *target;
   guint  flags;
   guint  info;
 };

Поля определяют строку представляющую тип перетаскивания, дополнительные флаги и приложение заданного целочисленного идентификатора.

Если виджет больше не обязан действовать как источник для операций перетаскивания, функция gtk_drag_source_unset() может использоваться, чтобы удалить ряд типов адресата перетаскивания.

void gtk_drag_source_unset( GtkWidget *widget );

Сигналы исходных виджетов:

Исходному виджету посылают следующие сигналы в течение операции перетаскивания.

Таблица 1. Сигналы исходных виджетов

drag_begin

void (*drag_begin)(GtkWidget *widget, GdkDragContext *dc, gpointer data)

drag_motion

gboolean (*drag_motion)(GtkWidget *widget, GdkDragContext *dc, gint x, gint y, guint t, gpointer data)

drag_data_get

void (*drag_data_get)(GtkWidget *widget, GdkDragContext *dc, GtkSelectionData *selection_data, guint info, guint t, gpointer data)

drag_data_delete

void (*drag_data_delete)(GtkWidget *widget, GdkDragContext *dc, gpointer data)

drag_drop

gboolean (*drag_drop)(GtkWidget *widget, GdkDragContext *dc, gint x, gint y, guint t, gpointer data)

drag_end

void (*drag_end)(GtkWidget *widget, GdkDragContext *dc, gpointer data)

Установки виджета назначения:

gtk_drag_dest_set() - определяет виджет который может принять перетаскиваемый объект и определяет типы приёма.

gtk_drag_dest_unset() - определяет, что виджет больше не может осуществлять приём.

void gtk_drag_dest_set( GtkWidget            *widget,
                        GtkDestDefaults       flags,
                        const GtkTargetEntry *targets,
                        gint                  n_targets,
                        GdkDragAction         actions );
void gtk_drag_dest_unset( GtkWidget *widget );

Сигналы виджета назначения:

Виджету назначения посылают следующие сигналы в течение операции перетаскивания.

Таблица 2. Сигналы виджета назначения

drag_data_received

void (*drag_data_received)(GtkWidget *widget, GdkDragContext *dc, gint x, gint y, GtkSelectionData *selection_data, guint info, guint t, gpointer data)


<<< Previous

Home

Next >>>

Properties

Up

GLib






Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру