#include "gtkmarshalers.h"
#include "gtkintl.h"
+#include "gtkentryprivate.h"
#include "gtktreeprivate.h"
if (priv->has_entry)
{
+ /* this flag is a hack to tell the entry to fill its allocation.
+ */
+ _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), TRUE);
+
g_signal_connect (widget, "changed",
G_CALLBACK (gtk_combo_box_entry_contents_changed),
combo_box);
g_signal_handlers_disconnect_by_func (widget,
gtk_combo_box_entry_contents_changed,
container);
+ _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), FALSE);
}
}
else
remove_capslock_feedback (entry);
}
+
+/*
+ * _gtk_entry_set_is_cell_renderer:
+ * @entry: a #GtkEntry
+ * @is_cell_renderer: new value
+ *
+ * This is a helper function for GtkComboBox. A GtkEntry in a GtkComboBox
+ * is supposed to behave like a GtkCellEditable when placed in a combo box.
+ *
+ * I.e take up it's allocation and get GtkEntry->is_cell_renderer = TRUE.
+ *
+ */
+void
+_gtk_entry_set_is_cell_renderer (GtkEntry *entry,
+ gboolean is_cell_renderer)
+{
+ entry->priv->is_cell_renderer = is_cell_renderer;
+}
GtkBorder *border);
void _gtk_entry_reset_im_context (GtkEntry *entry);
GtkIMContext* _gtk_entry_get_im_context (GtkEntry *entry);
+void _gtk_entry_set_is_cell_renderer (GtkEntry *entry,
+ gboolean is_cell_renderer);
+
+
G_END_DECLS
#endif /* __GTK_ENTRY_PRIVATE_H__ */