]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcssselectorprivate.h
entrycompletion: Don't reconnect signals all the time
[~andy/gtk] / gtk / gtkcssselectorprivate.h
index 5a158824d81eacff2c44c429ba73a9fc537e9888..17e3618d5f71292a2a2a357c799d568856e21541 100644 (file)
  * 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 <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __GTK_CSS_SELECTOR_PRIVATE_H__
 #define __GTK_CSS_SELECTOR_PRIVATE_H__
 
-#include <gtk/gtkenums.h>
-#include <gtk/gtkwidgetpath.h>
+#include "gtk/gtkcssmatcherprivate.h"
+#include "gtk/gtkcssparserprivate.h"
 
 G_BEGIN_DECLS
 
-typedef enum {
-  GTK_CSS_COMBINE_DESCANDANT,
-  GTK_CSS_COMBINE_CHILD
-} GtkCssCombinator;
-
 typedef struct _GtkCssSelector GtkCssSelector;
+typedef struct _GtkCssSelectorTree GtkCssSelectorTree;
+typedef struct _GtkCssSelectorTreeBuilder GtkCssSelectorTreeBuilder;
 
-GtkCssSelector *  _gtk_css_selector_new             (GtkCssSelector         *previous,
-                                                     GtkCssCombinator        combine,
-                                                     const char *            name,
-                                                     GQuark *                ids,
-                                                     GQuark *                classes,
-                                                     GtkRegionFlags          pseudo_classes,
-                                                     GtkStateFlags           state);
+GtkCssSelector *  _gtk_css_selector_parse           (GtkCssParser           *parser);
 void              _gtk_css_selector_free            (GtkCssSelector         *selector);
 
 char *            _gtk_css_selector_to_string       (const GtkCssSelector   *selector);
 void              _gtk_css_selector_print           (const GtkCssSelector   *selector,
                                                      GString                *str);
 
-GtkStateFlags     _gtk_css_selector_get_state_flags (GtkCssSelector         *selector);
-
 gboolean          _gtk_css_selector_matches         (const GtkCssSelector   *selector,
-                                                     /* const */ GtkWidgetPath *path,
-                                                     guint                   length);
+                                                     const GtkCssMatcher    *matcher);
 int               _gtk_css_selector_compare         (const GtkCssSelector   *a,
                                                      const GtkCssSelector   *b);
 
+void         _gtk_css_selector_tree_free             (GtkCssSelectorTree       *tree);
+GPtrArray *  _gtk_css_selector_tree_match_all        (const GtkCssSelectorTree *tree,
+                                                     const GtkCssMatcher      *matcher);
+GtkCssChange _gtk_css_selector_tree_get_change_all   (const GtkCssSelectorTree *tree,
+                                                     const GtkCssMatcher *matcher);
+void         _gtk_css_selector_tree_match_print      (const GtkCssSelectorTree *tree,
+                                                     GString                  *str);
+GtkCssChange _gtk_css_selector_tree_match_get_change (const GtkCssSelectorTree *tree);
+
+
+GtkCssSelectorTreeBuilder *_gtk_css_selector_tree_builder_new   (void);
+void                       _gtk_css_selector_tree_builder_add   (GtkCssSelectorTreeBuilder *builder,
+                                                                GtkCssSelector            *selectors,
+                                                                GtkCssSelectorTree       **selector_match,
+                                                                gpointer                   match);
+GtkCssSelectorTree *       _gtk_css_selector_tree_builder_build (GtkCssSelectorTreeBuilder *builder);
+void                       _gtk_css_selector_tree_builder_free  (GtkCssSelectorTreeBuilder *builder);
+
 G_END_DECLS
 
 #endif /* __GTK_CSS_SELECTOR_PRIVATE_H__ */