X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkstyleprovider.h;h=81bf5d6a6007abc2d693b5f1c3c17cf1a2a44f0a;hb=1ddfc3a985d7b7652a0106699b2cf2d2abf7abe3;hp=6e12bb3c662ba97223314c9d83ad224d7d02d67c;hpb=7c5c4d86aefd6e39d7f23eaf4e107467300b9295;p=~andy%2Fgtk
diff --git a/gtk/gtkstyleprovider.h b/gtk/gtkstyleprovider.h
index 6e12bb3c6..81bf5d6a6 100644
--- a/gtk/gtkstyleprovider.h
+++ b/gtk/gtkstyleprovider.h
@@ -12,18 +12,21 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see .
*/
#ifndef __GTK_STYLE_PROVIDER_H__
#define __GTK_STYLE_PROVIDER_H__
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only can be included directly."
+#endif
+
#include
-#include "gtkwidgetpath.h"
-#include "gtkstyleset.h"
-#include "gtkenums.h"
+#include
+#include
+#include
+#include
G_BEGIN_DECLS
@@ -32,29 +35,93 @@ G_BEGIN_DECLS
#define GTK_IS_STYLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_STYLE_PROVIDER))
#define GTK_STYLE_PROVIDER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GTK_TYPE_STYLE_PROVIDER, GtkStyleProviderIface))
-typedef struct GtkStyleProviderIface GtkStyleProviderIface;
-typedef struct GtkStyleProvider GtkStyleProvider; /* dummy typedef */
+/**
+ * GTK_STYLE_PROVIDER_PRIORITY_FALLBACK:
+ *
+ * The priority used for default style information
+ * that is used in the absence of themes.
+ */
+#define GTK_STYLE_PROVIDER_PRIORITY_FALLBACK 1
-typedef enum {
- GTK_SELECTOR_TYPE_PATH,
- GTK_SELECTOR_TYPE_NAME,
- GTK_SELECTOR_TYPE_CLASS_PATH,
- GTK_SELECTOR_TYPE_CLASS_NAME
-} GtkSelectorType;
+/**
+ * GTK_STYLE_PROVIDER_PRIORITY_THEME:
+ *
+ * The priority used for style information provided
+ * by themes.
+ */
+#define GTK_STYLE_PROVIDER_PRIORITY_THEME 200
-struct GtkStyleProviderIface
+/**
+ * GTK_STYLE_PROVIDER_PRIORITY_SETTINGS:
+ *
+ * The priority used for style information provided
+ * via #GtkSettings.
+ *
+ * This priority is higher than #GTK_STYLE_PROVIDER_PRIORITY_THEME
+ * to let settings override themes.
+ */
+#define GTK_STYLE_PROVIDER_PRIORITY_SETTINGS 400
+
+/**
+ * GTK_STYLE_PROVIDER_PRIORITY_APPLICATION:
+ *
+ * A priority that can be used when adding a #GtkStyleProvider
+ * for application-specific style information.
+ */
+#define GTK_STYLE_PROVIDER_PRIORITY_APPLICATION 600
+
+/**
+ * GTK_STYLE_PROVIDER_PRIORITY_USER:
+ *
+ * The priority used for the style information from
+ * ~/.gtk-3.0.css.
+ *
+ * You should not use priorities higher than this, to
+ * give the user the last word.
+ */
+#define GTK_STYLE_PROVIDER_PRIORITY_USER 800
+
+typedef struct _GtkStyleProviderIface GtkStyleProviderIface;
+typedef struct _GtkStyleProvider GtkStyleProvider; /* dummy typedef */
+
+/**
+ * GtkStyleProviderIface:
+ * @get_style: Gets a set of style information that applies to a widget path.
+ * @get_style_property: Gets the value of a widget style property that applies to a widget path.
+ * @get_icon_factory: Gets the icon factory that applies to a widget path.
+ */
+struct _GtkStyleProviderIface
{
GTypeInterface g_iface;
- GtkStyleSet * (* get_style) (GtkStyleProvider *provider,
- GtkWidgetPath *path);
+ GtkStyleProperties * (* get_style) (GtkStyleProvider *provider,
+ GtkWidgetPath *path);
+
+ gboolean (* get_style_property) (GtkStyleProvider *provider,
+ GtkWidgetPath *path,
+ GtkStateFlags state,
+ GParamSpec *pspec,
+ GValue *value);
+
+ GtkIconFactory * (* get_icon_factory) (GtkStyleProvider *provider,
+ GtkWidgetPath *path);
};
GType gtk_style_provider_get_type (void) G_GNUC_CONST;
-GtkStyleSet *gtk_style_provider_get_style (GtkStyleProvider *provider,
- GtkWidgetPath *path);
+GDK_DEPRECATED_IN_3_8
+GtkStyleProperties *gtk_style_provider_get_style (GtkStyleProvider *provider,
+ GtkWidgetPath *path);
+
+gboolean gtk_style_provider_get_style_property (GtkStyleProvider *provider,
+ GtkWidgetPath *path,
+ GtkStateFlags state,
+ GParamSpec *pspec,
+ GValue *value);
+GDK_DEPRECATED_IN_3_8_FOR(NULL)
+GtkIconFactory * gtk_style_provider_get_icon_factory (GtkStyleProvider *provider,
+ GtkWidgetPath *path);
G_END_DECLS