+
+ /** @brief Menu callbacks */
+ struct tabtype tabtype;
+
+ /** @brief Drag-drop callback, or NULL for no drag+drop
+ * @param ql Owning queuelike
+ * @param ntracks Number of tracks to be dropped
+ * @param tracks List of track names
+ * @param ids List of track IDs
+ * @param after_me Drop after this or NULL to drop at head
+ *
+ * If the rearrangement is impossible then the displayed queue must be put
+ * back.
+ */
+ void (*drop)(struct queuelike *ql, int ntracks, char **tracks, char **ids,
+ struct queue_entry *after_me);
+
+ /** @brief Source target list */
+ const GtkTargetEntry *drag_source_targets;
+
+ /** @brief Drag source actions */
+ GdkDragAction drag_source_actions;
+
+ /** @brief Destination target list */
+ const GtkTargetEntry *drag_dest_targets;
+
+ /** @brief Drag destination actions */
+ GdkDragAction drag_dest_actions;
+