51 UcxList *begin; |
51 UcxList *begin; |
52 UcxList *cur; |
52 UcxList *cur; |
53 int length; |
53 int length; |
54 int event; |
54 int event; |
55 } UiUndoMgr; |
55 } UiUndoMgr; |
|
56 |
|
57 typedef struct UiTextArea { |
|
58 UiContext *ctx; |
|
59 int last_selection_state; |
|
60 } UiTextArea; |
56 |
61 |
57 char* ui_textarea_get(UiText *text); |
62 char* ui_textarea_get(UiText *text); |
58 void ui_textarea_set(UiText *text, char *str); |
63 void ui_textarea_set(UiText *text, char *str); |
59 char* ui_textarea_getsubstr(UiText *text, int begin, int end); |
64 char* ui_textarea_getsubstr(UiText *text, int begin, int end); |
60 void ui_textarea_insert(UiText *text, int pos, char *str); |
65 void ui_textarea_insert(UiText *text, int pos, char *str); |
61 |
66 |
62 UiUndoMgr* ui_create_undomgr(); |
67 UiUndoMgr* ui_create_undomgr(); |
|
68 void ui_text_selection_callback( |
|
69 Widget widget, |
|
70 UiTextArea *textarea, |
|
71 XtPointer data); |
63 void ui_text_modify_callback(Widget widget, UiText *value, XtPointer data); |
72 void ui_text_modify_callback(Widget widget, UiText *value, XtPointer data); |
64 int ui_check_insertstr(char *oldstr, int oldlen, char *newstr, int newlen); |
73 int ui_check_insertstr(char *oldstr, int oldlen, char *newstr, int newlen); |
65 void ui_free_textbuf_op(UiTextBufOp *op); |
74 void ui_free_textbuf_op(UiTextBufOp *op); |
66 |
75 |
67 #ifdef __cplusplus |
76 #ifdef __cplusplus |