X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkeditable.h;h=0e2441c4df6c4ed9261d2c307435aa8151d12e69;hb=aaedf5a35219b034a244730564b8fdf2b7d32540;hp=9fb5ba06adaadbc3af05e93507245e6e401e7161;hpb=dfba2269083ee8b943a490d2a25c74361c8468b2;p=~andy%2Fgtk diff --git a/gtk/gtkeditable.h b/gtk/gtkeditable.h index 9fb5ba06a..0e2441c4d 100644 --- a/gtk/gtkeditable.h +++ b/gtk/gtkeditable.h @@ -12,52 +12,60 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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. + * License along with this library. If not, see . */ /* * 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/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GTK_EDITABLE_H__ #define __GTK_EDITABLE_H__ -#include +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +G_BEGIN_DECLS #define GTK_TYPE_EDITABLE (gtk_editable_get_type ()) #define GTK_EDITABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EDITABLE, GtkEditable)) -#define GTK_EDITABLE_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_EDITABLE, GtkEditableClass)) #define GTK_IS_EDITABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EDITABLE)) -#define GTK_IS_EDITABLE_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_EDITABLE)) -#define GTK_EDITABLE_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_EDITABLE, GtkEditableClass)) +#define GTK_EDITABLE_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_EDITABLE, GtkEditableInterface)) -typedef struct _GtkEditable GtkEditable; /* Dummy typedef */ -typedef struct _GtkEditableClass GtkEditableClass; +typedef struct _GtkEditable GtkEditable; /* Dummy typedef */ +typedef struct _GtkEditableInterface GtkEditableInterface; -struct _GtkEditableClass +struct _GtkEditableInterface { GTypeInterface base_iface; - - /* Signals for notification/filtering of changes */ + + /* signals */ void (* insert_text) (GtkEditable *editable, - const gchar *text, - gint length, + 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); @@ -72,13 +80,13 @@ struct _GtkEditableClass gint (* get_position) (GtkEditable *editable); }; -GtkType gtk_editable_get_type (void) G_GNUC_CONST; +GType gtk_editable_get_type (void) G_GNUC_CONST; void gtk_editable_select_region (GtkEditable *editable, - gint start, - gint end); + gint start_pos, + gint end_pos); gboolean gtk_editable_get_selection_bounds (GtkEditable *editable, - gint *start, - gint *end); + gint *start_pos, + gint *end_pos); void gtk_editable_insert_text (GtkEditable *editable, const gchar *new_text, gint new_text_length, @@ -98,10 +106,8 @@ void gtk_editable_set_position (GtkEditable *editable, gint gtk_editable_get_position (GtkEditable *editable); void gtk_editable_set_editable (GtkEditable *editable, gboolean is_editable); +gboolean gtk_editable_get_editable (GtkEditable *editable); -#ifdef __cplusplus -} -#endif /* __cplusplus */ - +G_END_DECLS #endif /* __GTK_EDITABLE_H__ */