pub trait DragDataAdapter {
// Required methods
fn retrieve_drag_data(
&self,
data: &SelectionData,
data_out: &mut HashMap<String, Value>,
);
fn data_formats(&self) -> Vec<Atom>;
fn prepare_drag_data(
&self,
data_in: &mut HashMap<String, Value>,
) -> Vec<Box<dyn DragDataSetter>>;
}