X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkeditable.h;h=0e2441c4df6c4ed9261d2c307435aa8151d12e69;hb=aaedf5a35219b034a244730564b8fdf2b7d32540;hp=be8c1ef9bd239d1dc0e8bccd9f8043365e7f6ab3;hpb=3322a264e01b55c1f1c83724756dc1419b107311;p=~andy%2Fgtk
diff --git a/gtk/gtkeditable.h b/gtk/gtkeditable.h
index be8c1ef9b..0e2441c4d 100644
--- a/gtk/gtkeditable.h
+++ b/gtk/gtkeditable.h
@@ -2,151 +2,112 @@
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
+ * modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see .
*/
-#ifndef __GTK_EDITABLE_H__
-#define __GTK_EDITABLE_H__
-
-
-#include
-#include
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+/*
+ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
+ * file for a list of people on the GTK+ Team. See the ChangeLog
+ * files for a list of changes. These files are distributed with
+ * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
+ */
-#define GTK_TYPE_EDITABLE (gtk_editable_get_type ())
-#define GTK_EDITABLE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_EDITABLE, GtkEditable))
-#define GTK_EDITABLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_EDITABLE, GtkEditableClass))
-#define GTK_IS_EDITABLE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_EDITABLE))
-#define GTK_IS_EDITABLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EDITABLE))
+#ifndef __GTK_EDITABLE_H__
+#define __GTK_EDITABLE_H__
-typedef struct _GtkEditable GtkEditable;
-typedef struct _GtkEditableClass GtkEditableClass;
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only can be included directly."
+#endif
-typedef void (*GtkTextFunction) (GtkEditable *editable, guint32 time);
+#include
-struct _GtkEditable
-{
- GtkWidget widget;
- guint current_pos;
+G_BEGIN_DECLS
- guint selection_start_pos;
- guint selection_end_pos;
- guint has_selection : 1;
- guint editable : 1;
- GdkIC ic;
+#define GTK_TYPE_EDITABLE (gtk_editable_get_type ())
+#define GTK_EDITABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EDITABLE, GtkEditable))
+#define GTK_IS_EDITABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EDITABLE))
+#define GTK_EDITABLE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_EDITABLE, GtkEditableInterface))
- gchar *clipboard_text;
-};
+typedef struct _GtkEditable GtkEditable; /* Dummy typedef */
+typedef struct _GtkEditableInterface GtkEditableInterface;
-struct _GtkEditableClass
+struct _GtkEditableInterface
{
- 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);
};
-GtkType gtk_editable_get_type (void);
-void gtk_editable_select_region (GtkEditable *editable,
- gint start,
- gint end);
-void gtk_editable_insert_text (GtkEditable *editable,
- const gchar *new_text,
- gint new_text_length,
- gint *position);
-void gtk_editable_delete_text (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
-gchar* gtk_editable_get_chars (GtkEditable *editable,
- gint start_pos,
- gint end_pos);
-void gtk_editable_cut_clipboard (GtkEditable *editable);
-void gtk_editable_copy_clipboard (GtkEditable *editable);
-void gtk_editable_paste_clipboard (GtkEditable *editable);
-void gtk_editable_claim_selection (GtkEditable *editable,
- gboolean claim,
- guint32 time);
-void gtk_editable_delete_selection (GtkEditable *editable);
-
-void gtk_editable_changed (GtkEditable *editable);
-void gtk_editable_set_position (GtkEditable *editable,
- gint position);
-gint gtk_editable_get_position (GtkEditable *editable);
-void gtk_editable_set_editable (GtkEditable *editable,
- gboolean is_editable);
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
+GType gtk_editable_get_type (void) G_GNUC_CONST;
+void gtk_editable_select_region (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+gboolean gtk_editable_get_selection_bounds (GtkEditable *editable,
+ gint *start_pos,
+ gint *end_pos);
+void gtk_editable_insert_text (GtkEditable *editable,
+ const gchar *new_text,
+ gint new_text_length,
+ gint *position);
+void gtk_editable_delete_text (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+gchar* gtk_editable_get_chars (GtkEditable *editable,
+ gint start_pos,
+ gint end_pos);
+void gtk_editable_cut_clipboard (GtkEditable *editable);
+void gtk_editable_copy_clipboard (GtkEditable *editable);
+void gtk_editable_paste_clipboard (GtkEditable *editable);
+void gtk_editable_delete_selection (GtkEditable *editable);
+void gtk_editable_set_position (GtkEditable *editable,
+ gint position);
+gint gtk_editable_get_position (GtkEditable *editable);
+void gtk_editable_set_editable (GtkEditable *editable,
+ gboolean is_editable);
+gboolean gtk_editable_get_editable (GtkEditable *editable);
+
+G_END_DECLS
#endif /* __GTK_EDITABLE_H__ */