| 431 UIWIDGET ui_passwordfield_create(UiObject* obj, UiTextFieldArgs args) { |
431 UIWIDGET ui_passwordfield_create(UiObject* obj, UiTextFieldArgs args) { |
| 432 return create_textfield(obj, args, FALSE, FALSE); |
432 return create_textfield(obj, args, FALSE, FALSE); |
| 433 } |
433 } |
| 434 |
434 |
| 435 char* ui_textfield_get(UiString *str) { |
435 char* ui_textfield_get(UiString *str) { |
| 436 str->value.free(str->value.ptr); |
436 if(str->value.free) { |
| |
437 str->value.free(str->value.ptr); |
| |
438 } |
| 437 char *value = XmTextFieldGetString(str->obj); |
439 char *value = XmTextFieldGetString(str->obj); |
| 438 str->value.ptr = value; |
440 str->value.ptr = value; |
| 439 str->value.free = (ui_freefunc)XtFree; |
441 str->value.free = (ui_freefunc)XtFree; |
| 440 return value; |
442 return value; |
| 441 } |
443 } |
| 442 |
444 |
| 443 void ui_textfield_set(UiString *str, const char *value) { |
445 void ui_textfield_set(UiString *str, const char *value) { |
| 444 XmTextFieldSetString(str->obj, (void*)value); |
446 XmTextFieldSetString(str->obj, (void*)value); |
| |
447 if(str->value.free) { |
| |
448 str->value.free(str->value.ptr); |
| |
449 } |
| 445 str->value.ptr = NULL; |
450 str->value.ptr = NULL; |
| 446 str->value.free(str->value.ptr); |
|
| 447 } |
451 } |
| 448 |
452 |
| 449 |
453 |
| 450 |
454 |
| 451 |
455 |