ui/gtk/entry.c

changeset 759
5e17960fedc8
parent 754
fb5f560e81d9
child 760
396caea0234a
equal deleted inserted replaced
758:d5ff5520affe 759:5e17960fedc8
40 double max = 1000; 40 double max = 1000;
41 41
42 UiObject* current = uic_current_obj(obj); 42 UiObject* current = uic_current_obj(obj);
43 43
44 UiVar *var = NULL; 44 UiVar *var = NULL;
45 UiVarType vartype = 0;
45 if(args->varname) { 46 if(args->varname) {
46 var = uic_get_var(obj->ctx, args->varname); 47 var = uic_get_var(obj->ctx, args->varname);
48 vartype = var->type;
47 } 49 }
48 50
49 if(!var) { 51 if(!var) {
50 if(args->intvalue) { 52 if(args->intvalue) {
51 var = uic_widget_var(obj->ctx, current->ctx, args->intvalue, NULL, UI_VAR_INTEGER); 53 var = uic_widget_var(obj->ctx, current->ctx, args->intvalue, NULL, UI_VAR_INTEGER);
54 vartype = UI_VAR_INTEGER;
52 } else if(args->doublevalue) { 55 } else if(args->doublevalue) {
53 var = uic_widget_var(obj->ctx, current->ctx, args->doublevalue, NULL, UI_VAR_DOUBLE); 56 var = uic_widget_var(obj->ctx, current->ctx, args->doublevalue, NULL, UI_VAR_DOUBLE);
57 vartype = UI_VAR_DOUBLE;
54 } else if(args->rangevalue) { 58 } else if(args->rangevalue) {
55 var = uic_widget_var(obj->ctx, current->ctx, args->rangevalue, NULL, UI_VAR_RANGE); 59 var = uic_widget_var(obj->ctx, current->ctx, args->rangevalue, NULL, UI_VAR_RANGE);
60 vartype = UI_VAR_RANGE;
56 } 61 }
57 } 62 }
58 63
59 if(var && var->type == UI_VAR_RANGE) { 64 if(var && var->type == UI_VAR_RANGE) {
60 UiRange *r = var->value; 65 UiRange *r = var->value;
74 ui_set_widget_groups(obj->ctx, spin, args->groups); 79 ui_set_widget_groups(obj->ctx, spin, args->groups);
75 gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), args->digits); 80 gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), args->digits);
76 UiObserver **obs = NULL; 81 UiObserver **obs = NULL;
77 if(var) { 82 if(var) {
78 double value = 0; 83 double value = 0;
79 switch(var->type) { 84 switch(vartype) {
80 default: break; 85 default: break;
81 case UI_VAR_INTEGER: { 86 case UI_VAR_INTEGER: {
82 UiInteger *i = var->value; 87 UiInteger *i = var->value;
83 i->get = ui_spinbutton_getint; 88 i->get = ui_spinbutton_getint;
84 i->set = ui_spinbutton_setint; 89 i->set = ui_spinbutton_setint;

mercurial