| GTK+ Reference Manual | |||
|---|---|---|---|
| <<< Previous Page | Home | Up | Next Page >>> | 
See the documentation for GtkWidget for descriptions of the "selection_get" and "selection_received" signals.
| struct GtkTargetEntry {
  gchar *target;
  guint  flags;
  guint  info;
}; | 
A GtkTargetEntry structure represents a single type of data than can be supplied for by a widget for a selection or for supplied or received during drag-and-drop. It contains a string representing the drag type, a flags field (used only for drag and drop - see GtkTargetFlags), and an application assigned integer ID. The integer ID will later be passed as a signal parameter for signals like "selection_get". It allows the application to identify the target type without extensive string compares.
| struct GtkTargetList {
  GList *list;
  guint ref_count;
}; | 
A GtkTargetList structure is a reference counted list of GtkTargetPair. It is used to represent the same information as a table of GtkTargetEntry, but in an efficient form. This structure should be treated as opaque.
| struct GtkTargetPair {
  GdkAtom   target;
  guint     flags;
  guint     info;
}; | 
Internally used structure in the drag-and-drop and selection handling code.
| GtkTargetList* gtk_target_list_new (const GtkTargetEntry *targets, guint ntargets); | 
Create a new GtkTargetList from an array of GtkTargetEntry.
| targets : | Pointer to an array of GtkTargetEntry | 
| ntargets : | number of entries in targets. | 
| Returns : | the new GtkTargetList. | 
| void gtk_target_list_ref (GtkTargetList *list); | 
Increase the reference count of a GtkTargetList by one.
| list : | a GtkTargetList | 
| void gtk_target_list_unref (GtkTargetList *list); | 
Decrease the reference count of a GtkTargetList by one. If the resulting reference count is zero, free the list.
| list : | a GtkTargetList | 
| void gtk_target_list_add (GtkTargetList *list, GdkAtom target, guint flags, guint info); | 
Add another target to a GtkTargetList
| list : | a GtkTargetList | 
| target : | the interned atom representing the target | 
| flags : | the flags for this target | 
| info : | an ID that will be passed back to the application | 
| void gtk_target_list_add_table (GtkTargetList *list, const GtkTargetEntry *targets, guint ntargets); | 
Add a table of GtkTargetEntry into a target list
| list : | a GtkTargetList | 
| targets : | the table of GtkTargetEntry | 
| ntargets : | number of targets in the table | 
| void gtk_target_list_remove (GtkTargetList *list, GdkAtom target); | 
Remove a target from a target list
| list : | a GtkTargetList | 
| target : | the interned atom representing the target | 
| gboolean gtk_target_list_find (GtkTargetList *list, GdkAtom target, guint *info); | 
Look up a given target in a GtkTargetList
| list : | a GtkTargetList | 
| target : | an interned atom representing the target to search for | 
| info : | a pointer to the location to store application info for target | 
| Returns : | TRUE if the target was found, otherwise FALSE | 
| gint gtk_selection_owner_set (GtkWidget *widget, GdkAtom selection, guint32 time); | 
Claim ownership of a given selection for a particular widget, or, if widget is NULL, release ownership of the selection.
| widget : | a GtkWidget, or NULL. | 
| selection : | an interned atom representing the selection to claim | 
| time : | the time stamp for claiming the selection | 
| Returns : | TRUE if the operation succeeded | 
| void gtk_selection_add_target (GtkWidget *widget, GdkAtom selection, GdkAtom target, guint info); | 
Add specified target to the list of supported targets for a given widget and selection.
| void gtk_selection_add_targets (GtkWidget *widget, GdkAtom selection, const GtkTargetEntry *targets, guint ntargets); | 
Add a table of targets to the list of supported targets for a given widget and selection.
| widget : | a GtkWidget | 
| selection : | the selection | 
| targets : | a table of targets to add | 
| ntargets : | number of entries in targets | 
| gint gtk_selection_convert (GtkWidget *widget, GdkAtom selection, GdkAtom target, guint32 time); | 
Request the contents of a selection. When received, a "selection_received" signal will be generated.
| widget : | The widget which acts as requestor | 
| selection : | Which selection to get | 
| target : | Form of information desired (e.g., STRING) | 
| time : | Time of request (usually of triggering event) In emergency, you could use GDK_CURRENT_TIME | 
| Returns : | TRUE if requested succeeded. FALSE if we could not process request. (e.g., there was already a request in process for this widget). | 
| void gtk_selection_data_set (GtkSelectionData *selection_data, GdkAtom type, gint format, guchar *data, gint length); | 
Store new data into a GtkSelectionData object. Should _only_ by called from a selection handler callback. Null terminates the stored data.
| void gtk_selection_remove_all (GtkWidget *widget); | 
Removes all handlers and unsets ownership of all selections for a widget. Called when widget is being destroyed. This function will not generally be called by applications.
| widget : | a GtkWidget | 
| GtkSelectioData* gtk_selection_data_copy (GtkSelectionData *data); | 
Make a copy of a GtkSelection data structure and its data.
| data : | a pointer to a GtkSelectionData structure. | 
| Returns : | a pointer to a copy of data. | 
| void gtk_selection_data_free (GtkSelectionData *data); | 
Free a GtkSelectionData structure returned from gtk_selection_data_copy().
| data : | a pointer to a GtkSelectionData structure. | 
| gint gtk_selection_clear (GtkWidget *widget, GdkEventSelection *event); | 
Internal function.
| gint gtk_selection_incr_event (GdkWindow *window, GdkEventProperty *event); | 
Internal function.
| gint gtk_selection_notify (GtkWidget *widget, GdkEventSelection *event); | 
Internal function.
| gint gtk_selection_property_notify (GtkWidget *widget, GdkEventProperty *event); | 
Internal function.
| gint gtk_selection_request (GtkWidget *widget, GdkEventSelection *event); | 
Internal function.