diff --git a/TangleKit/TangleKit.css b/TangleKit/TangleKit.css index 04639cf..cba31df 100644 --- a/TangleKit/TangleKit.css +++ b/TangleKit/TangleKit.css @@ -19,7 +19,8 @@ /* TKToggle */ -.TKToggle { +.TKToggle, +.TKIncrement { color: #46f; border-bottom: 1px dashed #46f; cursor: pointer; diff --git a/TangleKit/TangleKit.js b/TangleKit/TangleKit.js index ca5dd12..2291d81 100644 --- a/TangleKit/TangleKit.js +++ b/TangleKit/TangleKit.js @@ -83,6 +83,29 @@ Tangle.classes.TKToggle = { }; +//---------------------------------------------------------- +// +// TKIncrement +// +// Click to increment value (modulo the number of options). + +Tangle.classes.TKIncrement = { + + initialize: function (element, options, tangle, variable) { + element.addEvent("click", function (event) { + var value = tangle.getValue(variable); + tangle.setValue(variable, ++value % element.getChildren().length); + }); + }, + + update: function (element, value) { + element.getChildren().each( function (child, index) { + child.style.display = (index != value) ? "none" : "inline"; + }); + } +}; + + //---------------------------------------------------------- // // TKNumberField @@ -288,8 +311,11 @@ Tangle.formats.percent = function (value) { return "" + (100 * value).round(0) + "%"; }; +Tangle.formats.height = function (value) { + return Math.floor(value/12) + "′" + value%12 + "″"; +}; + - //---------------------------------------------------------- })();