X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkdnd.h;h=3a2b4c27cd7b55032e255504688e6bed629cde45;hb=a89d420270d1a856e072ed87c365b0176f102e6c;hp=bfcbb50c37e4d2773ec456445d62f4b7807c853f;hpb=fb881018542b3b567177d0a1063d9169b17bab48;p=~andy%2Fgtk diff --git a/gtk/gtkdnd.h b/gtk/gtkdnd.h index bfcbb50c3..3a2b4c27c 100644 --- a/gtk/gtkdnd.h +++ b/gtk/gtkdnd.h @@ -1,3 +1,4 @@ +/* -*- Mode: C; c-file-style: "gnu"; tab-width: 8 -*- */ /* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * @@ -12,30 +13,52 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GTK_DND_H__ #define __GTK_DND_H__ -#include -#include + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS + +/** + * GtkDestDefaults: + * @GTK_DEST_DEFAULT_MOTION: If set for a widget, GTK+, during a drag over this + * widget will check if the drag matches this widget's list of possible targets + * and actions. + * GTK+ will then call gdk_drag_status() as appropriate. + * @GTK_DEST_DEFAULT_HIGHLIGHT: If set for a widget, GTK+ will draw a highlight on + * this widget as long as a drag is over this widget and the widget drag format + * and action are acceptable. + * @GTK_DEST_DEFAULT_DROP: If set for a widget, when a drop occurs, GTK+ will + * will check if the drag matches this widget's list of possible targets and + * actions. If so, GTK+ will call gtk_drag_get_data() on behalf of the widget. + * Whether or not the drop is successful, GTK+ will call gtk_drag_finish(). If + * the action was a move, then if the drag was successful, then %TRUE will be + * passed for the @delete parameter to gtk_drag_finish(). + * @GTK_DEST_DEFAULT_ALL: If set, specifies that all default actions should + * be taken. + * + * The #GtkDestDefaults enumeration specifies the various + * types of action that will be taken on behalf + * of the user for a drag destination site. + */ typedef enum { GTK_DEST_DEFAULT_MOTION = 1 << 0, /* respond to "drag_motion" */ GTK_DEST_DEFAULT_HIGHLIGHT = 1 << 1, /* auto-highlight */ @@ -43,11 +66,25 @@ typedef enum { GTK_DEST_DEFAULT_ALL = 0x07 } GtkDestDefaults; -/* Flags for the GtkTargetEntry on the destination side +/** + * GtkTargetFlags: + * @GTK_TARGET_SAME_APP: If this is set, the target will only be selected + * for drags within a single application. + * @GTK_TARGET_SAME_WIDGET: If this is set, the target will only be selected + * for drags within a single widget. + * @GTK_TARGET_OTHER_APP: If this is set, the target will not be selected + * for drags within a single application. + * @GTK_TARGET_OTHER_WIDGET: If this is set, the target will not be selected + * for drags withing a single widget. + * + * The #GtkTargetFlags enumeration is used to specify + * constraints on an entry in a #GtkTargetTable. */ typedef enum { GTK_TARGET_SAME_APP = 1 << 0, /*< nick=same-app >*/ - GTK_TARGET_SAME_WIDGET = 1 << 1 /*< nick=same-widget >*/ + GTK_TARGET_SAME_WIDGET = 1 << 1, /*< nick=same-widget >*/ + GTK_TARGET_OTHER_APP = 1 << 2, /*< nick=other-app >*/ + GTK_TARGET_OTHER_WIDGET = 1 << 3 /*< nick=other-widget >*/ } GtkTargetFlags; /* Destination side */ @@ -85,7 +122,13 @@ GdkAtom gtk_drag_dest_find_target (GtkWidget *widget, GtkTargetList* gtk_drag_dest_get_target_list (GtkWidget *widget); void gtk_drag_dest_set_target_list (GtkWidget *widget, GtkTargetList *target_list); -void gtk_drag_dest_add_text_targets (GtkWidget *widget); +void gtk_drag_dest_add_text_targets (GtkWidget *widget); +void gtk_drag_dest_add_image_targets (GtkWidget *widget); +void gtk_drag_dest_add_uri_targets (GtkWidget *widget); + +void gtk_drag_dest_set_track_motion (GtkWidget *widget, + gboolean track_motion); +gboolean gtk_drag_dest_get_track_motion (GtkWidget *widget); /* Source side */ @@ -100,16 +143,19 @@ void gtk_drag_source_unset (GtkWidget *widget); GtkTargetList* gtk_drag_source_get_target_list (GtkWidget *widget); void gtk_drag_source_set_target_list (GtkWidget *widget, GtkTargetList *target_list); -void gtk_drag_source_add_text_targets (GtkWidget *widget); - -void gtk_drag_source_set_icon (GtkWidget *widget, - GdkColormap *colormap, - GdkPixmap *pixmap, - GdkBitmap *mask); -void gtk_drag_source_set_icon_pixbuf (GtkWidget *widget, - GdkPixbuf *pixbuf); -void gtk_drag_source_set_icon_stock (GtkWidget *widget, - const gchar *stock_id); +void gtk_drag_source_add_text_targets (GtkWidget *widget); +void gtk_drag_source_add_image_targets (GtkWidget *widget); +void gtk_drag_source_add_uri_targets (GtkWidget *widget); + +void gtk_drag_source_set_icon_pixbuf (GtkWidget *widget, + GdkPixbuf *pixbuf); +void gtk_drag_source_set_icon_stock (GtkWidget *widget, + const gchar *stock_id); +void gtk_drag_source_set_icon_name (GtkWidget *widget, + const gchar *icon_name); +GDK_AVAILABLE_IN_3_2 +void gtk_drag_source_set_icon_gicon (GtkWidget *widget, + GIcon *icon); /* There probably should be functions for setting the targets * as a GtkTargetList @@ -127,12 +173,6 @@ void gtk_drag_set_icon_widget (GdkDragContext *context, GtkWidget *widget, gint hot_x, gint hot_y); -void gtk_drag_set_icon_pixmap (GdkDragContext *context, - GdkColormap *colormap, - GdkPixmap *pixmap, - GdkBitmap *mask, - gint hot_x, - gint hot_y); void gtk_drag_set_icon_pixbuf (GdkDragContext *context, GdkPixbuf *pixbuf, gint hot_x, @@ -141,6 +181,17 @@ void gtk_drag_set_icon_stock (GdkDragContext *context, const gchar *stock_id, gint hot_x, gint hot_y); +void gtk_drag_set_icon_surface(GdkDragContext *context, + cairo_surface_t *surface); +void gtk_drag_set_icon_name (GdkDragContext *context, + const gchar *icon_name, + gint hot_x, + gint hot_y); +GDK_AVAILABLE_IN_3_2 +void gtk_drag_set_icon_gicon (GdkDragContext *context, + GIcon *icon, + gint hot_x, + gint hot_y); void gtk_drag_set_icon_default (GdkDragContext *context); @@ -156,19 +207,6 @@ void _gtk_drag_source_handle_event (GtkWidget *widget, void _gtk_drag_dest_handle_event (GtkWidget *toplevel, GdkEvent *event); -#ifndef GTK_DISABLE_DEPRECATED -void gtk_drag_set_default_icon (GdkColormap *colormap, - GdkPixmap *pixmap, - GdkBitmap *mask, - gint hot_x, - gint hot_y); -#endif /* !GTK_DISABLE_DEPRECATED */ - -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS #endif /* __GTK_DND_H__ */ - - -