stylecontext: Deprecate most apis

The notable exception here are the global provider apis,
which are needed in some form and don't have a replacement
yet. Move them to gtkstyleprovider.[hc], so we can wholly
deprecated gtkstylecontext.[hc].
This commit is contained in:
Matthias Clasen 2022-10-09 23:30:06 -04:00
parent 299fbfd722
commit ee8c2a235f
29 changed files with 160 additions and 112 deletions

View File

@ -220,7 +220,9 @@ gtk_style_context_impl_set_property (GObject *object,
switch (prop_id) switch (prop_id)
{ {
case PROP_DISPLAY: case PROP_DISPLAY:
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
gtk_style_context_set_display (context, g_value_get_object (value)); gtk_style_context_set_display (context, g_value_get_object (value));
G_GNUC_END_IGNORE_DEPRECATIONS
break; break;
default: default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@ -341,6 +343,8 @@ gtk_style_context_new_for_node (GtkCssNode *node)
* Note: If both priorities are the same, a `GtkStyleProvider` * Note: If both priorities are the same, a `GtkStyleProvider`
* added through this function takes precedence over another added * added through this function takes precedence over another added
* through [func@Gtk.StyleContext.add_provider_for_display]. * through [func@Gtk.StyleContext.add_provider_for_display].
*
* Deprecated: 4.10: Use style classes instead
*/ */
void void
gtk_style_context_add_provider (GtkStyleContext *context, gtk_style_context_add_provider (GtkStyleContext *context,
@ -376,6 +380,8 @@ gtk_style_context_add_provider (GtkStyleContext *context,
* @provider: a `GtkStyleProvider` * @provider: a `GtkStyleProvider`
* *
* Removes @provider from the style providers list in @context. * Removes @provider from the style providers list in @context.
*
* Deprecated: 4.10
*/ */
void void
gtk_style_context_remove_provider (GtkStyleContext *context, gtk_style_context_remove_provider (GtkStyleContext *context,
@ -392,68 +398,14 @@ gtk_style_context_remove_provider (GtkStyleContext *context,
_gtk_style_cascade_remove_provider (priv->cascade, provider); _gtk_style_cascade_remove_provider (priv->cascade, provider);
} }
/**
* gtk_style_context_add_provider_for_display:
* @display: a `GdkDisplay`
* @provider: a `GtkStyleProvider`
* @priority: the priority of the style provider. The lower
* it is, the earlier it will be used in the style construction.
* Typically this will be in the range between
* %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and
* %GTK_STYLE_PROVIDER_PRIORITY_USER
*
* Adds a global style provider to @display, which will be used
* in style construction for all `GtkStyleContexts` under @display.
*
* GTK uses this to make styling information from `GtkSettings`
* available.
*
* Note: If both priorities are the same, A `GtkStyleProvider`
* added through [method@Gtk.StyleContext.add_provider] takes
* precedence over another added through this function.
**/
void
gtk_style_context_add_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider,
guint priority)
{
GtkStyleCascade *cascade;
g_return_if_fail (GDK_IS_DISPLAY (display));
g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider));
g_return_if_fail (!GTK_IS_SETTINGS (provider) || _gtk_settings_get_display (GTK_SETTINGS (provider)) == display);
cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1);
_gtk_style_cascade_add_provider (cascade, provider, priority);
}
/**
* gtk_style_context_remove_provider_for_display:
* @display: a `GdkDisplay`
* @provider: a `GtkStyleProvider`
*
* Removes @provider from the global style providers list in @display.
*/
void
gtk_style_context_remove_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider)
{
GtkStyleCascade *cascade;
g_return_if_fail (GDK_IS_DISPLAY (display));
g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider));
g_return_if_fail (!GTK_IS_SETTINGS (provider));
cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1);
_gtk_style_cascade_remove_provider (cascade, provider);
}
/** /**
* gtk_style_context_set_state: * gtk_style_context_set_state:
* @context: a `GtkStyleContext` * @context: a `GtkStyleContext`
* @flags: state to represent * @flags: state to represent
* *
* Sets the state to be used for style matching. * Sets the state to be used for style matching.
*
* Deprecated: 4.10: You should not use this api
*/ */
void void
gtk_style_context_set_state (GtkStyleContext *context, gtk_style_context_set_state (GtkStyleContext *context,
@ -479,6 +431,8 @@ gtk_style_context_set_state (GtkStyleContext *context,
* [method@Gtk.Widget.get_state_flags]. * [method@Gtk.Widget.get_state_flags].
* *
* Returns: the state flags * Returns: the state flags
*
* Deprecated: 4.10: Use [method@Gtk.Widget.get_state_flags] instead
**/ **/
GtkStateFlags GtkStateFlags
gtk_style_context_get_state (GtkStyleContext *context) gtk_style_context_get_state (GtkStyleContext *context)
@ -496,6 +450,8 @@ gtk_style_context_get_state (GtkStyleContext *context)
* @scale: scale * @scale: scale
* *
* Sets the scale to use when getting image assets for the style. * Sets the scale to use when getting image assets for the style.
*
* Deprecated: 4.10: You should not use this api
**/ **/
void void
gtk_style_context_set_scale (GtkStyleContext *context, gtk_style_context_set_scale (GtkStyleContext *context,
@ -529,6 +485,8 @@ gtk_style_context_set_scale (GtkStyleContext *context,
* Returns the scale used for assets. * Returns the scale used for assets.
* *
* Returns: the scale * Returns: the scale
*
* Deprecated 4.10: Use [method@Gtk.Widget.get_scale_factor] instead
**/ **/
int int
gtk_style_context_get_scale (GtkStyleContext *context) gtk_style_context_get_scale (GtkStyleContext *context)
@ -586,6 +544,8 @@ gtk_style_context_save_to_node (GtkStyleContext *context,
* *
* The matching call to [method@Gtk.StyleContext.restore] * The matching call to [method@Gtk.StyleContext.restore]
* must be done before GTK returns to the main loop. * must be done before GTK returns to the main loop.
*
* Deprecated: 4.10: This API will be removed in GTK 5
**/ **/
void void
gtk_style_context_save (GtkStyleContext *context) gtk_style_context_save (GtkStyleContext *context)
@ -616,6 +576,8 @@ gtk_style_context_save (GtkStyleContext *context)
* Restores @context state to a previous stage. * Restores @context state to a previous stage.
* *
* See [method@Gtk.StyleContext.save]. * See [method@Gtk.StyleContext.save].
*
* Deprecated: 4.10: This API will be removed in GTK 5
**/ **/
void void
gtk_style_context_restore (GtkStyleContext *context) gtk_style_context_restore (GtkStyleContext *context)
@ -653,6 +615,7 @@ gtk_style_context_restore (GtkStyleContext *context)
* ```css * ```css
* .search { ... } * .search { ... }
* ``` * ```
* Deprecated: 4.10: Use [method@Gtk.Widget.add_css_class] instead
*/ */
void void
gtk_style_context_add_class (GtkStyleContext *context, gtk_style_context_add_class (GtkStyleContext *context,
@ -675,6 +638,8 @@ gtk_style_context_add_class (GtkStyleContext *context,
* @class_name: class name to remove * @class_name: class name to remove
* *
* Removes @class_name from @context. * Removes @class_name from @context.
*
* Deprecated: 4.10: Use [method@Gtk.Widget.remove_css_class] instead
*/ */
void void
gtk_style_context_remove_class (GtkStyleContext *context, gtk_style_context_remove_class (GtkStyleContext *context,
@ -702,6 +667,8 @@ gtk_style_context_remove_class (GtkStyleContext *context,
* given class name. * given class name.
* *
* Returns: %TRUE if @context has @class_name defined * Returns: %TRUE if @context has @class_name defined
*
* Deprecated: 4.10: Use [method@Gtk.Widget.has_css_class] instead
**/ **/
gboolean gboolean
gtk_style_context_has_class (GtkStyleContext *context, gtk_style_context_has_class (GtkStyleContext *context,
@ -742,6 +709,8 @@ _gtk_style_context_peek_property (GtkStyleContext *context,
* If you are using a `GtkStyleContext` returned from * If you are using a `GtkStyleContext` returned from
* [method@Gtk.Widget.get_style_context], you do not need to * [method@Gtk.Widget.get_style_context], you do not need to
* call this yourself. * call this yourself.
*
* Deprecated: 4.10: You should not use this api
*/ */
void void
gtk_style_context_set_display (GtkStyleContext *context, gtk_style_context_set_display (GtkStyleContext *context,
@ -780,6 +749,8 @@ gtk_style_context_set_display (GtkStyleContext *context,
* Returns the `GdkDisplay` to which @context is attached. * Returns the `GdkDisplay` to which @context is attached.
* *
* Returns: (transfer none): a `GdkDisplay`. * Returns: (transfer none): a `GdkDisplay`.
*
* Deprecated: 4.10: Use [method@Gtk.Widget.get_display] instead
*/ */
GdkDisplay * GdkDisplay *
gtk_style_context_get_display (GtkStyleContext *context) gtk_style_context_get_display (GtkStyleContext *context)
@ -824,6 +795,8 @@ gtk_style_context_resolve_color (GtkStyleContext *context,
* Looks up and resolves a color name in the @context color map. * Looks up and resolves a color name in the @context color map.
* *
* Returns: %TRUE if @color_name was found and resolved, %FALSE otherwise * Returns: %TRUE if @color_name was found and resolved, %FALSE otherwise
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/ */
gboolean gboolean
gtk_style_context_lookup_color (GtkStyleContext *context, gtk_style_context_lookup_color (GtkStyleContext *context,
@ -850,6 +823,8 @@ gtk_style_context_lookup_color (GtkStyleContext *context,
* @color: (out): return value for the foreground color * @color: (out): return value for the foreground color
* *
* Gets the foreground color for a given state. * Gets the foreground color for a given state.
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/ */
void void
gtk_style_context_get_color (GtkStyleContext *context, gtk_style_context_get_color (GtkStyleContext *context,
@ -867,6 +842,8 @@ gtk_style_context_get_color (GtkStyleContext *context,
* @border: (out): return value for the border settings * @border: (out): return value for the border settings
* *
* Gets the border for a given state as a `GtkBorder`. * Gets the border for a given state as a `GtkBorder`.
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/ */
void void
gtk_style_context_get_border (GtkStyleContext *context, gtk_style_context_get_border (GtkStyleContext *context,
@ -891,6 +868,8 @@ gtk_style_context_get_border (GtkStyleContext *context,
* @padding: (out): return value for the padding settings * @padding: (out): return value for the padding settings
* *
* Gets the padding for a given state as a `GtkBorder`. * Gets the padding for a given state as a `GtkBorder`.
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/ */
void void
gtk_style_context_get_padding (GtkStyleContext *context, gtk_style_context_get_padding (GtkStyleContext *context,
@ -915,6 +894,8 @@ gtk_style_context_get_padding (GtkStyleContext *context,
* @margin: (out): return value for the margin settings * @margin: (out): return value for the margin settings
* *
* Gets the margin for a given state as a `GtkBorder`. * Gets the margin for a given state as a `GtkBorder`.
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/ */
void void
gtk_style_context_get_margin (GtkStyleContext *context, gtk_style_context_get_margin (GtkStyleContext *context,
@ -981,6 +962,8 @@ _gtk_style_context_get_cursor_color (GtkStyleContext *context,
* the format of the returned string, it may change. * the format of the returned string, it may change.
* *
* Returns: a newly allocated string representing @context * Returns: a newly allocated string representing @context
*
* Deprecated: 4.10: This api will be removed in GTK 5
*/ */
char * char *
gtk_style_context_to_string (GtkStyleContext *context, gtk_style_context_to_string (GtkStyleContext *context,

View File

@ -61,72 +61,64 @@ struct _GtkStyleContextClass
GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_ALL
GType gtk_style_context_get_type (void) G_GNUC_CONST; GType gtk_style_context_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_add_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider,
guint priority);
GDK_AVAILABLE_IN_ALL
void gtk_style_context_remove_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider);
GDK_AVAILABLE_IN_ALL
void gtk_style_context_add_provider (GtkStyleContext *context, void gtk_style_context_add_provider (GtkStyleContext *context,
GtkStyleProvider *provider, GtkStyleProvider *provider,
guint priority); guint priority);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_remove_provider (GtkStyleContext *context, void gtk_style_context_remove_provider (GtkStyleContext *context,
GtkStyleProvider *provider); GtkStyleProvider *provider);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_save (GtkStyleContext *context); void gtk_style_context_save (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_restore (GtkStyleContext *context); void gtk_style_context_restore (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_set_state (GtkStyleContext *context, void gtk_style_context_set_state (GtkStyleContext *context,
GtkStateFlags flags); GtkStateFlags flags);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context); GtkStateFlags gtk_style_context_get_state (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_set_scale (GtkStyleContext *context, void gtk_style_context_set_scale (GtkStyleContext *context,
int scale); int scale);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
int gtk_style_context_get_scale (GtkStyleContext *context); int gtk_style_context_get_scale (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_add_class (GtkStyleContext *context, void gtk_style_context_add_class (GtkStyleContext *context,
const char *class_name); const char *class_name);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_remove_class (GtkStyleContext *context, void gtk_style_context_remove_class (GtkStyleContext *context,
const char *class_name); const char *class_name);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
gboolean gtk_style_context_has_class (GtkStyleContext *context, gboolean gtk_style_context_has_class (GtkStyleContext *context,
const char *class_name); const char *class_name);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_set_display (GtkStyleContext *context, void gtk_style_context_set_display (GtkStyleContext *context,
GdkDisplay *display); GdkDisplay *display);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
GdkDisplay *gtk_style_context_get_display (GtkStyleContext *context); GdkDisplay *gtk_style_context_get_display (GtkStyleContext *context);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
gboolean gtk_style_context_lookup_color (GtkStyleContext *context, gboolean gtk_style_context_lookup_color (GtkStyleContext *context,
const char *color_name, const char *color_name,
GdkRGBA *color); GdkRGBA *color);
/* Some helper functions to retrieve most common properties */ /* Some helper functions to retrieve most common properties */
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_get_color (GtkStyleContext *context, void gtk_style_context_get_color (GtkStyleContext *context,
GdkRGBA *color); GdkRGBA *color);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_get_border (GtkStyleContext *context, void gtk_style_context_get_border (GtkStyleContext *context,
GtkBorder *border); GtkBorder *border);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_get_padding (GtkStyleContext *context, void gtk_style_context_get_padding (GtkStyleContext *context,
GtkBorder *padding); GtkBorder *padding);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
void gtk_style_context_get_margin (GtkStyleContext *context, void gtk_style_context_get_margin (GtkStyleContext *context,
GtkBorder *margin); GtkBorder *margin);
@ -137,7 +129,7 @@ typedef enum {
GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE = 1 << 2 GTK_STYLE_CONTEXT_PRINT_SHOW_CHANGE = 1 << 2
} GtkStyleContextPrintFlags; } GtkStyleContextPrintFlags;
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
char * gtk_style_context_to_string (GtkStyleContext *context, char * gtk_style_context_to_string (GtkStyleContext *context,
GtkStyleContextPrintFlags flags); GtkStyleContextPrintFlags flags);

View File

@ -25,6 +25,7 @@ gtk_deprecated_sources = [
'deprecated/gtkiconview.c', 'deprecated/gtkiconview.c',
'deprecated/gtkliststore.c', 'deprecated/gtkliststore.c',
'deprecated/gtkrender.c', 'deprecated/gtkrender.c',
'deprecated/gtkstylecontext.c',
'deprecated/gtktreedatalist.c', 'deprecated/gtktreedatalist.c',
'deprecated/gtktreednd.c', 'deprecated/gtktreednd.c',
'deprecated/gtktreemodel.c', 'deprecated/gtktreemodel.c',
@ -65,6 +66,7 @@ gtk_deprecated_headers = [
'deprecated/gtkiconview.h', 'deprecated/gtkiconview.h',
'deprecated/gtkliststore.h', 'deprecated/gtkliststore.h',
'deprecated/gtkrender.h', 'deprecated/gtkrender.h',
'deprecated/gtkstylecontext.h',
'deprecated/gtktreednd.h', 'deprecated/gtktreednd.h',
'deprecated/gtktreemodel.h', 'deprecated/gtktreemodel.h',
'deprecated/gtktreemodelfilter.h', 'deprecated/gtktreemodelfilter.h',

View File

@ -247,7 +247,7 @@
#include <gtk/gtkstringfilter.h> #include <gtk/gtkstringfilter.h>
#include <gtk/gtkstringlist.h> #include <gtk/gtkstringlist.h>
#include <gtk/gtkstringsorter.h> #include <gtk/gtkstringsorter.h>
#include <gtk/gtkstylecontext.h> #include <gtk/deprecated/gtkstylecontext.h>
#include <gtk/gtkstyleprovider.h> #include <gtk/gtkstyleprovider.h>
#include <gtk/gtkswitch.h> #include <gtk/gtkswitch.h>
#include <gtk/gtksymbolicpaintable.h> #include <gtk/gtksymbolicpaintable.h>

View File

@ -22,6 +22,8 @@
#include "gtkcssstylepropertyprivate.h" #include "gtkcssstylepropertyprivate.h"
#include "gtkprivate.h" #include "gtkprivate.h"
#include "gtkstylepropertyprivate.h" #include "gtkstylepropertyprivate.h"
#include "gtkcssstyleprivate.h"
#include "gtkstyleproviderprivate.h"
#include "gdk/gdkhslaprivate.h" #include "gdk/gdkhslaprivate.h"
#include "gdk/gdkrgbaprivate.h" #include "gdk/gdkrgbaprivate.h"

View File

@ -19,6 +19,7 @@
#include "gtkcsskeyframesprivate.h" #include "gtkcsskeyframesprivate.h"
#include "gtkcssstyleprivate.h"
#include "gtkcssarrayvalueprivate.h" #include "gtkcssarrayvalueprivate.h"
#include "gtkcssshorthandpropertyprivate.h" #include "gtkcssshorthandpropertyprivate.h"
#include "gtkcssstylepropertyprivate.h" #include "gtkcssstylepropertyprivate.h"

View File

@ -24,7 +24,7 @@
#include "gtkcssstylechangeprivate.h" #include "gtkcssstylechangeprivate.h"
#include "gtkbitmaskprivate.h" #include "gtkbitmaskprivate.h"
#include "gtkcsstypesprivate.h" #include "gtkcsstypesprivate.h"
#include "gtkstylecontext.h" #include "deprecated/gtkstylecontext.h"
#include "gtklistlistmodelprivate.h" #include "gtklistlistmodelprivate.h"
G_BEGIN_DECLS G_BEGIN_DECLS

View File

@ -18,12 +18,12 @@
#include "config.h" #include "config.h"
#include "gtkcssselectorprivate.h" #include "gtkcssselectorprivate.h"
#include "gtkcssnodeprivate.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "gtkcssprovider.h" #include "gtkcssprovider.h"
#include "gtkstylecontextprivate.h"
#include <errno.h> #include <errno.h>
#if defined(_MSC_VER) && _MSC_VER >= 1500 #if defined(_MSC_VER) && _MSC_VER >= 1500

View File

@ -20,7 +20,6 @@
#include "gtkcsstypesprivate.h" #include "gtkcsstypesprivate.h"
#include "gtkcssnumbervalueprivate.h" #include "gtkcssnumbervalueprivate.h"
#include "gtkstylecontextprivate.h"
void void
gtk_css_change_print (GtkCssChange change, gtk_css_change_print (GtkCssChange change,

View File

@ -22,7 +22,7 @@
#include "gtkcssanimatedstyleprivate.h" #include "gtkcssanimatedstyleprivate.h"
#include "gtkprivate.h" #include "gtkprivate.h"
#include "gtksettingsprivate.h" #include "gtksettingsprivate.h"
#include "gtkstylecontextprivate.h" #include "deprecated/gtkstylecontextprivate.h"
#include "gtkwidgetprivate.h" #include "gtkwidgetprivate.h"
#include "gtkwindowprivate.h" #include "gtkwindowprivate.h"

View File

@ -48,7 +48,6 @@
#include "gtkprivate.h" #include "gtkprivate.h"
#include "gtksettingsprivate.h" #include "gtksettingsprivate.h"
#include "gtksnapshot.h" #include "gtksnapshot.h"
#include "gtkstylecontextprivate.h"
#include "gtkstyleproviderprivate.h" #include "gtkstyleproviderprivate.h"
#include "gtksymbolicpaintable.h" #include "gtksymbolicpaintable.h"
#include "gtkwidgetprivate.h" #include "gtkwidgetprivate.h"

View File

@ -36,7 +36,7 @@
#include "gdk/gdkkeysyms.h" #include "gdk/gdkkeysyms.h"
#include "gdk/win32/gdkwin32.h" #include "gdk/win32/gdkwin32.h"
#include "gtk/gtkimmodule.h" #include "gtk/gtkimmodule.h"
#include "gtk/gtkstylecontextprivate.h" #include "gtk/deprecated/gtkstylecontextprivate.h"
#include "gtk/gtkcssstyleprivate.h" #include "gtk/gtkcssstyleprivate.h"
/* avoid warning */ /* avoid warning */

View File

@ -45,7 +45,6 @@
#include "gtkpopovermenuprivate.h" #include "gtkpopovermenuprivate.h"
#include "gtkorientable.h" #include "gtkorientable.h"
#include "gtksizerequest.h" #include "gtksizerequest.h"
#include "gtkstylecontextprivate.h"
#include "gtkprivate.h" #include "gtkprivate.h"
#include "gtkstack.h" #include "gtkstack.h"
#include "gtktypebuiltins.h" #include "gtktypebuiltins.h"

View File

@ -21,8 +21,8 @@
#include "config.h" #include "config.h"
#include "gtkpopovercontentprivate.h" #include "gtkpopovercontentprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtkcssstylechangeprivate.h"
#include "gtkwidgetprivate.h" #include "gtkwidgetprivate.h"
#include "gtkprivate.h" #include "gtkprivate.h"

View File

@ -23,7 +23,7 @@
#include "gtkcssproviderprivate.h" #include "gtkcssproviderprivate.h"
#include "gtkprivate.h" #include "gtkprivate.h"
#include "gtkscrolledwindow.h" #include "gtkscrolledwindow.h"
#include "gtkstylecontextprivate.h" #include "deprecated/gtkstylecontextprivate.h"
#include "gtkstyleproviderprivate.h" #include "gtkstyleproviderprivate.h"
#include "gtktypebuiltins.h" #include "gtktypebuiltins.h"
#include "gtkversion.h" #include "gtkversion.h"

View File

@ -24,7 +24,6 @@
#include "gtkcssshadowvalueprivate.h" #include "gtkcssshadowvalueprivate.h"
#include "gtkdebug.h" #include "gtkdebug.h"
#include "gtkrendernodepaintableprivate.h" #include "gtkrendernodepaintableprivate.h"
#include "gtkstylecontextprivate.h"
#include "gsktransformprivate.h" #include "gsktransformprivate.h"
#include "gdk/gdkrgbaprivate.h" #include "gdk/gdkrgbaprivate.h"

View File

@ -21,7 +21,6 @@
#include <gtk/css/gtkcss.h> #include <gtk/css/gtkcss.h>
#include "gtk/css/gtkcsstokenizerprivate.h" #include "gtk/css/gtkcsstokenizerprivate.h"
#include "gtk/css/gtkcssparserprivate.h" #include "gtk/css/gtkcssparserprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtkcssvalueprivate.h" #include "gtkcssvalueprivate.h"
G_BEGIN_DECLS G_BEGIN_DECLS

View File

@ -17,6 +17,7 @@
#include "config.h" #include "config.h"
#include "gtksettingsprivate.h"
#include "gtkstyleproviderprivate.h" #include "gtkstyleproviderprivate.h"
#include "gtkprivate.h" #include "gtkprivate.h"
@ -168,3 +169,65 @@ gtk_style_provider_emit_error (GtkStyleProvider *provider,
if (iface->emit_error) if (iface->emit_error)
iface->emit_error (provider, section, error); iface->emit_error (provider, section, error);
} }
/* These apis are misnamed, and the rest of GtkStyleContext is deprecated,
* so put them here for now
*/
/**
* gtk_style_context_add_provider_for_display:
* @display: a `GdkDisplay`
* @provider: a `GtkStyleProvider`
* @priority: the priority of the style provider. The lower
* it is, the earlier it will be used in the style construction.
* Typically this will be in the range between
* %GTK_STYLE_PROVIDER_PRIORITY_FALLBACK and
* %GTK_STYLE_PROVIDER_PRIORITY_USER
*
* Adds a global style provider to @display, which will be used
* in style construction for all `GtkStyleContexts` under @display.
*
* GTK uses this to make styling information from `GtkSettings`
* available.
*
* Note: If both priorities are the same, A `GtkStyleProvider`
* added through [method@Gtk.StyleContext.add_provider] takes
* precedence over another added through this function.
*/
void
gtk_style_context_add_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider,
guint priority)
{
GtkStyleCascade *cascade;
g_return_if_fail (GDK_IS_DISPLAY (display));
g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider));
g_return_if_fail (!GTK_IS_SETTINGS (provider) || _gtk_settings_get_display (GTK_SETTINGS (provider)) == display);
cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1);
_gtk_style_cascade_add_provider (cascade, provider, priority);
}
/**
* gtk_style_context_remove_provider_for_display:
* @display: a `GdkDisplay`
* @provider: a `GtkStyleProvider`
*
* Removes @provider from the global style providers list in @display.
*/
void
gtk_style_context_remove_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider)
{
GtkStyleCascade *cascade;
g_return_if_fail (GDK_IS_DISPLAY (display));
g_return_if_fail (GTK_IS_STYLE_PROVIDER (provider));
g_return_if_fail (!GTK_IS_SETTINGS (provider));
cascade = _gtk_settings_get_style_cascade (gtk_settings_get_for_display (display), 1);
_gtk_style_cascade_remove_provider (cascade, provider);
}

View File

@ -90,6 +90,15 @@ GType gtk_style_provider_get_type (void) G_GNUC_CONST;
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkStyleProvider, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkStyleProvider, g_object_unref)
GDK_AVAILABLE_IN_ALL
void gtk_style_context_add_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider,
guint priority);
GDK_AVAILABLE_IN_ALL
void gtk_style_context_remove_provider_for_display (GdkDisplay *display,
GtkStyleProvider *provider);
G_END_DECLS G_END_DECLS
#endif /* __GTK_STYLE_PROVIDER_H__ */ #endif /* __GTK_STYLE_PROVIDER_H__ */

View File

@ -19,6 +19,7 @@
#define __GTK_STYLE_PROVIDER_PRIVATE_H__ #define __GTK_STYLE_PROVIDER_PRIVATE_H__
#include <glib-object.h> #include <glib-object.h>
#include <gtk/gtkstyleprovider.h>
#include "gtk/gtkcountingbloomfilterprivate.h" #include "gtk/gtkcountingbloomfilterprivate.h"
#include "gtk/gtkcsskeyframesprivate.h" #include "gtk/gtkcsskeyframesprivate.h"
#include "gtk/gtkcsslookupprivate.h" #include "gtk/gtkcsslookupprivate.h"

View File

@ -28,7 +28,6 @@
#include "gtktextutilprivate.h" #include "gtktextutilprivate.h"
#include "gtkcsscolorvalueprivate.h" #include "gtkcsscolorvalueprivate.h"
#include "gtkstylecontextprivate.h"
#include "gtktextbuffer.h" #include "gtktextbuffer.h"
#include "gtktextlayoutprivate.h" #include "gtktextlayoutprivate.h"
#include "gtkwidgetprivate.h" #include "gtkwidgetprivate.h"

View File

@ -65,7 +65,7 @@
#include "gtkshortcuttrigger.h" #include "gtkshortcuttrigger.h"
#include "gtksizegroup-private.h" #include "gtksizegroup-private.h"
#include "gtksnapshotprivate.h" #include "gtksnapshotprivate.h"
#include "gtkstylecontextprivate.h" #include "deprecated/gtkstylecontextprivate.h"
#include "gtktooltipprivate.h" #include "gtktooltipprivate.h"
#include "gsktransformprivate.h" #include "gsktransformprivate.h"
#include "gtktypebuiltins.h" #include "gtktypebuiltins.h"
@ -2442,8 +2442,10 @@ gtk_widget_root (GtkWidget *widget)
priv->root = priv->parent->priv->root; priv->root = priv->parent->priv->root;
} }
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
if (priv->context) if (priv->context)
gtk_style_context_set_display (priv->context, gtk_root_get_display (priv->root)); gtk_style_context_set_display (priv->context, gtk_root_get_display (priv->root));
G_GNUC_END_IGNORE_DEPRECATIONS
if (priv->surface_transform_data) if (priv->surface_transform_data)
add_parent_surface_transform_changed_listener (widget); add_parent_surface_transform_changed_listener (widget);
@ -2479,8 +2481,10 @@ gtk_widget_unroot (GtkWidget *widget)
GTK_WIDGET_GET_CLASS (widget)->unroot (widget); GTK_WIDGET_GET_CLASS (widget)->unroot (widget);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
if (priv->context) if (priv->context)
gtk_style_context_set_display (priv->context, gdk_display_get_default ()); gtk_style_context_set_display (priv->context, gdk_display_get_default ());
G_GNUC_END_IGNORE_DEPRECATIONS
if (priv->layout_manager) if (priv->layout_manager)
gtk_layout_manager_set_root (priv->layout_manager, NULL); gtk_layout_manager_set_root (priv->layout_manager, NULL);
@ -3410,10 +3414,12 @@ gtk_widget_realize (GtkWidget *widget)
g_signal_emit (widget, widget_signals[REALIZE], 0); g_signal_emit (widget, widget_signals[REALIZE], 0);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
if (priv->context) if (priv->context)
gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget)); gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget));
else else
gtk_widget_get_style_context (widget); gtk_widget_get_style_context (widget);
G_GNUC_END_IGNORE_DEPRECATIONS
gtk_widget_pop_verify_invariants (widget); gtk_widget_pop_verify_invariants (widget);
} }
@ -6737,8 +6743,10 @@ _gtk_widget_scale_changed (GtkWidget *widget)
g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (GTK_IS_WIDGET (widget));
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
if (priv->context) if (priv->context)
gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget)); gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget));
G_GNUC_END_IGNORE_DEPRECATIONS
g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_SCALE_FACTOR]); g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_SCALE_FACTOR]);
@ -10712,6 +10720,8 @@ _gtk_widget_peek_style_context (GtkWidget *widget)
* for the lifetime of @widget. * for the lifetime of @widget.
* *
* Returns: (transfer none): the widgets `GtkStyleContext` * Returns: (transfer none): the widgets `GtkStyleContext`
*
* Deprecated: 4.10: Style contexts will be removed in GTK 5
*/ */
GtkStyleContext * GtkStyleContext *
gtk_widget_get_style_context (GtkWidget *widget) gtk_widget_get_style_context (GtkWidget *widget)
@ -10726,11 +10736,13 @@ gtk_widget_get_style_context (GtkWidget *widget)
priv->context = gtk_style_context_new_for_node (priv->cssnode); priv->context = gtk_style_context_new_for_node (priv->cssnode);
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget)); gtk_style_context_set_scale (priv->context, gtk_widget_get_scale_factor (widget));
display = _gtk_widget_get_display (widget); display = _gtk_widget_get_display (widget);
if (display) if (display)
gtk_style_context_set_display (priv->context, display); gtk_style_context_set_display (priv->context, display);
G_GNUC_END_IGNORE_DEPRECATIONS
} }
return priv->context; return priv->context;

View File

@ -706,7 +706,7 @@ void gtk_requisition_free (GtkRequisition *requisition);
GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_ALL
gboolean gtk_widget_in_destruction (GtkWidget *widget); gboolean gtk_widget_in_destruction (GtkWidget *widget);
GDK_AVAILABLE_IN_ALL GDK_DEPRECATED_IN_4_10
GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget); GtkStyleContext * gtk_widget_get_style_context (GtkWidget *widget);
GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_ALL

View File

@ -446,15 +446,6 @@ _gtk_widget_get_display (GtkWidget *widget)
return gtk_root_get_display (root); return gtk_root_get_display (root);
} }
static inline GtkStyleContext *
_gtk_widget_get_style_context (GtkWidget *widget)
{
if (G_LIKELY (widget->priv->context))
return widget->priv->context;
return gtk_widget_get_style_context (widget);
}
static inline gpointer static inline gpointer
_gtk_widget_peek_request_cache (GtkWidget *widget) _gtk_widget_peek_request_cache (GtkWidget *widget)
{ {

View File

@ -28,7 +28,6 @@
#include "gtkcssprovider.h" #include "gtkcssprovider.h"
#include "gtkstyleprovider.h" #include "gtkstyleprovider.h"
#include "gtkstylecontext.h"
#include "gtktextview.h" #include "gtktextview.h"
#include "gtkmessagedialog.h" #include "gtkmessagedialog.h"
#include "gtkfilechooserdialog.h" #include "gtkfilechooserdialog.h"

View File

@ -22,7 +22,7 @@
#include "graphdata.h" #include "graphdata.h"
#include "gtksnapshot.h" #include "gtksnapshot.h"
#include "gtkstylecontext.h" #include "deprecated/gtkstylecontext.h"
enum { enum {
PROP_0, PROP_0,
@ -155,8 +155,10 @@ graph_renderer_snapshot (GtkWidget *widget,
diff = maximum - minimum; diff = maximum - minimum;
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
context = gtk_widget_get_style_context (widget); context = gtk_widget_get_style_context (widget);
gtk_style_context_get_color (context, &color); gtk_style_context_get_color (context, &color);
G_GNUC_END_IGNORE_DEPRECATIONS
cr = gtk_snapshot_append_cairo (snapshot, cr = gtk_snapshot_append_cairo (snapshot,
&GRAPHENE_RECT_INIT ( &GRAPHENE_RECT_INIT (

View File

@ -63,7 +63,6 @@
#include "gtkrevealer.h" #include "gtkrevealer.h"
#include "gtklayoutmanager.h" #include "gtklayoutmanager.h"
#include "gtkcssprovider.h" #include "gtkcssprovider.h"
#include "gtkstylecontext.h"
#include "gtkwidgetprivate.h" #include "gtkwidgetprivate.h"

View File

@ -362,7 +362,6 @@ gtk_public_sources = files([
'gtkstringfilter.c', 'gtkstringfilter.c',
'gtkstringlist.c', 'gtkstringlist.c',
'gtkstringsorter.c', 'gtkstringsorter.c',
'gtkstylecontext.c',
'gtkstyleprovider.c', 'gtkstyleprovider.c',
'gtkswitch.c', 'gtkswitch.c',
'gtksymbolicpaintable.c', 'gtksymbolicpaintable.c',
@ -602,7 +601,6 @@ gtk_public_headers = files([
'gtkstringfilter.h', 'gtkstringfilter.h',
'gtkstringlist.h', 'gtkstringlist.h',
'gtkstringsorter.h', 'gtkstringsorter.h',
'gtkstylecontext.h',
'gtkstyleprovider.h', 'gtkstyleprovider.h',
'gtkswitch.h', 'gtkswitch.h',
'gtksymbolicpaintable.h', 'gtksymbolicpaintable.h',