ui/motif/text.h

branch
newapi
changeset 406
0ebf9d7b23e8
parent 253
087cc9216f28
child 414
ef60d527c066
equal deleted inserted replaced
405:a7f18dda6baf 406:0ebf9d7b23e8
35 35
36 #ifdef __cplusplus 36 #ifdef __cplusplus
37 extern "C" { 37 extern "C" {
38 #endif 38 #endif
39 39
40 #define UI_TEXTBUF_INSERT 0
41 #define UI_TEXTBUF_DELETE 1
42 typedef struct UiTextBufOp UiTextBufOp;
43 struct UiTextBufOp {
44 UiTextBufOp *prev;
45 UiTextBufOp *next;
46 int type; // UI_TEXTBUF_INSERT, UI_TEXTBUF_DELETE
47 int start;
48 int end;
49 int len;
50 char *text;
51 };
52
53 typedef struct UiUndoMgr {
54 UiTextBufOp *begin;
55 UiTextBufOp *end;
56 UiTextBufOp *cur;
57 int length;
58 int event;
59 } UiUndoMgr;
60
61 typedef struct UiTextArea {
62 UiContext *ctx;
63 int last_selection_state;
64 } UiTextArea;
65
66 char* ui_textarea_get(UiText *text);
67 void ui_textarea_set(UiText *text, const char *str);
68 char* ui_textarea_getsubstr(UiText *text, int begin, int end);
69 void ui_textarea_insert(UiText *text, int pos, char *str);
70 void ui_textarea_setposition(UiText *text, int pos);
71 int ui_textarea_position(UiText *text);
72 void ui_textarea_selection(UiText *text, int *begin, int *end);
73 int ui_textarea_length(UiText *text);
74
75 UiUndoMgr* ui_create_undomgr();
76 void ui_destroy_undomgr(UiUndoMgr *mgr);
77 void ui_text_selection_callback(
78 Widget widget,
79 UiTextArea *textarea,
80 XtPointer data);
81 void ui_text_modify_callback(Widget widget, UiVar *var, XtPointer data);
82 int ui_check_insertstr(char *oldstr, int oldlen, char *newstr, int newlen);
83 void ui_free_textbuf_op(UiTextBufOp *op);
84
85 char* ui_textfield_get(UiString *str);
86 void ui_textfield_set(UiString *str, char *value);
87
88 #ifdef __cplusplus 40 #ifdef __cplusplus
89 } 41 }
90 #endif 42 #endif
91 43
92 #endif /* TEXT_H */ 44 #endif /* TEXT_H */

mercurial