ui/common/context.c

changeset 145
853685152c1d
parent 143
d499b29d7cb6
child 146
dd0ae1c62a72
--- a/ui/common/context.c	Sat Nov 11 12:22:16 2017 +0100
+++ b/ui/common/context.c	Sun Nov 12 12:03:50 2017 +0100
@@ -205,6 +205,10 @@
             val = ui_int_new(ctx, NULL);
             break;
         }
+        case UI_VAR_DOUBLE: {
+            val = ui_double_new(ctx, NULL);
+            break;
+        }
         case UI_VAR_STRING: {
             val = ui_string_new(ctx, NULL);
             break;
@@ -218,7 +222,7 @@
             break;
         }
         case UI_VAR_RANGE: {
-            val = NULL; // TODO
+            val = ui_range_new(ctx, NULL);
             break;
         }
     }
@@ -250,6 +254,14 @@
             t->set(t, t->value);
             break;
         }
+        case UI_VAR_DOUBLE: {
+            UiDouble *f = from->value;
+            UiDouble *t = to->value;
+            if(!f->obj) break;
+            uic_double_copy(f, t);
+            t->set(t, t->value);
+            break;
+        }
         case UI_VAR_STRING: {
             UiString *f = from->value;
             UiString *t = to->value;
@@ -298,6 +310,7 @@
 void uic_save_var(UiVar *var) {
     switch(var->type) {
         case UI_VAR_INTEGER: uic_int_save(var->value); break;
+        case UI_VAR_DOUBLE: uic_double_save(var->value); break;
         case UI_VAR_STRING: uic_string_save(var->value); break;
         case UI_VAR_TEXT: uic_text_save(var->value); break;
         case UI_VAR_LIST: break;
@@ -308,6 +321,7 @@
 void uic_unbind_var(UiVar *var) {
     switch(var->type) {
         case UI_VAR_INTEGER: uic_int_unbind(var->value); break;
+        case UI_VAR_DOUBLE: uic_double_unbind(var->value); break;
         case UI_VAR_STRING: uic_string_unbind(var->value); break;
         case UI_VAR_TEXT: uic_text_unbind(var->value); break;
         case UI_VAR_LIST: uic_list_unbind(var->value); break;

mercurial