diff inkscape/firefox/content/themes/checkbox/change.js @ 352:4350aa369149

Use jQuery UI components.
author wycc
date Mon, 09 Mar 2009 01:27:33 +0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inkscape/firefox/content/themes/checkbox/change.js	Mon Mar 09 01:27:33 2009 +0800
@@ -0,0 +1,31 @@
+onchange : function (NODE, TREE_OBJ) { 
+  var $this = $(NODE).is("li") ? $(NODE) : $(NODE).parent();
+  if($this.children("a.unchecked").size() == 0) {
+    TREE_OBJ.container.find("a").addClass("unchecked");
+  }
+  $this.children("a").removeClass("clicked");
+  if($this.children("a").hasClass("checked")) {
+    $this.find("li").andSelf().children("a").removeClass("checked").removeClass("undetermined").addClass("unchecked");
+    var state = 0;
+  }
+  else {
+    $this.find("li").andSelf().children("a").removeClass("unchecked").removeClass("undetermined").addClass("checked");
+    var state = 1;
+  }
+  $this.parents("li").each(function () { 
+    if(state == 1) {
+      if($(this).find("a.unchecked, a.undetermined").size() - 1 > 0) {
+        $(this).parents("li").andSelf().children("a").removeClass("unchecked").removeClass("checked").addClass("undetermined");
+        return false;
+      }
+      else $(this).children("a").removeClass("unchecked").removeClass("undetermined").addClass("checked");
+    }
+    else {
+      if($(this).find("a.checked, a.undetermined").size() - 1 > 0) {
+        $(this).parents("li").andSelf().children("a").removeClass("unchecked").removeClass("checked").addClass("undetermined");
+        return false;
+      }
+      else $(this).children("a").removeClass("checked").removeClass("undetermined").addClass("unchecked");
+    }
+  });
+}
\ No newline at end of file