diff options
author | Owen Taylor <otaylor@redhat.com> | 2001-06-30 16:08:25 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2001-06-30 16:08:25 +0000 |
commit | fbfc305174af29d630846194586211dbfd9f1373 (patch) | |
tree | 8881bfa53ed6263e6cb4b221ab2a65b1a538b8a1 /gtk/gtkrc.h | |
parent | ba023112348763c904aa7c2a60e02536a053af91 (diff) | |
download | gtk+-fbfc305174af29d630846194586211dbfd9f1373.tar.gz |
Allow %NULL for style to mean "revert to default style"
Tue Jun 26 19:39:03 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
for style to mean "revert to default style"
* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
gtk_widget_restore_default_style): Make this functions
deprecated aliases for gtk_widget_set_style (widget, NULL).
* gtk/gtkwidget.[ch]: Remove:
gtk_widget_set_default_style ()
gtk_widget_push_style ()
gtk_widget_pop_style ()
These functions interact are overriden by RC files, and
thus virtually useless, and complicated.
Fri Jun 22 18:49:48 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c: Add a GtkRcContext structure to hold
most of the previous global variables in gtkrc.c. This is
in preparation for multi-head, since each screen can
have different GtkSettings and RC information.
* gtk/gtkrc.[ch]:
* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
GtkSettings parameter to GtkRcStyle::parse.
* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
Add two new settings gtk-theme-name, gtk-key-theme-name,
for RC files that are loaded by name after reading
the default RC files.
* gtk/gtkrc.c: Allow priorities for styles, as wll as
bindings.
* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
and use it by default for RC files loaded via
gtk-theme-name, gtk-key-theme-name.
* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
tests/testgtkrc: Require pathnames to be absolute.
* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
the source when parsing, since the operation of looking up a
pixmap from an RC file depends on the parsing context.
* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
reset RC styles on all widgets when files are reparsed.
* tests/testgtk.c (create_rc_file)
gtk/gtkwindow.c (gtk_window_read_rcfiles):
Simplify, now that gtk_rc_reparse_all() resets styles on
all widgets itself.
* gtk/gtkmain.c (gtk_get_default_language): Fix broken
return value.
* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
GtkSettings argument.
* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
gtk_settings_get_global().
* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
to get the appropriate GtkSettings for a widget. (For now,
just gets the default GtkSetttings.)
* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
changes.
* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
getting a style for a path without actually having a widget.
(Allows using a style for a subpart of a widget, for
example.)
* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
the RC files to be reloaded for just one GtkSettings
(not sure how useful this really is.)
* gtk/gtkrc.h: Deprecate
gtk_rc_add_widget_name/widget_class/class_style
Diffstat (limited to 'gtk/gtkrc.h')
-rw-r--r-- | gtk/gtkrc.h | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/gtk/gtkrc.h b/gtk/gtkrc.h index 1507b177ac..d655ca2b00 100644 --- a/gtk/gtkrc.h +++ b/gtk/gtkrc.h @@ -29,17 +29,17 @@ #include <gtk/gtkstyle.h> -#include <gtk/gtkwidget.h> #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ -/* Forward declaration */ -typedef struct _GtkIconFactory GtkIconFactory; +/* Forward declarations */ +typedef struct _GtkIconFactory GtkIconFactory; +typedef struct _GtkRcContext GtkRcContext; +typedef struct _GtkSettings GtkSettings; typedef struct _GtkRcStyleClass GtkRcStyleClass; -typedef struct _GtkRCContext GtkRcContext; #define GTK_TYPE_RC_STYLE (gtk_rc_style_get_type ()) #define GTK_RC_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_RC_STYLE, GtkRcStyle)) @@ -74,7 +74,7 @@ struct _GtkRcStyle gint xthickness; gint ythickness; - + /*< private >*/ GBSearchArray *rc_properties; @@ -99,8 +99,9 @@ struct _GtkRcStyleClass * of brackets. Returns G_TOKEN_NONE if succesful, otherwise returns * the token it expected but didn't get. */ - guint (*parse) (GtkRcStyle *rc_style, - GScanner *scanner); + guint (*parse) (GtkRcStyle *rc_style, + GtkSettings *settings, + GScanner *scanner); /* Combine RC style data from src into dest. If overriden, this * function should chain to the parent. @@ -117,18 +118,30 @@ void _gtk_rc_init (void); void gtk_rc_add_default_file (const gchar *filename); void gtk_rc_set_default_files (gchar **filenames); gchar** gtk_rc_get_default_files (void); -void gtk_rc_parse (const gchar *filename); -void gtk_rc_parse_string (const gchar *rc_string); GtkStyle* gtk_rc_get_style (GtkWidget *widget); +GtkStyle* gtk_rc_get_style_by_paths (GtkSettings *settings, + const char *widget_path, + const char *class_path, + GType type); +gboolean gtk_rc_reparse_all_for_settings (GtkSettings *settings, + gboolean force_load); +gchar* gtk_rc_find_pixmap_in_path (GtkSettings *context, + GScanner *scanner, + const gchar *pixmap_file); + +void gtk_rc_parse (const gchar *filename); +void gtk_rc_parse_string (const gchar *rc_string); gboolean gtk_rc_reparse_all (void); -void gtk_rc_add_widget_name_style (GtkRcStyle *rc_style, - const gchar *pattern); -void gtk_rc_add_widget_class_style (GtkRcStyle *rc_style, - const gchar *pattern); -void gtk_rc_add_class_style (GtkRcStyle *rc_style, - const gchar *pattern); +#ifndef GTK_DISABLE_DEPRECATED +void gtk_rc_add_widget_name_style (GtkRcStyle *rc_style, + const gchar *pattern); +void gtk_rc_add_widget_class_style (GtkRcStyle *rc_style, + const gchar *pattern); +void gtk_rc_add_class_style (GtkRcStyle *rc_style, + const gchar *pattern); +#endif /* GTK_DISABLE_DEPRECATED */ GType gtk_rc_style_get_type (void) G_GNUC_CONST; @@ -137,8 +150,6 @@ GtkRcStyle* gtk_rc_style_copy (GtkRcStyle *orig); void gtk_rc_style_ref (GtkRcStyle *rc_style); void gtk_rc_style_unref (GtkRcStyle *rc_style); -gchar* gtk_rc_find_pixmap_in_path (GScanner *scanner, - const gchar *pixmap_file); gchar* gtk_rc_find_module_in_path (const gchar *module_file); gchar* gtk_rc_get_theme_dir (void); gchar* gtk_rc_get_module_dir (void); @@ -174,6 +185,7 @@ typedef enum { GTK_RC_TOKEN_LOWEST, GTK_RC_TOKEN_GTK, GTK_RC_TOKEN_APPLICATION, + GTK_RC_TOKEN_THEME, GTK_RC_TOKEN_RC, GTK_RC_TOKEN_HIGHEST, GTK_RC_TOKEN_ENGINE, @@ -212,7 +224,6 @@ const GtkRcProperty* _gtk_rc_style_lookup_rc_property (GtkRcStyle *rc_style, GQuark type_name, GQuark property_name); - #ifdef G_OS_WIN32 gchar* gtk_win32_get_installation_directory (void); #endif |