Added SILC Thread Queue API
[crypto.git] / apps / irssi / src / fe-text / gui-entry.h
index 364f92da3a6700042fb2abb778410daa529277b1..e5ab672a9b2fb71a508de94e9d68be752addd856 100644 (file)
@@ -2,7 +2,13 @@
 #define __GUI_ENTRY_H
 
 typedef struct {
-       GString *text;
+       int text_len, text_alloc; /* as shorts, not chars */
+       unichar *text;
+
+        int cutbuffer_len;
+       unichar *cutbuffer;
+
+        /* all as shorts, not chars */
        int xpos, ypos, width; /* entry position in screen */
        int pos, scrstart, scrpos; /* cursor position */
         int hidden; /* print the chars as spaces in input line (useful for passwords) */
@@ -28,14 +34,24 @@ void gui_entry_set_utf8(GUI_ENTRY_REC *entry, int utf8);
 
 void gui_entry_set_text(GUI_ENTRY_REC *entry, const char *str);
 char *gui_entry_get_text(GUI_ENTRY_REC *entry);
+char *gui_entry_get_text_and_pos(GUI_ENTRY_REC *entry, int *pos);
 
 void gui_entry_insert_text(GUI_ENTRY_REC *entry, const char *str);
-void gui_entry_insert_char(GUI_ENTRY_REC *entry, char chr);
+void gui_entry_insert_char(GUI_ENTRY_REC *entry, unichar chr);
 
-void gui_entry_erase(GUI_ENTRY_REC *entry, int size);
+char *gui_entry_get_cutbuffer(GUI_ENTRY_REC *entry);
+void gui_entry_erase_to(GUI_ENTRY_REC *entry, int pos, int update_cutbuffer);
+void gui_entry_erase(GUI_ENTRY_REC *entry, int size, int update_cutbuffer);
 void gui_entry_erase_word(GUI_ENTRY_REC *entry, int to_space);
 void gui_entry_erase_next_word(GUI_ENTRY_REC *entry, int to_space);
 
+void gui_entry_transpose_chars(GUI_ENTRY_REC *entry);
+void gui_entry_transpose_words(GUI_ENTRY_REC *entry);
+
+void gui_entry_capitalize_word(GUI_ENTRY_REC *entry);
+void gui_entry_downcase_word(GUI_ENTRY_REC *entry);
+void gui_entry_upcase_word(GUI_ENTRY_REC *entry);
+
 int gui_entry_get_pos(GUI_ENTRY_REC *entry);
 void gui_entry_set_pos(GUI_ENTRY_REC *entry, int pos);
 void gui_entry_move_pos(GUI_ENTRY_REC *entry, int pos);