All widgets always have a screen (or display).
gtk_widget_get_clipboard
gtk_widget_get_display
gtk_widget_get_screen
-gtk_widget_has_screen
gtk_widget_get_size_request
gtk_widget_set_child_visible
gtk_widget_set_size_request
if (widget == NULL)
return;
- if (!gtk_widget_has_screen (widget))
- return;
-
editable = GTK_EDITABLE (widget);
str = gtk_editable_get_chars (editable, start_pos, end_pos);
clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
if (widget == NULL)
return;
- if (!gtk_widget_has_screen (widget))
- return;
-
editable = GTK_EDITABLE (widget);
if (!gtk_editable_get_editable (editable))
return;
if (widget == NULL)
return;
- if (!gtk_widget_has_screen (widget))
- return;
-
editable = GTK_EDITABLE (widget);
if (!gtk_editable_get_editable (editable))
return;
static void
gtk_file_chooser_button_style_updated (GtkWidget *widget)
{
+ GtkStyleContext *context = gtk_widget_get_style_context (widget);
+ GtkCssStyleChange *change = gtk_style_context_get_change (context);
+
GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->style_updated (widget);
- if (gtk_widget_has_screen (widget))
- {
- /* We need to update the icon surface, but only in case
- * the icon theme really changed. */
- GtkStyleContext *context = gtk_widget_get_style_context (widget);
- GtkCssStyleChange *change = gtk_style_context_get_change (context);
- if (!change || gtk_css_style_change_changes_property (change, GTK_CSS_PROPERTY_ICON_THEME))
- change_icon_theme (GTK_FILE_CHOOSER_BUTTON (widget));
- }
+ /* We need to update the icon surface, but only in case
+ * the icon theme really changed. */
+ if (!change || gtk_css_style_change_changes_property (change, GTK_CSS_PROPERTY_ICON_THEME))
+ change_icon_theme (GTK_FILE_CHOOSER_BUTTON (widget));
}
static void
return;
}
- if (gtk_widget_has_screen (GTK_WIDGET (impl)))
- {
- settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl)));
- priv->settings_signal_id = g_signal_connect (settings, "notify",
- G_CALLBACK (settings_notify_cb), impl);
+ settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl)));
+ priv->settings_signal_id = g_signal_connect (settings, "notify",
+ G_CALLBACK (settings_notify_cb), impl);
- change_icon_theme (impl);
- }
+ change_icon_theme (impl);
profile_end ("end", NULL);
}
GTK_WIDGET_CLASS (gtk_file_chooser_widget_parent_class)->style_updated (widget);
profile_msg (" parent class style_updated end", NULL);
- if (gtk_widget_has_screen (GTK_WIDGET (impl)))
- change_icon_theme (impl);
+ change_icon_theme (impl);
emit_default_size_changed (impl);
priv->select_info->selection_anchor = anchor_index;
priv->select_info->selection_end = end_index;
- if (gtk_widget_has_screen (GTK_WIDGET (label)))
- clipboard = gtk_widget_get_clipboard (GTK_WIDGET (label),
- GDK_SELECTION_PRIMARY);
- else
- clipboard = NULL;
+ clipboard = gtk_widget_get_clipboard (GTK_WIDGET (label),
+ GDK_SELECTION_PRIMARY);
if (anchor_index != end_index)
{
GdkDisplay *previous_display,
GtkMenu *menu)
{
- if (gtk_widget_has_screen (attach_widget) &&
- !g_object_get_data (G_OBJECT (menu), "gtk-menu-explicit-screen"))
+ if (!g_object_get_data (G_OBJECT (menu), "gtk-menu-explicit-screen"))
menu_change_screen (menu, gtk_widget_get_screen (attach_widget));
}
GtkMenuShellPrivate *priv = menu_shell->priv;
GtkWidget *widget = GTK_WIDGET (menu_shell);
- if (!priv->key_hash && create && gtk_widget_has_screen (widget))
+ if (!priv->key_hash && create)
{
GtkMnemonicHash *mnemonic_hash = gtk_menu_shell_get_mnemonic_hash (menu_shell, FALSE);
- GdkScreen *screen = gtk_widget_get_screen (widget);
- GdkKeymap *keymap = gdk_keymap_get_for_display (gdk_screen_get_display (screen));
+ GdkKeymap *keymap = gdk_keymap_get_for_display (gtk_widget_get_display (widget));
if (!mnemonic_hash)
return NULL;
static void
gtk_print_unix_dialog_style_updated (GtkWidget *widget)
{
- GTK_WIDGET_CLASS (gtk_print_unix_dialog_parent_class)->style_updated (widget);
+ GtkPrintUnixDialog *dialog = (GtkPrintUnixDialog *)widget;
+ GtkPrintUnixDialogPrivate *priv = dialog->priv;
+ gint size;
+ gfloat scale;
- if (gtk_widget_has_screen (widget))
- {
- GtkPrintUnixDialog *dialog = (GtkPrintUnixDialog *)widget;
- GtkPrintUnixDialogPrivate *priv = dialog->priv;
- gint size;
- gfloat scale;
+ GTK_WIDGET_CLASS (gtk_print_unix_dialog_parent_class)->style_updated (widget);
- gtk_icon_size_lookup (GTK_ICON_SIZE_DIALOG, &size, NULL);
- scale = size / 48.0;
+ gtk_icon_size_lookup (GTK_ICON_SIZE_DIALOG, &size, NULL);
+ scale = size / 48.0;
- gtk_drawing_area_set_content_width (GTK_DRAWING_AREA (priv->collate_image), (50 + 20) * scale);
- gtk_drawing_area_set_content_height (GTK_DRAWING_AREA (priv->collate_image), (15 + 26) * scale);
- }
+ gtk_drawing_area_set_content_width (GTK_DRAWING_AREA (priv->collate_image), (50 + 20) * scale);
+ gtk_drawing_area_set_content_height (GTK_DRAWING_AREA (priv->collate_image), (15 + 26) * scale);
}
static void
static AtkObject* gtk_widget_real_get_accessible (GtkWidget *widget);
static void gtk_widget_accessible_interface_init (AtkImplementorIface *iface);
static AtkObject* gtk_widget_ref_accessible (AtkImplementor *implementor);
-static GdkScreen * gtk_widget_get_screen_unchecked (GtkWidget *widget);
static gboolean gtk_widget_real_can_activate_accel (GtkWidget *widget,
guint signal_id);
return widget->priv->child_visible;
}
-static GdkScreen *
-gtk_widget_get_screen_unchecked (GtkWidget *widget)
-{
- GtkWidget *toplevel;
-
- toplevel = _gtk_widget_get_toplevel (widget);
-
- if (_gtk_widget_is_toplevel (toplevel))
- {
- if (GTK_IS_WINDOW (toplevel))
- return _gtk_window_get_screen (GTK_WINDOW (toplevel));
- else if (GTK_IS_INVISIBLE (toplevel))
- return gtk_invisible_get_screen (GTK_INVISIBLE (widget));
- }
-
- return NULL;
-}
-
/**
* gtk_widget_get_screen:
* @widget: a #GtkWidget
GdkScreen*
gtk_widget_get_screen (GtkWidget *widget)
{
- GdkScreen *screen;
+ GtkWidget *toplevel;
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
- screen = gtk_widget_get_screen_unchecked (widget);
-
- if (screen)
- return screen;
- else
- return gdk_screen_get_default ();
-}
-
-/**
- * gtk_widget_has_screen:
- * @widget: a #GtkWidget
- *
- * Checks whether there is a #GdkScreen is associated with
- * this widget. All toplevel widgets have an associated
- * screen, and all widgets added into a hierarchy with a toplevel
- * window at the top.
- *
- * Returns: %TRUE if there is a #GdkScreen associated
- * with the widget.
- *
- * Since: 2.2
- **/
-gboolean
-gtk_widget_has_screen (GtkWidget *widget)
-{
- g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+ toplevel = _gtk_widget_get_toplevel (widget);
- return (gtk_widget_get_screen_unchecked (widget) != NULL);
+ if (_gtk_widget_is_toplevel (toplevel))
+ {
+ if (GTK_IS_WINDOW (toplevel))
+ return _gtk_window_get_screen (GTK_WINDOW (toplevel));
+ else if (GTK_IS_INVISIBLE (toplevel))
+ return gtk_invisible_get_screen (GTK_INVISIBLE (widget));
+ }
+
+ return gdk_screen_get_default ();
}
void
gtk_widget_get_clipboard (GtkWidget *widget, GdkAtom selection)
{
g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
- g_return_val_if_fail (gtk_widget_has_screen (widget), NULL);
return gtk_clipboard_get_for_display (gtk_widget_get_display (widget),
selection);
GDK_AVAILABLE_IN_ALL
GdkScreen * gtk_widget_get_screen (GtkWidget *widget);
-GDK_AVAILABLE_IN_ALL
-gboolean gtk_widget_has_screen (GtkWidget *widget);
GDK_AVAILABLE_IN_3_10
gint gtk_widget_get_scale_factor (GtkWidget *widget);
GDK_AVAILABLE_IN_ALL