summaryrefslogtreecommitdiff
path: root/gtk/gtkrc.h
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2001-06-30 16:08:25 +0000
committerOwen Taylor <otaylor@src.gnome.org>2001-06-30 16:08:25 +0000
commitfbfc305174af29d630846194586211dbfd9f1373 (patch)
tree8881bfa53ed6263e6cb4b221ab2a65b1a538b8a1 /gtk/gtkrc.h
parentba023112348763c904aa7c2a60e02536a053af91 (diff)
downloadgtk+-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.h47
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