105 } |
105 } |
106 |
106 |
107 |
107 |
108 // -------------------------- getter/setter for textfield UiString -------------------------- |
108 // -------------------------- getter/setter for textfield UiString -------------------------- |
109 |
109 |
110 static char* tf_get(UiString* str, std::wstring &value) { |
110 char* ui_string_get(UiString* str, std::wstring &value) { |
111 if (str->value.ptr) { |
111 if (str->value.ptr) { |
112 str->value.free(str->value.ptr); |
112 str->value.free(str->value.ptr); |
113 } |
113 } |
114 |
114 |
115 str->value.ptr = wchar2utf8(value.c_str(), value.length()); |
115 str->value.ptr = wchar2utf8(value.c_str(), value.length()); |
116 str->value.free = free; |
116 str->value.free = free; |
117 |
117 |
118 return str->value.ptr; |
118 return str->value.ptr; |
119 } |
119 } |
120 |
120 |
121 static std::wstring tf_set(UiString* str, const char* value) { |
121 std::wstring ui_string_set(UiString* str, const char* value) { |
122 if (str->value.ptr) { |
122 if (str->value.ptr) { |
123 str->value.free(str->value.ptr); |
123 str->value.free(str->value.ptr); |
124 } |
124 } |
125 |
125 |
126 str->value.ptr = _strdup(value); |
126 str->value.ptr = _strdup(value); |
132 free(wstr); |
132 free(wstr); |
133 |
133 |
134 return s; |
134 return s; |
135 } |
135 } |
136 |
136 |
137 extern "C" char* ui_textfield_get(UiString * str) { |
137 char* ui_textfield_get(UiString * str) { |
138 UiWidget* widget = (UiWidget*)str->obj; |
138 UiWidget* widget = (UiWidget*)str->obj; |
139 TextBox box = widget->uielement.as<TextBox>(); |
139 TextBox box = widget->uielement.as<TextBox>(); |
140 std::wstring wstr(box.Text()); |
140 std::wstring wstr(box.Text()); |
141 return tf_get(str, wstr); |
141 return ui_string_get(str, wstr); |
142 } |
142 } |
143 |
143 |
144 extern "C" void ui_textfield_set(UiString * str, const char* newvalue) { |
144 void ui_textfield_set(UiString * str, const char* newvalue) { |
145 UiWidget* widget = (UiWidget*)str->obj; |
145 UiWidget* widget = (UiWidget*)str->obj; |
146 TextBox box = widget->uielement.as<TextBox>(); |
146 TextBox box = widget->uielement.as<TextBox>(); |
147 box.Text(tf_set(str, newvalue)); |
147 box.Text(ui_string_set(str, newvalue)); |
148 } |
148 } |
149 |
149 |
150 |
150 |
151 extern "C" char* ui_passwordfield_get(UiString * str) { |
151 char* ui_passwordfield_get(UiString * str) { |
152 UiWidget* widget = (UiWidget*)str->obj; |
152 UiWidget* widget = (UiWidget*)str->obj; |
153 PasswordBox box = widget->uielement.as<PasswordBox>(); |
153 PasswordBox box = widget->uielement.as<PasswordBox>(); |
154 std::wstring wstr(box.Password()); |
154 std::wstring wstr(box.Password()); |
155 return tf_get(str, wstr); |
155 return ui_string_get(str, wstr); |
156 } |
156 } |
157 |
157 |
158 extern "C" void ui_passwordfield_set(UiString * str, const char* newvalue) { |
158 void ui_passwordfield_set(UiString * str, const char* newvalue) { |
159 UiWidget* widget = (UiWidget*)str->obj; |
159 UiWidget* widget = (UiWidget*)str->obj; |
160 PasswordBox box = widget->uielement.as<PasswordBox>(); |
160 PasswordBox box = widget->uielement.as<PasswordBox>(); |
161 box.Password(tf_set(str, newvalue)); |
161 box.Password(ui_string_set(str, newvalue)); |
162 } |
162 } |