From b89a7ee8b956c96a1dcee995ea840feddc5d4b27 Mon Sep 17 00:00:00 2001 From: Pierre Frisch Date: Thu, 22 Dec 2011 07:25:50 -0800 Subject: First commit of Ninja to ninja-internal Signed-off-by: Valerio Virgillito --- .../layout/subtool-button.reel/subtool-button.js | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 js/components/layout/subtool-button.reel/subtool-button.js (limited to 'js/components/layout/subtool-button.reel/subtool-button.js') diff --git a/js/components/layout/subtool-button.reel/subtool-button.js b/js/components/layout/subtool-button.reel/subtool-button.js new file mode 100644 index 00000000..d1adca43 --- /dev/null +++ b/js/components/layout/subtool-button.reel/subtool-button.js @@ -0,0 +1,65 @@ +/* +This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. +
*/ + +var Montage = require("montage/core/core").Montage; +var Component = require("montage/ui/component").Component; + +exports.SubToolButton = Montage.create(Component, { + + button: { value: null }, + + data: { value: null }, + + _selected: { value: null }, + + selected: { + get: function() { return this._selected; }, + set: function(value) { + this._selected = value; + this.needsDraw = true; + } + }, + + prepareForDraw: { + enumerable: false, + value: function() { + this.element.addEventListener("click", this, false); + + this.element.title = this.data.toolTip; + + Object.defineBinding(this, "selected", { + boundObject: this.data, + boundObjectPropertyPath: "selected", + oneway: false + }); + + } + }, + + draw: { + enumerable: false, + value: function() { + if(this._selected) { + this.element.classList.add( "buttonSelected" ); + this.button.classList.remove( this.data.id + "Unpressed" ); + this.button.classList.add( this.data.id + "Pressed" ); + } else { + this.element.classList.remove( "buttonSelected" ); + this.button.classList.remove( this.data.id + "Pressed" ); + this.button.classList.add( this.data.id + "Unpressed" ); + } + } + }, + + handleClick: { + value: function(event) { + if(!this._selected) { + NJevent("selectSubTool", this.data); + } + } + } + +}); -- cgit v1.2.3