aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/components/combobox.reel/combobox.js2
-rw-r--r--js/components/radio.reel/radio.js6
-rw-r--r--js/controllers/elements/element-controller.js59
-rw-r--r--js/helper-classes/3D/draw-utils.js25
-rw-r--r--js/helper-classes/Properties3D.js82
-rw-r--r--js/mediators/element-mediator.js5
-rw-r--r--js/models/properties-3d.js6
-rw-r--r--js/stage/layout.js14
-rw-r--r--js/stage/stage.reel/stage.js12
-rw-r--r--js/tools/SelectionTool.js1
-rw-r--r--js/tools/drawing-tool-base.js1
11 files changed, 84 insertions, 129 deletions
diff --git a/js/components/combobox.reel/combobox.js b/js/components/combobox.reel/combobox.js
index f262bb06..a68a7d6b 100644
--- a/js/components/combobox.reel/combobox.js
+++ b/js/components/combobox.reel/combobox.js
@@ -67,7 +67,7 @@ exports.Combobox = Montage.create(Component, {
67 var e = document.createEvent("CustomEvent"); 67 var e = document.createEvent("CustomEvent");
68 e.initEvent("change", true, true); 68 e.initEvent("change", true, true);
69 e.type = "change"; 69 e.type = "change";
70 e._wasSetByCode = this._wasSetByCode; 70 e.wasSetByCode = this._wasSetByCode;
71 e.value = this._value; 71 e.value = this._value;
72 this.dispatchEvent(e); 72 this.dispatchEvent(e);
73 73
diff --git a/js/components/radio.reel/radio.js b/js/components/radio.reel/radio.js
index 954da3c4..c661ec11 100644
--- a/js/components/radio.reel/radio.js
+++ b/js/components/radio.reel/radio.js
@@ -41,7 +41,7 @@ exports.RadioGroup = Montage.create(Component, {
41 e = document.createEvent("CustomEvent"); 41 e = document.createEvent("CustomEvent");
42 e.initEvent("change", true, true); 42 e.initEvent("change", true, true);
43 e.type = "change"; 43 e.type = "change";
44 e._wasSetByCode = this._wasSetByCode; 44 e.wasSetByCode = this._wasSetByCode;
45 e.selectedIndex = i; 45 e.selectedIndex = i;
46 e.selectedItem = value; 46 e.selectedItem = value;
47 this.dispatchEvent(e); 47 this.dispatchEvent(e);
@@ -77,7 +77,7 @@ exports.RadioGroup = Montage.create(Component, {
77 { 77 {
78 value:function(event) 78 value:function(event)
79 { 79 {
80 this._wasSetByCode = event._event._wasSetByCode; 80 this._wasSetByCode = event._event.wasSetByCode;
81 this.selectedItem = event._event.value; 81 this.selectedItem = event._event.value;
82 } 82 }
83 } 83 }
@@ -126,7 +126,7 @@ exports.Radio = Montage.create(Component, {
126 var e = document.createEvent("CustomEvent"); 126 var e = document.createEvent("CustomEvent");
127 e.initEvent("change", true, true); 127 e.initEvent("change", true, true);
128 e.type = "change"; 128 e.type = "change";
129 e._wasSetByCode = this._wasSetByCode; 129 e.wasSetByCode = this._wasSetByCode;
130 e.value = this; 130 e.value = this;
131 this.dispatchEvent(e); 131 this.dispatchEvent(e);
132 132
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index f254220c..30469db0 100644
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -127,36 +127,35 @@ var ElementController = exports.ElementController = Montage.create(NJComponent,
127 } 127 }
128 else 128 else
129 { 129 {
130 // TODO - for now, just return the identity matrix 130 var mat;
131 return Matrix.I(4); 131
132// var mat; 132 if (el)
133// 133 {
134// if (elt) 134 var xformStr = this.application.ninja.elementMediator.getProperty(el, "-webkit-transform");
135// { 135 if (xformStr)
136// var xformStr = ElementsMediator.getProperty(elt, "-webkit-transform"); 136 mat = this.transformStringToMat( xformStr );
137// if (xformStr) 137 if (!mat)
138// mat = this.transformStringToMat( xformStr ); 138 mat = Matrix.I(4);
139// if (!mat) 139
140// mat = Matrix.I(4); 140 var zoom = this.application.ninja.elementMediator.getProperty(el, "zoom");
141// 141 if (zoom)
142// if (elt.style && elt.style.zoom) 142 {
143// { 143 zoom = Number(zoom);
144// var zoom = Number(elt.style.zoom); 144 if (zoom != 1)
145// if (zoom != 1) 145 {
146// { 146 var zoomMat = Matrix.create( [
147// var zoomMat = Matrix.create( [ 147 [ zoom, 0, 0, 0],
148// [ zoom, 0, 0, 0], 148 [ 0, zoom, 0, 0],
149// [ 0, zoom, 0, 0], 149 [ 0, 0, zoom, 0],
150// [ 0, 0, zoom, 0], 150 [ 0, 0, 0, 1]
151// [ 0, 0, 0, 1] 151 ] );
152// ] ); 152 glmat4.multiply( zoomMat, mat, mat );
153// glmat4.multiply( zoomMat, mat, mat ); 153 }
154// } 154 }
155// } 155 }
156// } 156
157// 157 el.elementModel.props3D.matrix3d = mat;
158// elt.elementModel.props3D.matrix3d = mat; 158 return mat;
159// return mat;
160 } 159 }
161 } 160 }
162 }, 161 },
diff --git a/js/helper-classes/3D/draw-utils.js b/js/helper-classes/3D/draw-utils.js
index 3fd6e8fc..c26a5cd1 100644
--- a/js/helper-classes/3D/draw-utils.js
+++ b/js/helper-classes/3D/draw-utils.js
@@ -107,6 +107,7 @@ var DrawUtils = exports.DrawUtils = Montage.create(Component, {
107 107
108 this.eventManager.addEventListener("elementAdded", this, false); 108 this.eventManager.addEventListener("elementAdded", this, false);
109 this.eventManager.addEventListener("elementDeleted", this, false); 109 this.eventManager.addEventListener("elementDeleted", this, false);
110 this.eventManager.addEventListener("elementChange", this, false);
110 } 111 }
111 }, 112 },
112 113
@@ -124,6 +125,27 @@ var DrawUtils = exports.DrawUtils = Montage.create(Component, {
124 }, 125 },
125 126
126 127
128 handleElementChange: {
129 value: function(event) {
130 var els = event.detail.data.els;
131 if(els)
132 {
133 var len = els.length,
134 i = 0,
135 item,
136 el;
137
138 for(i=0; i < len; i++) {
139 item = els[i];
140 el = item._element || item;
141 el.elementModel.props3D.elementPlane.init();
142 }
143
144 this.drawWorkingPlane();
145 }
146 }
147 },
148
127 /////////////////////////////////////////////////////////////////////// 149 ///////////////////////////////////////////////////////////////////////
128 // Methods 150 // Methods
129 /////////////////////////////////////////////////////////////////////// 151 ///////////////////////////////////////////////////////////////////////
@@ -150,6 +172,7 @@ var DrawUtils = exports.DrawUtils = Montage.create(Component, {
150 plane.setElement( elt ); 172 plane.setElement( elt );
151 plane.init(); 173 plane.init();
152 this._planesArray.push( plane ); 174 this._planesArray.push( plane );
175 elt.elementModel.props3D.elementPlane = plane;
153 } 176 }
154 }, 177 },
155 178
@@ -166,6 +189,8 @@ var DrawUtils = exports.DrawUtils = Montage.create(Component, {
166 189
167 // Then remove the element 190 // Then remove the element
168 this._eltArray.splice(i, 1); 191 this._eltArray.splice(i, 1);
192
193 // TODO - May need to delete props3D and elementPlane as well
169 return; 194 return;
170 } 195 }
171 } 196 }
diff --git a/js/helper-classes/Properties3D.js b/js/helper-classes/Properties3D.js
deleted file mode 100644
index 42499877..00000000
--- a/js/helper-classes/Properties3D.js
+++ /dev/null
@@ -1,82 +0,0 @@
1/* <copyright>
2This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5</copyright> */
6
7/* Class that holds all 3d properties per element.
8*/
9
10exports.Properties3D = Object.create(Object.prototype, {
11 m_element : {value : null, writable:true, enumerable:true, configurable:true},
12
13// m_upVector : {value : Vector.create( [0,1,0] ), writable: true, enumerable: true, configurable: true},
14 m_azimuth : {value : 0.0, writable: true, enumerable: true, configurable: true},
15 m_altitude : {value : 0.0, writable: true, enumerable: true, configurable: true},
16
17 m_transformCtr : {value : null, writable: true, enumerable: true, configurable: true},
18// m_targetPos : {value : Vector.create( [0,0,0] ), writable: true, enumerable: true, configurable: true},
19
20 m_endAzimuth : {value : 0, writable: true, enumerable: true, configurable: true},
21 m_endAltitude : {value : 0, writable: true, enumerable: true, configurable: true},
22
23// m_objStartPos : {value : Vector.create( [0,0,0] ), writable: true, enumerable: true, configurable: true},
24
25 //TODO - not sure if this should be part of the tool or stage or a utility
26 perspectiveDist : { value : 1400, writable: true, enumerable: true, configurable: true},
27
28 // keep a referenceto the GLWorld (if any)
29 _world : {value : null, writable:true, enumerable:true, configurable:true},
30
31 // keep a flag indicating the element is in the 2D snap cache
32 _eltIsIn2DSnapCache : { value: false, writable: true, enumerable: true, configurable: true},
33
34 Init : {
35 value : function(elt)
36 {
37 this.m_element = elt;
38