| 184 value->set = ui_textarea_set; |
184 value->set = ui_textarea_set; |
| 185 value->getsubstr = ui_textarea_getsubstr; |
185 value->getsubstr = ui_textarea_getsubstr; |
| 186 value->insert = ui_textarea_insert; |
186 value->insert = ui_textarea_insert; |
| 187 value->setposition = ui_textarea_setposition; |
187 value->setposition = ui_textarea_setposition; |
| 188 value->position = ui_textarea_position; |
188 value->position = ui_textarea_position; |
| |
189 value->setselection = ui_textarea_setselection; |
| 189 value->selection = ui_textarea_selection; |
190 value->selection = ui_textarea_selection; |
| 190 value->length = ui_textarea_length; |
191 value->length = ui_textarea_length; |
| 191 value->remove = ui_textarea_remove; |
192 value->remove = ui_textarea_remove; |
| 192 value->data1 = buf; |
193 value->data1 = buf; |
| 193 value->data2 = NULL; |
194 value->data2 = NULL; |
| 291 GtkTextIter begin; |
292 GtkTextIter begin; |
| 292 GtkTextIter end; |
293 GtkTextIter end; |
| 293 gtk_text_buffer_get_selection_bounds(text->data1, &begin, &end); |
294 gtk_text_buffer_get_selection_bounds(text->data1, &begin, &end); |
| 294 text->pos = gtk_text_iter_get_offset(&begin); |
295 text->pos = gtk_text_iter_get_offset(&begin); |
| 295 return text->pos; |
296 return text->pos; |
| |
297 } |
| |
298 |
| |
299 void ui_textarea_setselection(UiText *text, int begin, int end) { |
| |
300 GtkTextBuffer *buf = text->data1; |
| |
301 GtkTextIter ib; |
| |
302 GtkTextIter ie; |
| |
303 gtk_text_buffer_get_iter_at_offset(text->data1, &ib, begin); |
| |
304 gtk_text_buffer_get_iter_at_offset(text->data1, &ie, end); |
| |
305 gtk_text_buffer_select_range(buf, &ib, &ie); |
| 296 } |
306 } |
| 297 |
307 |
| 298 void ui_textarea_selection(UiText *text, int *begin, int *end) { |
308 void ui_textarea_selection(UiText *text, int *begin, int *end) { |
| 299 GtkTextIter b; |
309 GtkTextIter b; |
| 300 GtkTextIter e; |
310 GtkTextIter e; |