application/main.c

changeset 147
2e384acc89a6
parent 146
dd0ae1c62a72
child 149
479209198de3
--- a/application/main.c	Thu Nov 16 12:04:10 2017 +0100
+++ b/application/main.c	Sun Nov 19 09:00:16 2017 +0100
@@ -82,6 +82,16 @@
     fflush(stdout);
 }
 
+void list_data_get(UiEvent *event, UiSelection *selection, UiList *l, int i) {
+    ui_selection_settext(selection, "Hello World!", -1);
+}
+
+void list_drop(UiEvent *event, UiSelection *selection, UiList *l, int i) {
+    char *text = ui_selection_gettext(selection);
+    printf("dnd drop: {%s}\n", text);
+    free(text);
+}
+
 Document* create_doc(char *str) {
     Document *doc = ui_document_new(sizeof(Document));
     UiContext *ctx = ui_document_context(doc);
@@ -163,8 +173,11 @@
     
     UiModel *model = ui_model(obj->ctx, UI_ICON_TEXT, "name", UI_STRING, "desc", -1);
     model->getvalue = (ui_getvaluefunc)model_get;
+    model->drop = list_drop;
+    model->data_get = list_data_get;
     UiListCallbacks cb = {NULL, NULL, NULL};
-    ui_table_nv(obj, "list", model, cb);
+    UIWIDGET table = ui_table_nv(obj, "list", model, cb);
+    ui_table_dragsource(table, 0, "text/plain", NULL);
     
     //ui_spinner_setrange(ui_spinnerf_nv(obj, 1, 0, "d"), 0, 1000);
     ui_spinnerr_nv(obj, "r");

mercurial