From 1b68bb87c458877cb850a96d8a093d6064bc41dc Mon Sep 17 00:00:00 2001 From: Pushkar Joshi Date: Fri, 2 Mar 2012 12:23:44 -0800 Subject: Catmull-Rom spline sampling for the brush stroke, and options for stroke size, stroke hardness and both stroke colors (left and right --- temporarily using the stroke and fill colors respectively) --- .../brush-properties.reel/brush-properties.html | 35 +++++++++++++++++++++- .../brush-properties.reel/brush-properties.js | 17 ++++------- 2 files changed, 39 insertions(+), 13 deletions(-) (limited to 'js/components') diff --git a/js/components/tools-properties/brush-properties.reel/brush-properties.html b/js/components/tools-properties/brush-properties.reel/brush-properties.html index 38f7f856..af07b3f2 100755 --- a/js/components/tools-properties/brush-properties.reel/brush-properties.html +++ b/js/components/tools-properties/brush-properties.reel/brush-properties.html @@ -11,12 +11,39 @@ - - - - - \ No newline at end of file diff --git a/js/components/button.reel/button.js b/js/components/button.reel/button.js deleted file mode 100755 index 2d26c8b4..00000000 --- a/js/components/button.reel/button.js +++ /dev/null @@ -1,225 +0,0 @@ -/* -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, -Component = require("montage/ui/component").Component; - -var Button = exports.Button = Montage.create(Component, { - // Button state - _focused: { - value: false - }, - - _pressed: { - value: false - }, - - _isToggleButton: { - value: false - }, - - isToggleButton: { - serializable: true, - enumerable: true, - get: function() { - return this._isToggleButton; - }, - set: function(value) { - if (value !== this._isToggleButton) { - this._isToggleButton = value; - this.needsDraw = true; - } - } - }, - - _value: { - value: false - }, - - value: { - serializable: true, - enumerable: true, - get: function() { - return this._value; - }, - set: function(value) { - if ( (value !== null) && (value !== this._value) ) { - this._value = value; - this.needsDraw = true; - } - } - }, - - _label: { - value: "" - }, - - label: { - serializable: true, - enumerable: true, - get: function() { - return this._label; - }, - set: function(value) { - if (value !== this._label) { - this._label = value; - this.needsDraw = true; - } - } - }, - - // TODO - Allow user to specify up, over and down states - _onState: { - value: "on" - }, - - onState: { - serializable: true, - enumerable: true, - get: function() { - return this._onState; - }, - set: function(value) { - if (value !== this._onState) { - this._onState = value; - this.needsDraw = true; - } - } - }, - - _offState: { - value: "off" - }, - - offState: { - serializable: true, - enumerable: true, - get: function() { - return this._offState; - }, - set: function(value) { - if (value !== this._offState) { - this._offState = value; - this.needsDraw = true; - } - } - }, - - // Low-level event listeners - handleTouchstart: { - value: function(event) { - // TODO preventingDefault disables the magnifying class - // sadly it also disables double tapping on the button to zoom... - event.preventDefault(); - this._acknowledgeIntent(); - } - }, - - handleMousedown: { - value: function(event) { - this._acknowledgeIntent(); - } - }, - - handleTouchend: { - value: function(event) { - this._interpretInteraction(event); - } - }, - - handleTouchcancel: { - value: function(event) { - console.log("cancel!") - // this._interpretInteraction(event); - } - }, - - handleMouseup: { - value: function(event) { - this._interpretInteraction(event); - } - }, - - // Internal state management - _acknowledgeIntent: { - value: function() { - this._pressed = true; - this.element.classList.add("pressed"); - } - }, - - _interpretInteraction: { - value: function(event) { - - if (!this._pressed) { - return; - } - - this.value = !this.value; - - this._pressed = false; - this._dispatchActionEvent(); - } - }, - - _dispatchActionEvent: { - value: function() { - var actionEvent = document.createEvent("CustomEvent"); - actionEvent.initCustomEvent("action", true, true); - actionEvent.type = "action"; - this.dispatchEvent(actionEvent); - } - }, - - draw: { - enumerable: false, - value: function() { - if(this.isToggleButton) - { - if(this._value === true) - { - this.element.classList.remove(this.offState); - this.element.classList.add(this.onState); - } - else - { - this.element.classList.remove(this.onState); - this.element.classList.add(this.offState); - } - } - - if(this.label && this.label !== "") - { - this.element.textContent = this.label; - } - } - }, - - prepareForDraw: { - value: function() { - - // TODO only install low level event listeners for high level - // events others listen to us for - - this.element.addEventListener("touchstart", this); - // TODO listen to mouseup anywhere within the app - document.addEventListener("touchend", this); - document.addEventListener("touchcancel", this); - - - this.element.addEventListener("mousedown", this); - - // TODO listen to mouseup anywhere within the app - document.addEventListener("mouseup", this); - - // TODO accept space or enter as a way to trigger action - // if element targeted; balancing demans of multitouch - // with traditional single focus model - document.addEventListener("keydown", this, true); - } - } - -}); diff --git a/js/components/tools-properties/text-properties.reel/text-properties.html b/js/components/tools-properties/text-properties.reel/text-properties.html index 13a88ba7..2d50a79e 100755 --- a/js/components/tools-properties/text-properties.reel/text-properties.html +++ b/js/components/tools-properties/text-properties.reel/text-properties.html @@ -69,7 +69,7 @@ }, "fontSettings": { - "module": "js/components/button.reel", + "module": "montage/ui/button.reel", "name": "Button", "properties": { "element": {"#": "fontSettings"} -- cgit v1.2.3 From 61a419422b1a05a779fd9a66c53de3fa8ab5f65a Mon Sep 17 00:00:00 2001 From: Ananya Sen Date: Thu, 22 Mar 2012 10:28:34 -0700 Subject: - enable/disable save, saveAs, saveAll, close, closeAll as per documents open - added close file and close all menu items Signed-off-by: Ananya Sen Conflicts: js/helper-classes/3D/draw-utils.js Signed-off-by: Ananya Sen --- js/components/menu/menu-item.reel/menu-item.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'js/components') diff --git a/js/components/menu/menu-item.reel/menu-item.js b/js/components/menu/menu-item.reel/menu-item.js index 64a89a6a..8d975c4b 100755 --- a/js/components/menu/menu-item.reel/menu-item.js +++ b/js/components/menu/menu-item.reel/menu-item.js @@ -61,6 +61,8 @@ exports.MenuItem = Montage.create(Component, { prepareForDraw: { value: function() { + var boundObject = this.application.ninja, strArr = null, i=0; + if(!this.data) return; if(this.data.separator) { @@ -82,9 +84,16 @@ exports.MenuItem = Montage.create(Component, { } if(this.data.enabled.boundProperty) { + strArr = this.data.enabled.boundObj.split("."); + for(i=0;i --- js/components/layout/document-entry.reel/document-entry.css | 13 ++++++++++--- js/components/layout/documents-tab.reel/documents-tab.css | 11 +++++++---- 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'js/components') diff --git a/js/components/layout/document-entry.reel/document-entry.css b/js/components/layout/document-entry.reel/document-entry.css index 52d08d72..d723c45f 100755 --- a/js/components/layout/document-entry.reel/document-entry.css +++ b/js/components/layout/document-entry.reel/document-entry.css @@ -4,19 +4,26 @@ (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. */ +.documentEntry{ + white-space: nowrap; +} + .documentEntry span { - /*display: inline-block;*/ + display: inline-block; white-space: nowrap; overflow: hidden; - text-overflow: ellipsis; /* Causes ... to appear ?? */ + text-overflow: ellipsis; max-width:100px; + width:85%; + min-width:0px; } .documentEntry img { opacity: 0.5; /* 50% */ - padding-left: 5px; width: 12px; + max-width:12px; + min-width:5px; height: 12px; -webkit-transition: opacity 0.2s ease; transition: opacity 0.2s ease; diff --git a/js/components/layout/documents-tab.reel/documents-tab.css b/js/components/layout/documents-tab.reel/documents-tab.css index 689eb777..da00f727 100755 --- a/js/components/layout/documents-tab.reel/documents-tab.css +++ b/js/components/layout/documents-tab.reel/documents-tab.css @@ -12,7 +12,6 @@ } .openDocuments { - float: left; height: 25px; width: 100%; font-size: 12px; @@ -21,16 +20,20 @@ padding: 0; position: relative; text-decoration: none; + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-pack:start; + -webkit-box-align:start; } .openDocuments li { border-right: 1px solid black; cursor: pointer; - display: inline; - float: left; padding: 0.5em 1em; - text-shadow: 1px 1px 1px #000000; vertical-align: middle; + text-shadow: 1px 1px 1px #000000; + -webkit-box-flex: 1; + max-width: 115px; } .openDocuments li:hover, -- cgit v1.2.3 From 85bf9f937fa2ec46e42f791fc6815f7c2f5446ea Mon Sep 17 00:00:00 2001 From: Ananya Sen Date: Thu, 22 Mar 2012 10:42:05 -0700 Subject: file picker - added size unit new file - don't disable OK is file exists Signed-off-by: Ananya Sen --- js/components/ui/icon-list-basic/icon.reel/icon.js | 2 +- js/components/ui/tree-basic/treeItem.reel/treeItem.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'js/components') diff --git a/js/components/ui/icon-list-basic/icon.reel/icon.js b/js/components/ui/icon-list-basic/icon.reel/icon.js index 1ef6e277..7d36bc59 100755 --- a/js/components/ui/icon-list-basic/icon.reel/icon.js +++ b/js/components/ui/icon-list-basic/icon.reel/icon.js @@ -86,7 +86,7 @@ var Icon = exports.Icon = Montage.create(Component, { this.metadata = "Name: "+this.icondata.name; } this.metadata = this.metadata + "
" + "Type: "+this.icondata.type; - if(this.icondata.size){this.metadata = this.metadata + "
" + "Size: "+this.icondata.size;} + if(this.icondata.size){this.metadata = this.metadata + "
" + "Size: "+this.icondata.size+ " bytes";} if(this.icondata.creationDate){this.metadata = this.metadata + "
" + "Creation date: "+ this.formatTimestamp(this.icondata.creationDate);} if(this.icondata.modifiedDate){this.metadata = this.metadata + "
" + "Modified date: "+ this.formatTimestamp(this.icondata.modifiedDate);} diff --git a/js/components/ui/tree-basic/treeItem.reel/treeItem.js b/js/components/ui/tree-basic/treeItem.reel/treeItem.js index 13e278e9..e9e5c1fb 100755 --- a/js/components/ui/tree-basic/treeItem.reel/treeItem.js +++ b/js/components/ui/tree-basic/treeItem.reel/treeItem.js @@ -118,7 +118,7 @@ exports.TreeItem = Montage.create(Component, { this.metadata = "Name: "+this.treeItemData.name; } this.metadata = this.metadata + "
" + "Type: "+this.treeItemData.type; - if(this.treeItemData.size){this.metadata = this.metadata + "
" + "Size: "+this.treeItemData.size;} + if(this.treeItemData.size){this.metadata = this.metadata + "
" + "Size: "+this.treeItemData.size+ " bytes";} if(this.treeItemData.creationDate){this.metadata = this.metadata + "
" + "Creation date: "+ this.formatTimestamp(this.treeItemData.creationDate);} if(this.treeItemData.modifiedDate){this.metadata = this.metadata + "
" + "Modified date: "+ this.formatTimestamp(this.treeItemData.modifiedDate);} -- cgit v1.2.3 From f639ae09013dfb6559891bbbe560bd5303a05f97 Mon Sep 17 00:00:00 2001 From: Ananya Sen Date: Thu, 22 Mar 2012 10:45:38 -0700 Subject: IKNINJA-1364 : fixed css so that white spaces are not collapsed while rendering Signed-off-by: Ananya Sen --- js/components/layout/document-entry.reel/document-entry.css | 2 +- js/components/ui/icon-list-basic/icon.reel/icon.css | 2 +- js/components/ui/tree-basic/treeItem.reel/treeItem.css | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'js/components') diff --git a/js/components/layout/document-entry.reel/document-entry.css b/js/components/layout/document-entry.reel/document-entry.css index d723c45f..4601974f 100755 --- a/js/components/layout/document-entry.reel/document-entry.css +++ b/js/components/layout/document-entry.reel/document-entry.css @@ -11,7 +11,7 @@ .documentEntry span { display: inline-block; - white-space: nowrap; + white-space: pre; overflow: hidden; text-overflow: ellipsis; max-width:100px; diff --git a/js/components/ui/icon-list-basic/icon.reel/icon.css b/js/components/ui/icon-list-basic/icon.reel/icon.css index 9fb180d2..203db65c 100644 --- a/js/components/ui/icon-list-basic/icon.reel/icon.css +++ b/js/components/ui/icon-list-basic/icon.reel/icon.css @@ -35,7 +35,7 @@ .icon .iconLabel{ margin-top:8px; - white-space: nowrap; + white-space: pre; text-overflow: ellipsis; line-height:15px; overflow: hidden; diff --git a/js/components/ui/tree-basic/treeItem.reel/treeItem.css b/js/components/ui/tree-basic/treeItem.reel/treeItem.css index f8e67541..d33404e7 100755 --- a/js/components/ui/tree-basic/treeItem.reel/treeItem.css +++ b/js/components/ui/tree-basic/treeItem.reel/treeItem.css @@ -29,7 +29,7 @@ } .atreeItem .name{ - white-space: nowrap; + white-space: pre; text-overflow:ellipsis; line-height:15px; overflow: hidden; -- cgit v1.2.3 From d4f23044866f4e8611cddc49f80eaf91f6dfa873 Mon Sep 17 00:00:00 2001 From: Ananya Sen Date: Thu, 22 Mar 2012 15:11:51 -0700 Subject: - removed menu-data boundObj path support for now - fixed error on clicking on disabled menu item Signed-off-by: Ananya Sen --- js/components/menu/menu-item.reel/menu-item.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'js/components') diff --git a/js/components/menu/menu-item.reel/menu-item.js b/js/components/menu/menu-item.reel/menu-item.js index 8d975c4b..3e1c43da 100755 --- a/js/components/menu/menu-item.reel/menu-item.js +++ b/js/components/menu/menu-item.reel/menu-item.js @@ -84,10 +84,8 @@ exports.MenuItem = Montage.create(Component, { } if(this.data.enabled.boundProperty) { - strArr = this.data.enabled.boundObj.split("."); - for(i=0;i --- .../rect-properties.reel/rect-properties.css | 19 +++++++++---------- .../rect-properties.reel/rect-properties.html | 15 +++++++++++++-- .../rect-properties.reel/rect-properties.js | 20 ++++++++------------ 3 files changed, 30 insertions(+), 24 deletions(-) (limited to 'js/components') diff --git a/js/components/tools-properties/rect-properties.reel/rect-properties.css b/js/components/tools-properties/rect-properties.reel/rect-properties.css index 74509555..cbd9dde8 100755 --- a/js/components/tools-properties/rect-properties.reel/rect-properties.css +++ b/js/components/tools-properties/rect-properties.reel/rect-properties.css @@ -4,16 +4,15 @@ (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. */ -.rectProperties .button { - border:none; - cursor:default; - text-align:center; - -webkit-user-select:none; - opacity:0.8; - display:table-cell; - vertical-align:middle; - background-color:#333333; - color:white; +#lockButton { + float:left; + border: none; + background-color: transparent; + top: 2px; + opacity: 0.7; + width: 17px; + height: 18px; + margin-right: 10px; } .rectProperties .subToolButton { diff --git a/js/components/tools-properties/rect-properties.reel/rect-properties.html b/js/components/tools-properties/rect-properties.reel/rect-properties.html index 214ff1d5..fd51b9ad 100755 --- a/js/components/tools-properties/rect-properties.reel/rect-properties.html +++ b/js/components/tools-properties/rect-properties.reel/rect-properties.html @@ -50,12 +50,22 @@ } }, + "lockButton": { + "prototype": "montage/ui/toggle-button.reel", + "properties": { + "element": {"#": "lockButton"}, + "pressedClass": "lockUp", + "preventFocus": true, + "identifier": "ratio" + } + }, + "owner": { "module": "js/components/tools-properties/rect-properties.reel", "name": "RectProperties", "properties": { "element": {"#": "rectProperties"}, - "lockButton": {"#": "lockButton"}, + "lockButton": {"@": "lockButton"}, "TLRadiusControl": {"@": "hottext1"}, "TRRadiusControl": {"@": "hottext2"}, "BLRadiusControl": {"@": "hottext3"}, @@ -69,7 +79,8 @@
- + +
diff --git a/js/components/tools-properties/rect-properties.reel/rect-properties.js b/js/components/tools-properties/rect-properties.reel/rect-properties.js index b2de6ff7..cc99cca6 100755 --- a/js/components/tools-properties/rect-properties.reel/rect-properties.js +++ b/js/components/tools-properties/rect-properties.reel/rect-properties.js @@ -19,7 +19,8 @@ exports.RectProperties = Montage.create(ToolProperties, { _subPrepare: { value: function() { - this.lockButton.addEventListener("click", this, false); + this.lockButton.identifier = "lockButton"; + this.lockButton.addEventListener("action", this, false); this._setBindings([this.TRRadiusControl, this.BLRadiusControl, this.BRRadiusControl]); this._setCap([this.TLRadiusControl,this.TRRadiusControl, this.BLRadiusControl, this.BRRadiusControl]); @@ -27,21 +28,16 @@ exports.RectProperties = Montage.create(ToolProperties, { } }, - handleClick: { + handleLockButtonAction: { value: function(event) { - this._unlocked = !this._unlocked; + this.TRRadiusControl.enabled = this.BLRadiusControl.enabled = this.BRRadiusControl.enabled = this.lockButton.pressed; - this.TRRadiusControl.enabled = this.BLRadiusControl.enabled = this.BRRadiusControl.enabled = this._unlocked; - - if(this._unlocked) { - this.lockButton.classList.remove("LockToolUp"); - this.lockButton.classList.add("UnLockToolUp"); - this._removeBindings([this.TRRadiusControl, this.BLRadiusControl, this.BRRadiusControl]); - } else { - this.lockButton.classList.remove("UnLockToolUp"); - this.lockButton.classList.add("LockToolUp"); + if(this.lockButton.pressed) { this._setBindings([this.TRRadiusControl, this.BLRadiusControl, this.BRRadiusControl]); + } else { + this._removeBindings([this.TRRadiusControl, this.BLRadiusControl, this.BRRadiusControl]); } + } }, -- cgit v1.2.3 From fdeed8051c3af538d28ca3bc599121cea483c22c Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu, 22 Mar 2012 15:47:56 -0700 Subject: Squashed commit of the following GL integration Signed-off-by: Valerio Virgillito --- .../ui/tree-basic/treeItem.reel/treeItem.js | 35 ++++++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'js/components') diff --git a/js/components/ui/tree-basic/treeItem.reel/treeItem.js b/js/components/ui/tree-basic/treeItem.reel/treeItem.js index a67dad43..13e278e9 100755 --- a/js/components/ui/tree-basic/treeItem.reel/treeItem.js +++ b/js/components/ui/tree-basic/treeItem.reel/treeItem.js @@ -107,8 +107,8 @@ exports.TreeItem = Montage.create(Component, { //icon or text click sends selection event var contentEls = this.element.querySelectorAll(".atreeItemContent"); for(var i=0;i" + "Modified date: "+ this.formatTimestamp(this.treeItemData.modifiedDate);} if((this.treeItemData.type === "directory") && (this.expandAfterDraw === true)){ - this.toggleContent(this.treeArrow); + this.expand(this.treeArrow); } if(this.treeItemData.uri === this.highlightedUri){ this.itemName.classList.add("selected"); @@ -171,6 +171,35 @@ exports.TreeItem = Montage.create(Component, { } }, + expand:{ + writable:false, + enumerable:true, + value:function(el){ + //if children already drawn then just hide/show + if(this.element.getElementsByTagName("ul").length > 0){ + var theParent = this.element.getElementsByTagName("ul")[0].parentNode; + if(theParent.classList.contains("hideTree")){//collapsed + theParent.classList.remove("hideTree");//expand + el.innerHTML = "▼"; + } + } + //else send event to draw the children + else{ + var treeClickEvent = document.createEvent("Events"); + treeClickEvent.initEvent("drawTree", false, false); + treeClickEvent.uri = this.treeItemData.uri; + treeClickEvent.uriType = this.treeItemData.type; + var divEl = document.createElement("div"); + this.element.appendChild(divEl); + treeClickEvent.subTreeContainer = divEl; + this.element.dispatchEvent(treeClickEvent); + + el.innerHTML = "▼"; + } + } + }, + + /** * Event Listeners */ -- cgit v1.2.3 From 686969216c6a2b19b32dc574d0cbcd38b01955f9 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu,