- GtkWidgetClass parent_class;
-
- /* Signals for notification/filtering of changes */
- void (* changed) (GtkEditable *editable);
- void (* insert_text) (GtkEditable *editable,
- const gchar *text,
- gint length,
- gint *position);
- void (* delete_text) (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
-
- /* Bindings actions */
- void (* activate) (GtkEditable *editable);
- void (* set_editable) (GtkEditable *editable,
- gboolean is_editable);
- void (* move_cursor) (GtkEditable *editable,
- gint x,
- gint y);
- void (* move_word) (GtkEditable *editable,
- gint n);
- void (* move_page) (GtkEditable *editable,
- gint x,
- gint y);
- void (* move_to_row) (GtkEditable *editable,
- gint row);
- void (* move_to_column) (GtkEditable *editable,
- gint row);
- void (* kill_char) (GtkEditable *editable,
- gint direction);
- void (* kill_word) (GtkEditable *editable,
- gint direction);
- void (* kill_line) (GtkEditable *editable,
- gint direction);
- void (* cut_clipboard) (GtkEditable *editable);
- void (* copy_clipboard) (GtkEditable *editable);
- void (* paste_clipboard) (GtkEditable *editable);
-
- /* Virtual functions. get_chars is in paricular not a signal because
- * it returns malloced memory. The others are not signals because
- * they would not be particularly useful as such. (All changes to
- * selection and position do not go through these functions)
- */
- void (* update_text) (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
- gchar* (* get_chars) (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
- void (* set_selection)(GtkEditable *editable,
- gint start_pos,
- gint end_pos);
- void (* set_position) (GtkEditable *editable,
- gint position);
+ GTypeInterface base_iface;
+
+ /* signals */
+ void (* insert_text) (GtkEditable *editable,
+ const gchar *new_text,
+ gint new_text_length,
+ gint *position);
+ void (* delete_text) (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+ void (* changed) (GtkEditable *editable);
+
+ /* vtable */
+ void (* do_insert_text) (GtkEditable *editable,
+ const gchar *new_text,
+ gint new_text_length,
+ gint *position);
+ void (* do_delete_text) (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+
+ gchar* (* get_chars) (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+ void (* set_selection_bounds) (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+ gboolean (* get_selection_bounds) (GtkEditable *editable,
+ gint *start_pos,
+ gint *end_pos);
+ void (* set_position) (GtkEditable *editable,
+ gint position);
+ gint (* get_position) (GtkEditable *editable);