#include <gdk/gdk.h>
#include <gtk/gtkeditable.h>
#include <gtk/gtkimcontext.h>
+#include <gtk/gtkmenu.h>
#include <pango/pango.h>
#ifdef __cplusplus
guint need_im_reset : 1;
guint has_frame : 1;
-
+
+ guint activates_default : 1;
+
+ guint cursor_visible : 1;
+
+ guint in_click : 1; /* Flag so we don't select all when clicking in entry to focus in */
+
+ guint is_cell_renderer : 1;
+
guint button;
- guint timer;
+ guint blink_timeout;
guint recompute_idle;
gint scroll_offset;
gint ascent; /* font ascent, in pango units */
gint drag_start_y;
gunichar invisible_char;
+
+ gint width_chars;
+
+ GdkGC *cursor_gc;
};
struct _GtkEntryClass
{
GtkWidgetClass parent_class;
-
- /* Notification of changes
- */
- void (* changed) (GtkEntry *entry);
- void (* insert_text) (GtkEntry *entry,
- const gchar *text,
- gint length,
- gint *position);
- void (* delete_text) (GtkEntry *entry,
- gint start_pos,
- gint end_pos);
+ /* Hook to customize right-click popup */
+ void (* populate_popup) (GtkEntry *entry,
+ GtkMenu *menu);
+
/* Action signals
*/
void (* activate) (GtkEntry *entry);
GtkWidget* gtk_entry_new (void);
void gtk_entry_set_visibility (GtkEntry *entry,
gboolean visible);
+gboolean gtk_entry_get_visibility (GtkEntry *entry);
void gtk_entry_set_invisible_char (GtkEntry *entry,
gunichar ch);
-void gtk_entry_set_editable (GtkEntry *entry,
- gboolean editable);
+gunichar gtk_entry_get_invisible_char (GtkEntry *entry);
void gtk_entry_set_has_frame (GtkEntry *entry,
gboolean setting);
gboolean gtk_entry_get_has_frame (GtkEntry *entry);
/* text is truncated if needed */
void gtk_entry_set_max_length (GtkEntry *entry,
- guint16 max);
+ gint max);
+gint gtk_entry_get_max_length (GtkEntry *entry);
+void gtk_entry_set_activates_default (GtkEntry *entry,
+ gboolean setting);
+gboolean gtk_entry_get_activates_default (GtkEntry *entry);
+
+void gtk_entry_set_width_chars (GtkEntry *entry,
+ gint n_chars);
+gint gtk_entry_get_width_chars (GtkEntry *entry);
/* Somewhat more convenient than the GtkEditable generic functions
*/
/* returns a reference to the text */
G_CONST_RETURN gchar* gtk_entry_get_text (GtkEntry *entry);
+PangoLayout* gtk_entry_get_layout (GtkEntry *entry);
+void gtk_entry_get_layout_offsets (GtkEntry *entry,
+ gint *x,
+ gint *y);
+
/* Deprecated compatibility functions
*/
-GtkWidget* gtk_entry_new_with_max_length (guint16 max);
+
+#ifndef GTK_DISABLE_DEPRECATED
+GtkWidget* gtk_entry_new_with_max_length (gint max);
void gtk_entry_append_text (GtkEntry *entry,
const gchar *text);
void gtk_entry_prepend_text (GtkEntry *entry,
void gtk_entry_select_region (GtkEntry *entry,
gint start,
gint end);
+void gtk_entry_set_editable (GtkEntry *entry,
+ gboolean editable);
+#endif /* GTK_DISABLE_DEPRECATED */
#ifdef __cplusplus
}