функции
настройка исходного
виджета
функция
gtk_drag_source_set() определяет ряд целевых
типов операции перетаскивания на
виджете. 
	
		
			void gtk_drag_source_set( gtkwidget            *widget,
                          gdkmodifiertype       start_button_mask,
                          const gtktargetentry *targets,
                          gint                  n_targets,
                          gdkdragaction         actions );
		 | 
	 
 
параметры
показывают следующее: 
	widget -
	определяет исходный виджет перетаскивания 
	start_button_mask
	- определяет bitmask кнопок которые могут
	начать перетаскивание (например
	gdk_button1_mask) 
	targets -
	определяет таблицу целевых данных
	типов поддерживающих перетаскивание 
	n_targets -
	определяет номер целей указанных выше 
	actions -
	определяет bitmask возможных действий
	перетаскивания из этого окна 
 
параметр 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) 
		 | 
	 
 
 
  
 
											 |