break;
case PROP_TEXT_COLUMN:
- gtk_entry_completion_set_text_column (completion,
- g_value_get_int (value));
+ priv->text_column = g_value_get_int (value);
break;
case PROP_INLINE_COMPLETION:
return above;
}
-void
-_gtk_entry_completion_popup (GtkEntryCompletion *completion)
+static void
+gtk_entry_completion_popup (GtkEntryCompletion *completion)
{
GtkTreeViewColumn *column;
GtkStyleContext *context;
if (gtk_widget_get_visible (completion->priv->popup_window))
_gtk_entry_completion_resize_popup (completion);
else
- _gtk_entry_completion_popup (completion);
+ gtk_entry_completion_popup (completion);
}
else
_gtk_entry_completion_popdown (completion);
}
}
+static void
+set_accessible_relation (GtkWidget *window,
+ GtkWidget *entry)
+{
+ AtkObject *window_accessible;
+ AtkObject *entry_accessible;
+
+ window_accessible = gtk_widget_get_accessible (window);
+ entry_accessible = gtk_widget_get_accessible (entry);
+
+ atk_object_add_relationship (window_accessible,
+ ATK_RELATION_POPUP_FOR,
+ entry_accessible);
+}
+
+static void
+unset_accessible_relation (GtkWidget *window,
+ GtkWidget *entry)
+{
+ AtkObject *window_accessible;
+ AtkObject *entry_accessible;
+
+ window_accessible = gtk_widget_get_accessible (window);
+ entry_accessible = gtk_widget_get_accessible (entry);
+
+ atk_object_remove_relationship (window_accessible,
+ ATK_RELATION_POPUP_FOR,
+ entry_accessible);
+}
static void
disconnect_completion_signals (GtkEntryCompletion *completion)
disconnect_completion_signals (completion);
+ unset_accessible_relation (completion->priv->popup_window,
+ completion->priv->entry);
+
completion->priv->entry = NULL;
}
GtkEntry *entry)
{
completion->priv->entry = GTK_WIDGET (entry);
+
+ set_accessible_relation (completion->priv->popup_window,
+ completion->priv->entry);
+
connect_completion_signals (completion);
}