]> Pileus Git - ~andy/gtk/blob - gtk/gtkcsssection.h
Merge branch 'bgo593793-filechooser-recent-folders-master'
[~andy/gtk] / gtk / gtkcsssection.h
1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 2011 Red Hat, Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 #ifndef __GTK_CSS_SECTION_H__
21 #define __GTK_CSS_SECTION_H__
22
23 #include <gio/gio.h>
24
25 G_BEGIN_DECLS
26
27 #define GTK_TYPE_CSS_SECTION         (gtk_css_section_get_type ())
28
29 /**
30  * GtkCssSection:
31  * @GTK_CSS_SECTION_DOCUMENT: The section describes a complete document.
32  *   This section time is the only one where gtk_css_section_get_parent()
33  *   might return %NULL.
34  * @GTK_CSS_SECTION_IMPORT: The section defines an import rule.
35  * @GTK_CSS_SECTION_COLOR_DEFINITION: The section defines a color. This
36  *   is a GTK extension to CSS.
37  * @GTK_CSS_SECTION_BINDING_SET: The section defines a binding set. This
38  *   is a GTK extension to CSS.
39  * @GTK_CSS_SECTION_RULESET: The section defines a CSS ruleset.
40  * @GTK_CSS_SECTION_SELECTOR: The section defines a CSS selector.
41  * @GTK_CSS_SECTION_DECLARATION: The section defines the declaration of
42  *   a CSS variable.
43  * @GTK_CSS_SECTION_VALUE: The section defines the value of a CSS declaration.
44  *
45  * The different types of sections indicate parts of a CSS document as
46  * parsed by GTK's CSS parser. They are oriented towards the CSS grammar
47  * <ulink url="http://www.w3.org/TR/CSS21/grammar.html">CSS grammer</ulink>,
48  * but may contain extensions.
49  *
50  * More types might be added in the future as the parser incorporates
51  * more features.
52  *
53  * Since: 3.2
54  */
55 typedef enum
56 {
57   GTK_CSS_SECTION_DOCUMENT,
58   GTK_CSS_SECTION_IMPORT,
59   GTK_CSS_SECTION_COLOR_DEFINITION,
60   GTK_CSS_SECTION_BINDING_SET,
61   GTK_CSS_SECTION_RULESET,
62   GTK_CSS_SECTION_SELECTOR,
63   GTK_CSS_SECTION_DECLARATION,
64   GTK_CSS_SECTION_VALUE
65 } GtkCssSectionType;
66
67 typedef struct _GtkCssSection GtkCssSection;
68
69 GType              gtk_css_section_get_type            (void) G_GNUC_CONST;
70
71 GtkCssSection *    gtk_css_section_ref                 (GtkCssSection        *section);
72 void               gtk_css_section_unref               (GtkCssSection        *section);
73
74 GtkCssSectionType  gtk_css_section_get_section_type    (const GtkCssSection  *section);
75 GtkCssSection *    gtk_css_section_get_parent          (const GtkCssSection  *section);
76 GFile *            gtk_css_section_get_file            (const GtkCssSection  *section);
77 guint              gtk_css_section_get_start_line      (const GtkCssSection  *section);
78 guint              gtk_css_section_get_start_position  (const GtkCssSection  *section);
79 guint              gtk_css_section_get_end_line        (const GtkCssSection  *section);
80 guint              gtk_css_section_get_end_position    (const GtkCssSection  *section);
81
82 G_END_DECLS
83
84 #endif /* __GTK_CSS_SECTION_H__ */