The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

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

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




АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Подробнее о проведении акции вы можете прочитать на странице сайта.


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList