2 * Copyright (C) 2003 Kristian Rietveld <kris@gtk.org>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
20 #ifndef __GTK_ENTRY_PRIVATE_H__
21 #define __GTK_ENTRY_PRIVATE_H__
23 #include <gtk/gtktreeviewcolumn.h>
24 #include <gtk/gtktreemodelfilter.h>
25 #include <gtk/gtkliststore.h>
26 #include <gtk/gtkentrycompletion.h>
27 #include <gtk/gtkentry.h>
31 struct _GtkEntryCompletionPrivate
36 GtkTreeViewColumn *column;
37 GtkTreeModelFilter *filter_model;
38 GtkListStore *actions;
39 gboolean first_sel_changed;
40 GtkCellArea *cell_area;
42 GtkEntryCompletionMatchFunc match_func;
44 GDestroyNotify match_notify;
46 gint minimum_key_length;
48 gint current_selected;
50 gchar *case_normalized_key;
52 /* only used by GtkEntry when attached: */
53 GtkWidget *popup_window;
55 GtkWidget *scrolled_window;
56 GtkWidget *action_view;
58 gulong completion_timeout;
60 gulong insert_text_id;
62 guint ignore_enter : 1;
63 guint has_completion : 1;
64 guint inline_completion : 1;
65 guint popup_completion : 1;
66 guint popup_set_width : 1;
67 guint popup_single_match : 1;
68 guint inline_selection : 1;
70 gchar *completion_prefix;
72 GSource *check_completion_idle;
74 GdkDevice *grab_device;
77 gboolean _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion);
78 void _gtk_entry_completion_popup (GtkEntryCompletion *completion,
80 void _gtk_entry_completion_popdown (GtkEntryCompletion *completion);
82 void _gtk_entry_get_borders (GtkEntry *entry,
85 void _gtk_entry_effective_inner_border (GtkEntry *entry,
87 void _gtk_entry_reset_im_context (GtkEntry *entry);
88 GtkIMContext* _gtk_entry_get_im_context (GtkEntry *entry);
89 void _gtk_entry_set_is_cell_renderer (GtkEntry *entry,
90 gboolean is_cell_renderer);
95 #endif /* __GTK_ENTRY_PRIVATE_H__ */