-gtk_editable_class_init (GtkEditableClass *class)
-{
- GtkObjectClass *object_class;
- GtkWidgetClass *widget_class;
-
- object_class = (GtkObjectClass*) class;
- widget_class = (GtkWidgetClass*) class;
-
- parent_class = gtk_type_class (GTK_TYPE_WIDGET);
-
- editable_signals[CHANGED] =
- gtk_signal_new ("changed",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, changed),
- gtk_marshal_VOID__VOID,
- GTK_TYPE_NONE, 0);
-
- editable_signals[INSERT_TEXT] =
- gtk_signal_new ("insert_text",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, insert_text),
- gtk_marshal_VOID__POINTER_INT_POINTER,
- GTK_TYPE_NONE,
- 3,
- GTK_TYPE_STRING,
- GTK_TYPE_INT,
- GTK_TYPE_POINTER);
-
- editable_signals[DELETE_TEXT] =
- gtk_signal_new ("delete_text",
- GTK_RUN_LAST,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, delete_text),
- gtk_marshal_VOID__INT_INT,
- GTK_TYPE_NONE,
- 2,
- GTK_TYPE_INT,
- GTK_TYPE_INT);
-
- editable_signals[ACTIVATE] =
- gtk_signal_new ("activate",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, activate),
- gtk_marshal_VOID__VOID,
- GTK_TYPE_NONE, 0);
- widget_class->activate_signal = editable_signals[ACTIVATE];
-
- editable_signals[SET_EDITABLE] =
- gtk_signal_new ("set-editable",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, set_editable),
- gtk_marshal_VOID__BOOLEAN,
- GTK_TYPE_NONE, 1,
- GTK_TYPE_BOOL);
-
- editable_signals[MOVE_CURSOR] =
- gtk_signal_new ("move_cursor",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, move_cursor),
- gtk_marshal_VOID__INT_INT,
- GTK_TYPE_NONE, 2,
- GTK_TYPE_INT,
- GTK_TYPE_INT);
-
- editable_signals[MOVE_WORD] =
- gtk_signal_new ("move_word",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, move_word),
- gtk_marshal_VOID__INT,
- GTK_TYPE_NONE, 1,
- GTK_TYPE_INT);
-
- editable_signals[MOVE_PAGE] =
- gtk_signal_new ("move_page",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, move_page),
- gtk_marshal_VOID__INT_INT,
- GTK_TYPE_NONE, 2,
- GTK_TYPE_INT,
- GTK_TYPE_INT);
-
- editable_signals[MOVE_TO_ROW] =
- gtk_signal_new ("move_to_row",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, move_to_row),
- gtk_marshal_VOID__INT,
- GTK_TYPE_NONE, 1,
- GTK_TYPE_INT);
-
- editable_signals[MOVE_TO_COLUMN] =
- gtk_signal_new ("move_to_column",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, move_to_column),
- gtk_marshal_VOID__INT,
- GTK_TYPE_NONE, 1,
- GTK_TYPE_INT);
-
- editable_signals[KILL_CHAR] =
- gtk_signal_new ("kill_char",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, kill_char),
- gtk_marshal_VOID__INT,
- GTK_TYPE_NONE, 1,
- GTK_TYPE_INT);
-
- editable_signals[KILL_WORD] =
- gtk_signal_new ("kill_word",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, kill_word),
- gtk_marshal_VOID__INT,
- GTK_TYPE_NONE, 1,
- GTK_TYPE_INT);
-
- editable_signals[KILL_LINE] =
- gtk_signal_new ("kill_line",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, kill_line),
- gtk_marshal_VOID__INT,
- GTK_TYPE_NONE, 1,
- GTK_TYPE_INT);
-
- editable_signals[CUT_CLIPBOARD] =
- gtk_signal_new ("cut_clipboard",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, cut_clipboard),
- gtk_marshal_VOID__VOID,
- GTK_TYPE_NONE, 0);
-
- editable_signals[COPY_CLIPBOARD] =
- gtk_signal_new ("copy_clipboard",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, copy_clipboard),
- gtk_marshal_VOID__VOID,
- GTK_TYPE_NONE, 0);
-
- editable_signals[PASTE_CLIPBOARD] =
- gtk_signal_new ("paste_clipboard",
- GTK_RUN_LAST | GTK_RUN_ACTION,
- GTK_CLASS_TYPE (object_class),
- GTK_SIGNAL_OFFSET (GtkEditableClass, paste_clipboard),
- gtk_marshal_VOID__VOID,
- GTK_TYPE_NONE, 0);
-
- gtk_object_class_add_signals (object_class, editable_signals, LAST_SIGNAL);
-
- gtk_object_add_arg_type ("GtkEditable::text_position", GTK_TYPE_INT, GTK_ARG_READWRITE, ARG_TEXT_POSITION);
- gtk_object_add_arg_type ("GtkEditable::editable", GTK_TYPE_BOOL, GTK_ARG_READWRITE, ARG_EDITABLE);
-
- object_class->set_arg = gtk_editable_set_arg;
- object_class->get_arg = gtk_editable_get_arg;
-
- widget_class->selection_clear_event = gtk_editable_selection_clear;
- widget_class->selection_received = gtk_editable_selection_received;
- widget_class->selection_get = gtk_editable_selection_get;
-
- class->insert_text = NULL;
- class->delete_text = NULL;
-
- class->activate = NULL;
- class->set_editable = gtk_editable_real_set_editable;
-
- class->move_cursor = NULL;
- class->move_word = NULL;
- class->move_page = NULL;
- class->move_to_row = NULL;
- class->move_to_column = NULL;
-
- class->kill_char = NULL;
- class->kill_word = NULL;
- class->kill_line = NULL;
-
- class->cut_clipboard = gtk_editable_real_cut_clipboard;
- class->copy_clipboard = gtk_editable_real_copy_clipboard;
- class->paste_clipboard = gtk_editable_real_paste_clipboard;
-
- class->update_text = NULL;
- class->get_chars = NULL;
- class->set_selection = NULL;
- class->set_position = NULL;
-}
-
-static void
-gtk_editable_set_arg (GtkObject *object,
- GtkArg *arg,
- guint arg_id)