ui/gtk/text.c

changeset 907
d54a72c94320
parent 906
edfdf9776da9
child 962
7016bcb8d38b
equal deleted inserted replaced
906:edfdf9776da9 907:d54a72c94320
704 void ui_textfield_changed(GtkEditable *editable, UiTextField *textfield) { 704 void ui_textfield_changed(GtkEditable *editable, UiTextField *textfield) {
705 if(!ui_onchange_events_is_enabled()) { 705 if(!ui_onchange_events_is_enabled()) {
706 return; 706 return;
707 } 707 }
708 708
709 UiString *value = textfield->var->value; 709 UiString *value = textfield->var ? textfield->var->value : NULL;
710 710
711 UiEvent e; 711 UiEvent e;
712 e.obj = textfield->obj; 712 e.obj = textfield->obj;
713 e.window = e.obj->window; 713 e.window = e.obj->window;
714 e.document = textfield->obj->ctx->document; 714 e.document = textfield->obj->ctx->document;
715 e.eventdata = value; 715 e.eventdata = value;
716 e.eventdatatype = UI_EVENT_DATA_TEXT_VALUE; 716 e.eventdatatype = value ? UI_EVENT_DATA_TEXT_VALUE : 0;
717 e.intval = 0; 717 e.intval = 0;
718 e.set = ui_get_setop(); 718 e.set = ui_get_setop();
719 719
720 if(textfield->onchange) { 720 if(textfield->onchange) {
721 textfield->onchange(&e, textfield->onchangedata); 721 textfield->onchange(&e, textfield->onchangedata);
726 } 726 }
727 } 727 }
728 728
729 void ui_textfield_activate(GtkEntry* self, UiTextField *textfield) { 729 void ui_textfield_activate(GtkEntry* self, UiTextField *textfield) {
730 if(textfield->onactivate) { 730 if(textfield->onactivate) {
731 UiString *value = textfield->var ? textfield->var->value : NULL;
732
731 UiEvent e; 733 UiEvent e;
732 e.obj = textfield->obj; 734 e.obj = textfield->obj;
733 e.window = e.obj->window; 735 e.window = e.obj->window;
734 e.document = textfield->obj->ctx->document; 736 e.document = textfield->obj->ctx->document;
735 e.eventdata = NULL; 737 e.eventdata = value;
736 e.eventdatatype = 0; 738 e.eventdatatype = value ? UI_EVENT_DATA_TEXT_VALUE : 0;
737 e.intval = 0; 739 e.intval = 0;
738 e.set = ui_get_setop(); 740 e.set = ui_get_setop();
739 textfield->onactivate(&e, textfield->onactivatedata); 741 textfield->onactivate(&e, textfield->onactivatedata);
740 } 742 }
741 } 743 }

mercurial