![]() |
![]() |
![]() |
Rhythmbox Development Reference Manual | ![]() |
---|
rb-tree-dndrb-tree-dnd — |
#define RB_TYPE_TREE_DRAG_DEST #define RB_TREE_DRAG_DEST (obj) #define RB_IS_TREE_DRAG_DEST (obj) #define RB_TREE_DRAG_DEST_GET_IFACE (obj) RbTreeDragSource; RbTreeDragSourceIface; RbTreeDragDest; RbTreeDragDestIface; enum RbTreeDestFlag; gboolean rb_tree_drag_source_row_draggable (RbTreeDragSource *drag_source, GList *path_list); gboolean rb_tree_drag_source_drag_data_delete (RbTreeDragSource *drag_source, GList *path_list); gboolean rb_tree_drag_source_drag_data_get (RbTreeDragSource *drag_source, GList *path_list, GtkSelectionData *selection_data); GType rb_tree_drag_dest_get_type (void); gboolean rb_tree_drag_dest_drag_data_received (RbTreeDragDest *drag_dest, GtkTreePath *dest, GtkTreeViewDropPosition pos, GtkSelectionData *selection_data); gboolean rb_tree_drag_dest_row_drop_possible (RbTreeDragDest *drag_dest, GtkTreePath *dest_path, GtkTreeViewDropPosition pos, GtkSelectionData *selection_data); gboolean rb_tree_drag_dest_row_drop_position (RbTreeDragDest *drag_dest, GtkTreePath *dest_path, GList *targets, GtkTreeViewDropPosition *pos); void rb_tree_dnd_add_drag_dest_support (GtkTreeView *tree_view, RbTreeDestFlag flags, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions); void rb_tree_dnd_add_drag_source_support (GtkTreeView *tree_view, GdkModifierType start_button_mask, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions);
#define RB_TREE_DRAG_DEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RB_TYPE_TREE_DRAG_DEST, RbTreeDragDest))
obj : |
#define RB_IS_TREE_DRAG_DEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RB_TYPE_TREE_DRAG_DEST))
obj : |
#define RB_TREE_DRAG_DEST_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), RB_TYPE_TREE_DRAG_DEST, RbTreeDragDestIface))
obj : |
typedef struct { GTypeInterface g_iface; /* VTable - not signals */ gboolean (* row_draggable) (RbTreeDragSource *drag_source, GList *path_list); gboolean (* drag_data_get) (RbTreeDragSource *drag_source, GList *path_list, GtkSelectionData *selection_data); gboolean (* drag_data_delete) (RbTreeDragSource *drag_source, GList *path_list); } RbTreeDragSourceIface;
typedef struct { GTypeInterface g_iface; /* VTable - not signals */ gboolean (* drag_data_received) (RbTreeDragDest *drag_dest, GtkTreePath *dest, GtkTreeViewDropPosition pos, GtkSelectionData *selection_data); gboolean (* row_drop_possible) (RbTreeDragDest *drag_dest, GtkTreePath *dest_path, GtkTreeViewDropPosition pos, GtkSelectionData *selection_data); gboolean (* row_drop_position) (RbTreeDragDest *drag_dest, GtkTreePath *dest_path, GList *targets, GtkTreeViewDropPosition *pos); /* optional */ GdkAtom (* get_drag_target) (RbTreeDragDest *drag_dest, GtkWidget *widget, GdkDragContext *context, GtkTreePath *dest_path, GtkTargetList *target_list); } RbTreeDragDestIface;
typedef enum { RB_TREE_DEST_EMPTY_VIEW_DROP = 1 << 0, RB_TREE_DEST_CAN_DROP_INTO = 1 << 1, RB_TREE_DEST_CAN_DROP_BETWEEN = 1 << 2 } RbTreeDestFlag;
gboolean rb_tree_drag_source_row_draggable (RbTreeDragSource *drag_source, GList *path_list);
Asks the EggTreeMultiDragSource whether a particular row can be used as the source of a DND operation. If the source doesn't implement this interface, the row is assumed draggable.
drag_source : |
a EggTreeMultiDragSource |
path_list : |
|
Returns : | TRUE if the row can be dragged
|
gboolean rb_tree_drag_source_drag_data_delete (RbTreeDragSource *drag_source, GList *path_list);
Asks the EggTreeMultiDragSource to delete the row at path
, because
it was moved somewhere else via drag-and-drop. Returns FALSE
if the deletion fails because path
no longer exists, or for
some model-specific reason. Should robustly handle a path
no
longer found in the model!
drag_source : |
a EggTreeMultiDragSource |
path_list : |
|
Returns : | TRUE if the row was successfully deleted
|
gboolean rb_tree_drag_source_drag_data_get (RbTreeDragSource *drag_source, GList *path_list, GtkSelectionData *selection_data);
Asks the EggTreeMultiDragSource to fill in selection_data
with a
representation of the row at path
. selection_data->target
gives
the required type of the data. Should robustly handle a path
no
longer found in the model!
drag_source : |
a EggTreeMultiDragSource |
path_list : |
|
selection_data : |
a EggSelectionData to fill with data from the dragged row |
Returns : | TRUE if data of the required type was provided
|
gboolean rb_tree_drag_dest_drag_data_received (RbTreeDragDest *drag_dest, GtkTreePath *dest, GtkTreeViewDropPosition pos, GtkSelectionData *selection_data);
drag_dest : |
|
dest : |
|
pos : |
|
selection_data : |
|
Returns : |
gboolean rb_tree_drag_dest_row_drop_possible (RbTreeDragDest *drag_dest, GtkTreePath *dest_path, GtkTreeViewDropPosition pos, GtkSelectionData *selection_data);
drag_dest : |
|
dest_path : |
|
pos : |
|
selection_data : |
|
Returns : |
gboolean rb_tree_drag_dest_row_drop_position (RbTreeDragDest *drag_dest, GtkTreePath *dest_path, GList *targets, GtkTreeViewDropPosition *pos);
drag_dest : |
|
dest_path : |
|
targets : |
|
pos : |
|
Returns : |
void rb_tree_dnd_add_drag_dest_support (GtkTreeView *tree_view, RbTreeDestFlag flags, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions);
tree_view : |
|
flags : |
|
targets : |
|
n_targets : |
|
actions : |
<< rb-string-helpers | rb-util >> |