ui/gtk/text.h

changeset 6
05a18c56d9ca
parent 5
19d37cb9c96c
child 12
fe94e0fb9ef3
--- a/ui/gtk/text.h	Sat Mar 22 19:45:44 2014 +0100
+++ b/ui/gtk/text.h	Mon Mar 24 11:21:59 2014 +0100
@@ -31,11 +31,29 @@
 
 #include "../ui/text.h"
 #include "toolkit.h"
+#include "../../ucx/list.h"
 
 #ifdef	__cplusplus
 extern "C" {
 #endif
 
+#define UI_TEXTBUF_INSERT 0
+#define UI_TEXTBUF_DELETE 1
+typedef struct UiTextBufOp {
+    int  type; // UI_TEXTBUF_INSERT, UI_TEXTBUF_DELETE
+    int  start;
+    int  end;
+    int  len;
+    char *text;
+} UiTextBufOp;
+
+typedef struct UiUndoMgr {
+    UcxList *begin;
+    UcxList *cur;
+    int     length;
+    int     event;
+} UiUndoMgr;
+
 char* ui_textarea_get(UiText *text);
 void ui_textarea_set(UiText *text, char *str);
 void ui_textarea_realize_event(GtkWidget *widget, gpointer data);
@@ -50,6 +68,9 @@
         GtkTextIter *start,
         GtkTextIter *end,
         void *data);
+UiUndoMgr* ui_create_undomgr();
+void ui_free_textbuf_op(UiTextBufOp *op);
+int ui_check_insertstr(char *oldstr, int oldlen, char *newstr, int newlen);
 
 #ifdef	__cplusplus
 }

mercurial