Index: gtk/gtkwidget.c
===================================================================
--- gtk/gtkwidget.c	(Revision 20692)
+++ gtk/gtkwidget.c	(Arbeitskopie)
@@ -9923,5 +9923,122 @@ gtk_widget_get_window (GtkWidget *widget
   return widget->window;
 }
 
+/**
+ * gtk_widget_set_has_window:
+ * @widget: a #GtkWidget
+ * @has_window: whether or not @widget has a window.
+ *
+ * Specifies whether @widget has a #GdkWindow.
+ *
+ * Since: 2.14
+ */
+void
+gtk_widget_set_has_window (GtkWidget *widget,
+                           gboolean   has_window)
+{
+  g_return_if_fail (GTK_IS_WIDGET (widget));
+
+  if (has_window)
+      GTK_WIDGET_UNSET_FLAGS (widget, GTK_NO_WINDOW);
+  else
+      GTK_WIDGET_SET_FLAGS (widget, GTK_NO_WINDOW);
+}
+
+/**
+ * gtk_widget_get_has_window:
+ * @widget: a #GtkWidget
+ *
+ * Determines whether @widget has a #GdkWindow.
+ *
+ * Return value: %TRUE if @widget has a window, %FALSE otherwise
+ *
+ * Since: 2.14
+ */
+gboolean
+gtk_widget_get_has_window (GtkWidget *widget)
+{
+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+
+  return (GTK_WIDGET_FLAGS (widget) & GTK_NO_WINDOW) == 0;
+}
+
+/**
+ * gtk_widget_set_can_default:
+ * @widget: a #GtkWidget
+ * @can_default: whether or not @widget can be a default widget.
+ *
+ * Specifies whether @widget can be a default widget.
+ *
+ * Since: 2.14
+ */
+void
+gtk_widget_set_can_default (GtkWidget *widget,
+                            gboolean   can_default)
+{
+  g_return_if_fail (GTK_IS_WIDGET (widget));
+
+  if (can_default)
+      GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_DEFAULT);
+  else
+      GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_DEFAULT);
+}
+
+/**
+ * gtk_widget_get_can_default:
+ * @widget: a #GtkWidget
+ *
+ * Determines whether @widget can be a default widget.
+ *
+ * Return value: %TRUE if @widget can be a default widget, %FALSE otherwise
+ *
+ * Since: 2.14
+ */
+gboolean
+gtk_widget_get_can_default (GtkWidget *widget)
+{
+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+
+  return (GTK_WIDGET_FLAGS (widget) & GTK_CAN_DEFAULT) == 0;
+}
+
+/**
+ * gtk_widget_set_can_focus:
+ * @widget: a #GtkWidget
+ * @can_focus: whether or not @widget can be a default widget.
+ *
+ * Specifies whether @widget can be a default widget.
+ *
+ * Since: 2.14
+ */
+void
+gtk_widget_set_can_focus (GtkWidget *widget,
+                          gboolean   can_focus)
+{
+  g_return_if_fail (GTK_IS_WIDGET (widget));
+
+  if (can_focus)
+      GTK_WIDGET_SET_FLAGS (widget, GTK_CAN_FOCUS);
+  else
+      GTK_WIDGET_UNSET_FLAGS (widget, GTK_CAN_FOCUS);
+}
+
+/**
+ * gtk_widget_get_can_focus:
+ * @widget: a #GtkWidget
+ *
+ * Determines whether @widget can grab the focus.
+ *
+ * Return value: %TRUE if @widget can grab the focus, %FALSE otherwise
+ *
+ * Since: 2.14
+ */
+gboolean
+gtk_widget_get_can_focus (GtkWidget *widget)
+{
+  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+
+  return (GTK_WIDGET_FLAGS (widget) & GTK_CAN_FOCUS) == 0;
+}
+
 #define __GTK_WIDGET_C__
 #include "gtkaliasdef.c"
Index: gtk/gtkwidget.h
===================================================================
--- gtk/gtkwidget.h	(Revision 20692)
+++ gtk/gtkwidget.h	(Arbeitskopie)
@@ -812,6 +812,15 @@ gchar *    gtk_widget_get_tooltip_markup
 void       gtk_widget_set_has_tooltip       (GtkWidget   *widget,
 					     gboolean     has_tooltip);
 gboolean   gtk_widget_get_has_tooltip       (GtkWidget   *widget);
+void       gtk_widget_set_has_window        (GtkWidget   *widget,
+                                             gboolean     has_window);
+gboolean   gtk_widget_get_has_window        (GtkWidget   *widget);
+void       gtk_widget_set_can_default       (GtkWidget   *widget,
+                                             gboolean     can_default);
+gboolean   gtk_widget_get_can_default       (GtkWidget   *widget);
+void       gtk_widget_set_can_focus         (GtkWidget   *widget,
+                                             gboolean     can_focus);
+gboolean   gtk_widget_get_can_focus         (GtkWidget   *widget);
 
 GType           gtk_requisition_get_type (void) G_GNUC_CONST;
 GtkRequisition *gtk_requisition_copy     (const GtkRequisition *requisition);
Index: gtk/gtk.symbols
===================================================================
--- gtk/gtk.symbols	(Revision 20692)
+++ gtk/gtk.symbols	(Arbeitskopie)
@@ -4791,6 +4791,12 @@ gtk_widget_unparent
 gtk_widget_unrealize
 gtk_widget_get_allocation
 gtk_widget_get_window
+gtk_widget_set_has_window
+gtk_widget_get_has_window
+gtk_widget_set_can_default
+gtk_widget_get_can_default
+gtk_widget_set_can_focus
+gtk_widget_get_can_focus
 #endif
 #endif
 
