However, in practice it is convenient to have widgets which do
not have a <classname>GdkWindow</classname> of their own, but
rather share the one from their parent widget. Such widgets
- have the <constant>GTK_NO_WINDOW</constant> <link
- linkend="GtkWidgetFlags">widget flag</link> turned on; this
- can be tested easily with the <link
- linkend="GTK-WIDGET-NO-WINDOW-CAPS"><function>GTK_WIDGET_NO_WINDOW()</function></link>
- macro. As such, these are called <firstterm>no-window
+ have called <function>gtk_widget_set_has_window</function> to
+ disable it; this can be tested easily with the <link
+ linkend="gtk-widget-get-has-window"><function>gtk_widget_get_has_window()</function></link>
+ function. As such, these are called <firstterm>no-window
widgets</firstterm>.
</para>
<para>
A widget that does not have a GdkWindow of its own on which to
draw its contents, but rather shares its <glossterm
- linkend="parent">parent's</glossterm>. Such a widget has the
- %GTK_NO_WINDOW <link linkend="GtkWidgetFlags">flag</link> set, and
- can be tested with the GTK_WIDGET_NO_WINDOW() macro. See
+ linkend="parent">parent's</glossterm>. This can be tested with
+ the gtk_widget_get_has_window() function. See
<xref linkend="window-no-window-widgets"/> for a detailed
description of this flag.
</para>
</para>
-<!-- ##### MACRO GTK_OBJECT_TYPE ##### -->
-<para>
-Gets the type of an object.
-</para>
-
-@object: a #GtkObject.
-
-
-<!-- ##### MACRO GTK_OBJECT_TYPE_NAME ##### -->
-<para>
-Gets the name of an objects type.
-</para>
-
-@object: a #GtkObject.
-
<!-- ##### ENUM GtkObjectFlags ##### -->
<para>
g_return_val_if_fail (GTK_IS_ASSISTANT (assistant), 0);
g_return_val_if_fail (GTK_IS_WIDGET (page), 0);
g_return_val_if_fail (page->parent == NULL, 0);
- g_return_val_if_fail (!GTK_WIDGET_TOPLEVEL (page), 0);
+ g_return_val_if_fail (!gtk_widget_is_toplevel (page), 0);
priv = assistant->priv;
/* The window to which widget->window is relative */
#define ALLOCATION_WINDOW(widget) \
- (GTK_WIDGET_NO_WINDOW (widget) ? \
+ (!gtk_widget_get_has_window (widget) ? \
(widget)->window : \
gdk_window_get_parent ((widget)->window))
color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog);
- if (GTK_WIDGET_TOPLEVEL (parent) && GTK_IS_WINDOW (parent))
+ if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
{
if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (color_dialog)))
gtk_window_set_transient_for (GTK_WINDOW (color_dialog), GTK_WINDOW (parent));
sx = sy = 0;
- if (GTK_WIDGET_NO_WINDOW (child))
+ if (!gtk_widget_get_has_window (child))
{
sx += child->allocation.x;
sy += child->allocation.y;
*x = *y = 0;
- if (GTK_WIDGET_NO_WINDOW (sample))
+ if (!gtk_widget_get_has_window (sample))
{
*x += sample->allocation.x;
*y += sample->allocation.y;
g_return_if_fail (GTK_IS_CONTAINER (container));
g_return_if_fail (resize_mode <= GTK_RESIZE_IMMEDIATE);
- if (GTK_WIDGET_TOPLEVEL (container) &&
+ if (gtk_widget_is_toplevel (GTK_WIDGET (container)) &&
resize_mode == GTK_RESIZE_PARENT)
{
resize_mode = GTK_RESIZE_QUEUE;
if (resize_container)
{
if (GTK_WIDGET_VISIBLE (resize_container) &&
- (GTK_WIDGET_TOPLEVEL (resize_container) || GTK_WIDGET_REALIZED (resize_container)))
+ (gtk_widget_is_toplevel (GTK_WIDGET (resize_container)) || GTK_WIDGET_REALIZED (resize_container)))
{
switch (resize_container->resize_mode)
{
_gtk_container_child_composite_name (GtkContainer *container,
GtkWidget *child)
{
+ gboolean composite_child;
+
g_return_val_if_fail (GTK_IS_CONTAINER (container), NULL);
g_return_val_if_fail (GTK_IS_WIDGET (child), NULL);
g_return_val_if_fail (child->parent == GTK_WIDGET (container), NULL);
- if (GTK_WIDGET_COMPOSITE_CHILD (child))
+ g_object_get (child, "composite-child", &composite_child, NULL);
+ if (composite_child)
{
static GQuark quark_composite_name = 0;
gchar *name;
{
cairo_t *cr;
- if (GTK_WIDGET_NO_WINDOW (widget))
+ if (!gtk_widget_get_has_window (widget))
{
x = widget->allocation.x;
y = widget->allocation.y;
{
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel) && toplevel->window)
+ if (gtk_widget_is_toplevel (toplevel) && toplevel->window)
return [gdk_quartz_window_get_nsview (toplevel->window) window];
else
return NULL;
allocation_to_window_x = widget->allocation.x;
allocation_to_window_y = widget->allocation.y;
- if (!GTK_WIDGET_NO_WINDOW (widget))
+ if (gtk_widget_get_has_window (widget))
{
/* The allocation is relative to the parent window for
* window widgets, not to widget->window.
{
cairo_t *cr;
- if (GTK_WIDGET_NO_WINDOW (widget))
+ if (!gtk_widget_get_has_window (widget))
{
x = widget->allocation.x;
y = widget->allocation.y;
allocation_to_window_x = widget->allocation.x;
allocation_to_window_y = widget->allocation.y;
- if (!GTK_WIDGET_NO_WINDOW (widget))
+ if (gtk_widget_get_has_window (widget))
{
/* The allocation is relative to the parent window for
* window widgets, not to widget->window.
{
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
gdk_window_register_dnd (toplevel->window);
}
{
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel) && GTK_WIDGET_REALIZED (toplevel))
+ if (gtk_widget_is_toplevel (toplevel) && GTK_WIDGET_REALIZED (toplevel))
gdk_window_register_dnd (toplevel->window);
}
GdkWindowAttr attributes;
gint attributes_mask;
- if (GTK_WIDGET_NO_WINDOW (widget))
+ if (!gtk_widget_get_has_window (widget))
{
GTK_WIDGET_CLASS (gtk_drawing_area_parent_class)->realize (widget);
}
if (GTK_WIDGET_REALIZED (widget))
{
- if (!GTK_WIDGET_NO_WINDOW (widget))
+ if (gtk_widget_get_has_window (widget))
gdk_window_move_resize (widget->window,
allocation->x, allocation->y,
allocation->width, allocation->height);
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button));
- if (GTK_WIDGET_TOPLEVEL (toplevel) && GTK_IS_WINDOW (toplevel))
+ if (gtk_widget_is_toplevel (toplevel) && GTK_IS_WINDOW (toplevel))
{
if (GTK_WINDOW (toplevel) != gtk_window_get_transient_for (GTK_WINDOW (priv->dialog)))
gtk_window_set_transient_for (GTK_WINDOW (priv->dialog),
GtkWidget *toplevel;
toplevel = gtk_widget_get_toplevel (widget);
- if (!GTK_WIDGET_TOPLEVEL (toplevel))
+ if (!gtk_widget_is_toplevel (toplevel))
return NULL;
else
return GTK_WINDOW (toplevel);
font_dialog = GTK_FONT_SELECTION_DIALOG (font_button->priv->font_dialog);
- if (GTK_WIDGET_TOPLEVEL (parent) && GTK_IS_WINDOW (parent))
+ if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent))
{
if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (font_dialog)))
gtk_window_set_transient_for (GTK_WINDOW (font_dialog), GTK_WINDOW (parent));
GtkWindow *window;
window = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (widget)));
- if (!GTK_WIDGET_TOPLEVEL (window))
+ if (!gtk_widget_is_toplevel (GTK_WIDGET (window)))
window = NULL;
if (window
GtkHandleBox *hb = GTK_HANDLE_BOX (widget);
if (GTK_WIDGET_REALIZED (widget) &&
- !GTK_WIDGET_NO_WINDOW (widget))
+ gtk_widget_get_has_window (widget))
{
gtk_style_set_background (widget->style, widget->window,
widget->state);
gtk_widget_grab_focus (item->widget);
gtk_icon_view_set_cursor_item (GTK_ICON_VIEW (item->widget), item->item, -1);
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (item->widget));
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
gtk_window_present (GTK_WINDOW (toplevel));
return TRUE;
connect_mnemonics_visible_notify (GTK_LABEL (widget));
toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
{
GtkWidget *menu_shell;
else if (GTK_IS_WIDGET (attach))
{
toplevel = gtk_widget_get_toplevel (attach);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
return toplevel;
}
if (old_toplevel)
remove_from_window (GTK_WINDOW (old_toplevel), menubar);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
add_to_window (GTK_WINDOW (toplevel), menubar);
}
GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (menubar));
GtkMenuItem *to_activate = NULL;
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
{
GList *tmp_menubars = get_viewable_menu_bars (GTK_WINDOW (toplevel));
GList *menubars;
GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
- if (GTK_WIDGET_NO_WINDOW (widget))
+ if (!gtk_widget_get_has_window (widget))
{
widget->window = gtk_widget_get_parent_window (widget);
g_object_ref (widget->window);
* do this by setting a flag, then propagating the focus motion to the notebook.
*/
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (notebook));
- if (!GTK_WIDGET_TOPLEVEL (toplevel))
+ if (!gtk_widget_is_toplevel (toplevel))
return;
g_object_ref (notebook);
*/
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (container));
- if (toplevel && GTK_WIDGET_TOPLEVEL (toplevel))
+ if (toplevel && gtk_widget_is_toplevel (toplevel))
{
page_child = GTK_WINDOW (toplevel)->focus_widget;
while (page_child)
/* Macros for extracting various fields from GtkObject and GtkObjectClass.
*/
-#define GTK_OBJECT_TYPE(object) (G_TYPE_FROM_INSTANCE (object))
-#define GTK_OBJECT_TYPE_NAME(object) (g_type_name (GTK_OBJECT_TYPE (object)))
+#ifndef GTK_DISABLE_DEPRECATED
+/**
+ * GTK_OBJECT_TYPE:
+ * @object: a #GtkObject.
+ *
+ * Gets the type of an object.
+ *
+ * Deprecated: 2.20: Use G_OBJECT_TYPE() instead.
+ */
+#define GTK_OBJECT_TYPE G_OBJECT_TYPE
+/**
+ * GTK_OBJECT_TYPE_NAME:
+ * @object: a #GtkObject.
+ *
+ * Gets the name of an object's type.
+ *
+ * Deprecated: 2.20: Use G_OBJECT_TYPE_NAME() instead.
+ */
+#define GTK_OBJECT_TYPE_NAME G_OBJECT_TYPE_NAME
+#endif
/* GtkObject only uses the first 4 bits of the flags field.
* Derived objects may use the remaining bits. Though this
child_event = *event;
- if (GTK_WIDGET_NO_WINDOW (child) &&
+ if (!gtk_widget_get_has_window (child) &&
gtk_widget_intersect (child, &event->area, &child_event.area))
gtk_widget_event (child, (GdkEvent*) &child_event);
GtkWidget *toplevel;
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (paned));
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
return GTK_WINDOW (toplevel)->focus_widget;
return NULL;
attributes_mask |= (window->title ? GDK_WA_TITLE : 0);
attributes_mask |= (window->wmclass_name ? GDK_WA_WMCLASS : 0);
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
{
attributes.window_type = GDK_WINDOW_TOPLEVEL;
static void
gtk_plug_show (GtkWidget *widget)
{
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
GTK_WIDGET_CLASS (gtk_plug_parent_class)->show (widget);
else
GTK_WIDGET_CLASS (bin_class)->show (widget);
static void
gtk_plug_hide (GtkWidget *widget)
{
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
GTK_WIDGET_CLASS (gtk_plug_parent_class)->hide (widget);
else
GTK_WIDGET_CLASS (bin_class)->hide (widget);
static void
gtk_plug_map (GtkWidget *widget)
{
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
{
GtkBin *bin = GTK_BIN (widget);
GtkPlug *plug = GTK_PLUG (widget);
static void
gtk_plug_unmap (GtkWidget *widget)
{
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
{
GtkPlug *plug = GTK_PLUG (widget);
{
GtkBin *bin = GTK_BIN (widget);
GtkRequisition natural_size;
-
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
GTK_WIDGET_CLASS (gtk_plug_parent_class)->size_allocate (widget, allocation);
else
{
gtk_plug_key_press_event (GtkWidget *widget,
GdkEventKey *event)
{
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
return GTK_WIDGET_CLASS (gtk_plug_parent_class)->key_press_event (widget, event);
else
return FALSE;
static void
gtk_plug_check_resize (GtkContainer *container)
{
- if (GTK_WIDGET_TOPLEVEL (container))
+ if (gtk_widget_is_toplevel (GTK_WIDGET (container)))
GTK_CONTAINER_CLASS (gtk_plug_parent_class)->check_resize (container);
else
GTK_CONTAINER_CLASS (bin_class)->check_resize (container);
GtkWidget *toplevel = NULL;
toplevel = gtk_widget_get_toplevel (widget);
- if (!GTK_WIDGET_TOPLEVEL (toplevel))
+ if (!gtk_widget_is_toplevel (toplevel))
return NULL;
else
return GTK_WINDOW (toplevel);
GtkWidget *toplevel;
toplevel = gtk_widget_get_toplevel (widget);
- if (!GTK_WIDGET_TOPLEVEL (toplevel))
+ if (!gtk_widget_is_toplevel (toplevel))
return NULL;
else
return GTK_WINDOW (toplevel);
* a flag, then propagating the focus motion to the notebook.
*/
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (scrolled_window));
- if (!GTK_WIDGET_TOPLEVEL (toplevel))
+ if (!gtk_widget_is_toplevel (toplevel))
return;
g_object_ref (scrolled_window);
if (widget->parent)
_gtk_container_queue_resize (GTK_CONTAINER (widget->parent));
- else if (GTK_WIDGET_TOPLEVEL (widget) && GTK_IS_CONTAINER (widget))
+ else if (gtk_widget_is_toplevel (widget) && GTK_IS_CONTAINER (widget))
_gtk_container_queue_resize (GTK_CONTAINER (widget));
}
{
GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (socket));
- if (GTK_WIDGET_TOPLEVEL (toplevel) &&
+ if (gtk_widget_is_toplevel (toplevel) &&
GTK_WINDOW (toplevel)->has_toplevel_focus &&
gtk_widget_is_focus (GTK_WIDGET (socket)))
focus_in = TRUE;
{
GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (socket));
- if (GTK_WIDGET_TOPLEVEL (toplevel) &&
+ if (gtk_widget_is_toplevel (toplevel) &&
GTK_WINDOW (toplevel)->is_active)
active = TRUE;
}
if (!toplevel)
return;
- if (!GTK_WIDGET_TOPLEVEL (toplevel) || GTK_IS_PLUG (toplevel))
+ if (!gtk_widget_is_toplevel (toplevel) || GTK_IS_PLUG (toplevel))
{
gtk_widget_child_focus (toplevel,direction);
return;
/* The window to which widget->window is relative */
#define ALLOCATION_WINDOW(widget) \
- (GTK_WIDGET_NO_WINDOW (widget) ? \
+ (!gtk_widget_get_has_window (widget) ? \
(widget)->window : \
gdk_window_get_parent ((widget)->window))
gint *dest_y)
{
/* Translate from window relative to allocation relative */
- if (!GTK_WIDGET_NO_WINDOW (dest_widget) && dest_widget->parent)
+ if (gtk_widget_get_has_window (dest_widget) && dest_widget->parent)
{
gint wx, wy;
gdk_window_get_position (dest_widget->window, &wx, &wy);
if (tooltip->keyboard_mode_enabled)
{
gdk_window_get_origin (new_tooltip_widget->window, &x, &y);
- if (GTK_WIDGET_NO_WINDOW (new_tooltip_widget))
+ if (!gtk_widget_get_has_window (new_tooltip_widget))
{
x += new_tooltip_widget->allocation.x;
y += new_tooltip_widget->allocation.y;
} *data = client_data;
if (GTK_WIDGET_DRAWABLE (child) &&
- GTK_WIDGET_NO_WINDOW (child) &&
+ !gtk_widget_get_has_window (child) &&
(child->window == data->event->window))
{
GdkEvent *child_event = gdk_event_new (GDK_EXPOSE);
/* The window to which widget->window is relative */
#define ALLOCATION_WINDOW(widget) \
- (GTK_WIDGET_NO_WINDOW (widget) ? \
+ (!gtk_widget_get_has_window (widget) ? \
(widget)->window : \
gdk_window_get_parent ((widget)->window))
if (GTK_WIDGET_HAS_FOCUS (tree_column->button))
{
GtkWidget *toplevel = gtk_widget_get_toplevel (tree_column->tree_view);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
{
gtk_window_set_focus (GTK_WINDOW (toplevel), NULL);
}
GtkStyle *previous_style)
{
if (GTK_WIDGET_REALIZED (widget) &&
- !GTK_WIDGET_NO_WINDOW (widget))
+ gtk_widget_get_has_window (widget))
{
GtkViewport *viewport = GTK_VIEWPORT (widget);
g_value_set_boolean (value, (GTK_WIDGET_RECEIVES_DEFAULT (widget) != FALSE));
break;
case PROP_COMPOSITE_CHILD:
- g_value_set_boolean (value, (GTK_WIDGET_COMPOSITE_CHILD (widget) != FALSE));
+ g_value_set_boolean (value, (GTK_WIDGET_FLAGS (widget) & GTK_COMPOSITE_CHILD) != 0 );
break;
case PROP_STYLE:
g_value_set_object (value, gtk_widget_get_style (widget));
nqueue = g_object_notify_queue_freeze (G_OBJECT (widget), _gtk_widget_child_property_notify_context);
toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
_gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget);
if (GTK_CONTAINER (widget->parent)->focus_child == widget)
if (!GTK_WIDGET_VISIBLE (widget))
{
g_object_ref (widget);
- if (!GTK_WIDGET_TOPLEVEL (widget))
+ if (!gtk_widget_is_toplevel (widget))
gtk_widget_queue_resize (widget);
g_signal_emit (widget, widget_signals[SHOW], 0);
g_object_notify (G_OBJECT (widget), "visible");
/* make sure we will get event */
if (!GTK_WIDGET_MAPPED (widget) &&
- GTK_WIDGET_TOPLEVEL (widget))
+ gtk_widget_is_toplevel (widget))
{
gtk_widget_show (widget);
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
g_object_ref (widget);
- if (toplevel != widget && GTK_WIDGET_TOPLEVEL (toplevel))
+ if (toplevel != widget && gtk_widget_is_toplevel (toplevel))
_gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget);
g_signal_emit (widget, widget_signals[HIDE], 0);
- if (!GTK_WIDGET_TOPLEVEL (widget))
+ if (!gtk_widget_is_toplevel (widget))
gtk_widget_queue_resize (widget);
g_object_notify (G_OBJECT (widget), "visible");
g_object_unref (widget);
{
/*
if (GTK_IS_CONTAINER (widget) && !GTK_WIDGET_NO_WINDOW (widget))
- g_message ("gtk_widget_realize(%s)", g_type_name (GTK_WIDGET_TYPE (widget)));
+ g_message ("gtk_widget_realize(%s)", G_OBJECT_TYPE_NAME (widget));
*/
if (widget->parent == NULL &&
- !GTK_WIDGET_TOPLEVEL (widget))
+ !gtk_widget_is_toplevel (widget))
g_warning ("Calling gtk_widget_realize() on a widget that isn't "
"inside a toplevel window is not going to work very well. "
"Widgets must be inside a toplevel container before realizing them.");
* be set by the next loop.
*/
toplevel = gtk_widget_get_toplevel (focus_widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel) && GTK_IS_WINDOW (toplevel))
+ if (gtk_widget_is_toplevel (toplevel) && GTK_IS_WINDOW (toplevel))
{
widget = GTK_WINDOW (toplevel)->focus_widget;
window = gtk_widget_get_toplevel (widget);
- if (window && GTK_WIDGET_TOPLEVEL (window))
+ if (window && gtk_widget_is_toplevel (window))
gtk_window_set_default (GTK_WINDOW (window), widget);
else
g_warning (G_STRLOC ": widget not within a GtkWindow");
if (widget->name)
return widget->name;
- return g_type_name (GTK_WIDGET_TYPE (widget));
+ return G_OBJECT_TYPE_NAME (widget);
}
/**
if (sensitive)
{
GTK_WIDGET_SET_FLAGS (widget, GTK_SENSITIVE);
- data.state = GTK_WIDGET_SAVED_STATE (widget);
+ data.state = widget->saved_state;
}
else
{
g_warning ("Can't set a parent on widget which has a parent\n");
return;
}
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
{
g_warning ("Can't set a parent on a toplevel widget\n");
return;
gpointer client_data)
{
HierarchyChangedInfo *info = client_data;
- gboolean new_anchored = GTK_WIDGET_TOPLEVEL (widget) ||
+ gboolean new_anchored = gtk_widget_is_toplevel (widget) ||
(widget->parent && GTK_WIDGET_ANCHORED (widget->parent));
if (GTK_WIDGET_ANCHORED (widget) != new_anchored)
info.previous_toplevel = previous_toplevel;
info.previous_screen = previous_toplevel ? gtk_widget_get_screen (previous_toplevel) : NULL;
- if (GTK_WIDGET_TOPLEVEL (widget) ||
+ if (gtk_widget_is_toplevel (widget) ||
(widget->parent && GTK_WIDGET_ANCHORED (widget->parent)))
info.new_screen = gtk_widget_get_screen (widget);
else
gboolean is_visible)
{
g_return_if_fail (GTK_IS_WIDGET (widget));
- g_return_if_fail (!GTK_WIDGET_TOPLEVEL (widget));
+ g_return_if_fail (!gtk_widget_is_toplevel (widget));
g_object_ref (widget);
GTK_PRIVATE_UNSET_FLAG (widget, GTK_CHILD_VISIBLE);
toplevel = gtk_widget_get_toplevel (widget);
- if (toplevel != widget && GTK_WIDGET_TOPLEVEL (toplevel))
+ if (toplevel != widget && gtk_widget_is_toplevel (toplevel))
_gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget);
}
toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
{
if (GTK_IS_WINDOW (toplevel))
return GTK_WINDOW (toplevel)->screen;
* is set on the result.
* |[
* GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
- * if (GTK_WIDGET_TOPLEVEL (toplevel))
+ * if (gtk_widget_is_toplevel (toplevel))
* {
* /* Perform action on toplevel. */
* }
{
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
- while (widget && !g_type_is_a (GTK_WIDGET_TYPE (widget), widget_type))
+ while (widget && !g_type_is_a (G_OBJECT_TYPE (widget), widget_type))
widget = widget->parent;
- if (!(widget && g_type_is_a (GTK_WIDGET_TYPE (widget), widget_type)))
+ if (!(widget && g_type_is_a (G_OBJECT_TYPE (widget), widget_type)))
return NULL;
return widget;
const gchar *name)
{
g_return_if_fail (GTK_IS_WIDGET (widget));
- g_return_if_fail (GTK_WIDGET_COMPOSITE_CHILD (widget));
+ g_return_if_fail ((GTK_WIDGET_FLAGS (widget) & GTK_COMPOSITE_CHILD) != 0);
g_return_if_fail (name != NULL);
if (!quark_composite_name)
{
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
- if (GTK_WIDGET_COMPOSITE_CHILD (widget) && widget->parent)
+ if (((GTK_WIDGET_FLAGS (widget) & GTK_COMPOSITE_CHILD) != 0) && widget->parent)
return _gtk_container_child_composite_name (GTK_CONTAINER (widget->parent),
widget);
else
GtkStateData *data)
{
guint8 old_state = GTK_WIDGET_STATE (widget);
- guint8 old_saved_state = GTK_WIDGET_SAVED_STATE (widget);
+ guint8 old_saved_state = widget->saved_state;
/* don't call this function with state==GTK_STATE_INSENSITIVE,
* parent_sensitive==TRUE on a sensitive widget
if (GTK_WIDGET_IS_SENSITIVE (widget))
{
if (data->state_restoration)
- GTK_WIDGET_STATE (widget) = GTK_WIDGET_SAVED_STATE (widget);
+ GTK_WIDGET_STATE (widget) = widget->saved_state;
else
GTK_WIDGET_STATE (widget) = data->state;
}
if (!data->state_restoration)
{
if (data->state != GTK_STATE_INSENSITIVE)
- GTK_WIDGET_SAVED_STATE (widget) = data->state;
+ widget->saved_state = data->state;
}
else if (GTK_WIDGET_STATE (widget) != GTK_STATE_INSENSITIVE)
- GTK_WIDGET_SAVED_STATE (widget) = GTK_WIDGET_STATE (widget);
+ widget->saved_state = GTK_WIDGET_STATE (widget);
GTK_WIDGET_STATE (widget) = GTK_STATE_INSENSITIVE;
}
GtkWidget *window;
window = gtk_widget_get_toplevel (widget);
- if (window && GTK_WIDGET_TOPLEVEL (window))
+ if (window && gtk_widget_is_toplevel (window))
gtk_window_set_focus (GTK_WINDOW (window), NULL);
}
if (old_state != GTK_WIDGET_STATE (widget) ||
- old_saved_state != GTK_WIDGET_SAVED_STATE (widget))
+ old_saved_state != widget->saved_state)
{
g_object_ref (widget);
gchar *d;
guint l;
- string = g_type_name (GTK_WIDGET_TYPE (widget));
+ string = g_type_name (G_OBJECT_TYPE (widget));
l = strlen (string);
while (tmp_path_len <= len + l + 1)
{
/* Macros for extracting various fields from GtkWidget and GtkWidgetClass.
*/
+#ifndef GTK_DISABLE_DEPRECATED
/**
* GTK_WIDGET_TYPE:
* @wid: a #GtkWidget.
*
* Gets the type of a widget.
+ *
+ * Deprecated: 2.20: Use G_OBJECT_TYPE() instead.
*/
#define GTK_WIDGET_TYPE(wid) (GTK_OBJECT_TYPE (wid))
+#endif
/**
* GTK_WIDGET_STATE:
* @wid: a #GtkWidget.
*
* Returns the current state of the widget, as a #GtkStateType.
+ *
+ * Deprecated: 2.20: Use gtk_widget_get_state() instead.
*/
#define GTK_WIDGET_STATE(wid) (GTK_WIDGET (wid)->state)
+/* FIXME: Deprecating GTK_WIDGET_STATE requires fixing GTK internals. */
+#ifndef GTK_DISABLE_DEPRECATED
/**
* GTK_WIDGET_SAVED_STATE:
* @wid: a #GtkWidget.
* The saved state will be restored when a widget gets sensitive
* again, after it has been made insensitive with gtk_widget_set_state()
* or gtk_widget_set_sensitive().
+ *
+ * Deprecated: 2.20: Do not used it.
*/
#define GTK_WIDGET_SAVED_STATE(wid) (GTK_WIDGET (wid)->saved_state)
+#endif
/* Macros for extracting the widget flags from GtkWidget.
* @wid: a #GtkWidget.
*
* Returns the widget flags from @wid.
+ *
+ * Deprecated: 2.20: Do not use it.
*/
#define GTK_WIDGET_FLAGS(wid) (GTK_OBJECT_FLAGS (wid))
+/* FIXME: Deprecating GTK_WIDGET_FLAGS requires fixing GTK internals. */
+#ifndef GTK_DISABLE_DEPRECATED
/**
* GTK_WIDGET_TOPLEVEL:
* @wid: a #GtkWidget.
*
* Evaluates to %TRUE if the widget is a toplevel widget.
+ *
+ * Deprecated: 2.20: Use gtk_widget_is_toplevel() instead.
*/
#define GTK_WIDGET_TOPLEVEL(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_TOPLEVEL) != 0)
+#endif
/**
* GTK_WIDGET_NO_WINDOW:
* @wid: a #GtkWidget.
*
* Evaluates to %TRUE if the widget doesn't have an own #GdkWindow.
+ *
+ * Deprecated: 2.20: Use gtk_widget_get_has_window() instead.
*/
#define GTK_WIDGET_NO_WINDOW(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_NO_WINDOW) != 0)
+/* FIXME: Deprecating GTK_WIDGET_NO_WINDOW requires fixing GTK internals. */
/**
* GTK_WIDGET_REALIZED:
* mechanism.
*/
#define GTK_WIDGET_RC_STYLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_RC_STYLE) != 0)
-
+#ifndef GTK_DISABLE_DEPRECATED
/**
* GTK_WIDGET_COMPOSITE_CHILD:
* @wid: a #GtkWidget.
*
* Evaluates to %TRUE if the widget is a composite child of its parent.
+ *
+ * Deprecated: 2.20: Use the "composite-child" property instead.
*/
#define GTK_WIDGET_COMPOSITE_CHILD(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_COMPOSITE_CHILD) != 0)
+#endif
/**
* GTK_WIDGET_APP_PAINTABLE:
_gtk_window_set_is_toplevel (GtkWindow *window,
gboolean is_toplevel)
{
- if (GTK_WIDGET_TOPLEVEL (window))
+ if (gtk_widget_is_toplevel (GTK_WIDGET (window)))
g_assert (g_slist_find (toplevel_list, window) != NULL);
else
g_assert (g_slist_find (toplevel_list, window) == NULL);
- if (is_toplevel == GTK_WIDGET_TOPLEVEL (window))
+ if (is_toplevel == gtk_widget_is_toplevel (GTK_WIDGET (window)))
return;
if (is_toplevel)
if (!context_xim->status_window && context_xim->client_widget)
{
GtkWidget *toplevel = gtk_widget_get_toplevel (context_xim->client_widget);
- if (toplevel && GTK_WIDGET_TOPLEVEL (toplevel))
+ if (toplevel && gtk_widget_is_toplevel (toplevel))
{
StatusWindow *status_window = status_window_get (toplevel);
{
GtkWidget *toplevel = gtk_widget_get_toplevel (context_xim->client_widget);
- context_xim->in_toplevel = (toplevel && GTK_WIDGET_TOPLEVEL (toplevel));
+ context_xim->in_toplevel = (toplevel && gtk_widget_is_toplevel (toplevel));
}
else
context_xim->in_toplevel = FALSE;
fake_renderer = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, NULL);
default_registry = atk_get_default_registry ();
factory = atk_registry_get_factory (default_registry,
- GTK_OBJECT_TYPE (fake_renderer));
+ G_OBJECT_TYPE (fake_renderer));
child = atk_object_factory_create_accessible (factory,
G_OBJECT (fake_renderer));
gail_return_val_if_fail (GAIL_IS_RENDERER_CELL (child), NULL);
default_registry = atk_get_default_registry ();
factory = atk_registry_get_factory (default_registry,
- GTK_OBJECT_TYPE (renderer));
+ G_OBJECT_TYPE (renderer));
child = atk_object_factory_create_accessible (factory,
G_OBJECT (renderer));
gail_return_val_if_fail (GAIL_IS_RENDERER_CELL (child), NULL);
gtk_tree_path_free (path);
gtk_widget_grab_focus (widget);
toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
{
#ifdef GDK_WINDOWING_X11
gtk_window_present_with_time (GTK_WINDOW (toplevel), gdk_x11_get_server_time (widget->window));
{
gtk_widget_grab_focus (widget);
toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
{
#ifdef GDK_WINDOWING_X11
gtk_window_present_with_time (GTK_WINDOW (toplevel), gdk_x11_get_server_time (widget->window));
return FALSE;
gail_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
{
if (coord_type == ATK_XY_WINDOW)
{
return FALSE;
gail_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
{
if (coord_type == ATK_XY_WINDOW)
{
return FALSE;
gail_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
- if (GTK_WIDGET_TOPLEVEL (widget))
+ if (gtk_widget_is_toplevel (widget))
{
gtk_widget_set_size_request (widget, width, height);
return TRUE;
gail_return_if_fail (GTK_IS_WINDOW (widget));
- if (!GTK_WIDGET_TOPLEVEL (widget))
+ if (!gtk_widget_is_toplevel (widget))
{
AtkComponentIface *parent_iface;
gail_return_if_fail (GTK_IS_WINDOW (widget));
- if (!GTK_WIDGET_TOPLEVEL (widget))
+ if (!gtk_widget_is_toplevel (widget))
{
AtkComponentIface *parent_iface;
GtkWidget* widget = NULL;
widget = GTK_ACCESSIBLE (obj)->widget;
- typename = g_type_name (GTK_OBJECT_TYPE (widget));
+ typename = g_type_name (G_OBJECT_TYPE (widget));
g_print ("Widget type name: %s\n", typename ? typename : "NULL");
}
typename = g_type_name (G_OBJECT_TYPE (obj));
GtkWidget* widget = NULL;
widget = GTK_ACCESSIBLE (obj)->widget;
- typename = g_type_name (GTK_OBJECT_TYPE (widget));
+ typename = g_type_name (G_OBJECT_TYPE (widget));
g_print ("\tWidget type name: %s\n", typename ? typename : "NULL");
}
GtkWidget* widget = NULL;
widget = GTK_ACCESSIBLE (obj)->widget;
- typename = g_type_name (GTK_OBJECT_TYPE (widget));
+ typename = g_type_name (G_OBJECT_TYPE (widget));
g_print ("Widget type name: %s\n", typename ? typename : "NULL");
}
typename = g_type_name (G_OBJECT_TYPE (obj));
GtkWidget* widget = NULL;
widget = GTK_ACCESSIBLE (obj)->widget;
- typename = g_type_name (GTK_OBJECT_TYPE (widget));
+ typename = g_type_name (G_OBJECT_TYPE (widget));
g_print ("Widget type name: %s\n", typename ? typename : "NULL");
}
typename = g_type_name (G_OBJECT_TYPE (obj));
GtkWidget *window;
toplevel = gtk_widget_get_toplevel (widget);
- if (GTK_WIDGET_TOPLEVEL (toplevel))
+ if (gtk_widget_is_toplevel (toplevel))
return toplevel;
g_assert (toplevel == widget); /* we don't want extraneous ancestors */
source_widget = gtk_drag_get_source_widget (context);
g_print ("motion, source %s\n", source_widget ?
- GTK_OBJECT_TYPE_NAME (source_widget) :
+ G_OBJECT_TYPE_NAME (source_widget) :
"NULL");
tmp_list = context->targets;
* but within the allocation are not counted. This is consistent
* with the way we highlight drag targets.
*/
- if (!GTK_WIDGET_NO_WINDOW (widget))
+ if (gtk_widget_get_has_window (widget))
{
new_allocation.x = 0;
new_allocation.y = 0;