[gtk+] css: Add a :dnd pseudoclass



commit cbde3ee01f5dd25cba8107a237ac7c56411543a1
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Dec 2 23:23:36 2015 -0500

    css: Add a :dnd pseudoclass
    
    This will be used for drag highlighting.

 gtk/gtkcssselector.c                              |    6 ++++--
 gtk/gtkenums.h                                    |    4 +++-
 gtk/gtkwidgetprivate.h                            |    2 +-
 testsuite/css/parser/pseudo-classes-known.css     |    4 ++++
 testsuite/css/parser/pseudo-classes-known.ref.css |    4 ++++
 5 files changed, 16 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkcssselector.c b/gtk/gtkcssselector.c
index a185cd6..0647c29 100644
--- a/gtk/gtkcssselector.c
+++ b/gtk/gtkcssselector.c
@@ -744,7 +744,8 @@ print_pseudoclass_state (const GtkCssSelector *selector,
     "dir(rtl)",
     "link",
     "visited",
-    "checked"
+    "checked",
+    "dnd"
   };
   guint i;
 
@@ -1188,7 +1189,8 @@ parse_selector_pseudo_class (GtkCssParser   *parser,
     { "dir(rtl)",     GTK_STATE_FLAG_DIR_RTL, },
     { "link",         GTK_STATE_FLAG_LINK, },
     { "visited",      GTK_STATE_FLAG_VISITED, },
-    { "checked",      GTK_STATE_FLAG_CHECKED, }
+    { "checked",      GTK_STATE_FLAG_CHECKED, },
+    { "dnd"    ,      GTK_STATE_FLAG_DND, }
   };
   guint i;
 
diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h
index 73bc316..3d99fd9 100644
--- a/gtk/gtkenums.h
+++ b/gtk/gtkenums.h
@@ -857,6 +857,7 @@ typedef enum
  * @GTK_STATE_FLAG_LINK: Widget is a link. Since 3.12
  * @GTK_STATE_FLAG_VISITED: The location the widget points to has already been visited. Since 3.12
  * @GTK_STATE_FLAG_CHECKED: Widget is checked. Since 3.14
+ * @GTK_STATE_FLAG_DND: Widget is highlighted as a drop target for DND. Since 3.20
  *
  * Describes a widget state. Widget states are used to match the widget
  * against CSS pseudo-classes. Note that GTK extends the regular CSS
@@ -876,7 +877,8 @@ typedef enum
   GTK_STATE_FLAG_DIR_RTL      = 1 << 8,
   GTK_STATE_FLAG_LINK         = 1 << 9,
   GTK_STATE_FLAG_VISITED      = 1 << 10,
-  GTK_STATE_FLAG_CHECKED      = 1 << 11
+  GTK_STATE_FLAG_CHECKED      = 1 << 11,
+  GTK_STATE_FLAG_DND          = 1 << 12
 } GtkStateFlags;
 
 /**
diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h
index b175596..e3f8a13 100644
--- a/gtk/gtkwidgetprivate.h
+++ b/gtk/gtkwidgetprivate.h
@@ -34,7 +34,7 @@
 
 G_BEGIN_DECLS
 
-#define GTK_STATE_FLAGS_BITS 12
+#define GTK_STATE_FLAGS_BITS 13
 
 struct _GtkWidgetPrivate
 {
diff --git a/testsuite/css/parser/pseudo-classes-known.css b/testsuite/css/parser/pseudo-classes-known.css
index 53f8c71..e25bc7f 100644
--- a/testsuite/css/parser/pseudo-classes-known.css
+++ b/testsuite/css/parser/pseudo-classes-known.css
@@ -53,3 +53,7 @@
 :checked {
   color: red;
 }
+
+:dnd {
+  color: red;
+}
diff --git a/testsuite/css/parser/pseudo-classes-known.ref.css 
b/testsuite/css/parser/pseudo-classes-known.ref.css
index ee00699..f546962 100644
--- a/testsuite/css/parser/pseudo-classes-known.ref.css
+++ b/testsuite/css/parser/pseudo-classes-known.ref.css
@@ -53,3 +53,7 @@
 :checked {
   color: rgb(255,0,0);
 }
+
+:dnd {
+  color: rgb(255,0,0);
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]