aboutsummaryrefslogtreecommitdiff
path: root/js/panels/properties.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/properties.reel')
-rwxr-xr-xjs/panels/properties.reel/properties.html5
-rwxr-xr-xjs/panels/properties.reel/properties.js64
-rwxr-xr-xjs/panels/properties.reel/sections/three-d-view.reel/three-d-view.js95
3 files changed, 92 insertions, 72 deletions
diff --git a/js/panels/properties.reel/properties.html b/js/panels/properties.reel/properties.html
index ac0dab5a..b9aa206b 100755
--- a/js/panels/properties.reel/properties.html
+++ b/js/panels/properties.reel/properties.html
@@ -56,7 +56,10 @@
56 } 56 }
57 }, 57 },
58 "threeDProperties": { 58 "threeDProperties": {
59 "prototype": "js/panels/properties.reel/sections/three-d-view.reel[ThreeD]" 59 "prototype": "js/panels/properties.reel/sections/three-d-view.reel[ThreeD]",
60 "bindings": {
61 "currentDocument": {"<-": "@owner.currentDocument"}
62 }
60 }, 63 },
61 64
62 "CustomSections": { 65 "CustomSections": {
diff --git a/js/panels/properties.reel/properties.js b/js/panels/properties.reel/properties.js
index 84b0d589..934a3851 100755
--- a/js/panels/properties.reel/properties.js
+++ b/js/panels/properties.reel/properties.js
@@ -13,6 +13,35 @@ var ElementsMediator = require("js/mediators/element-mediator").ElementMediator;
13 13
14exports.Properties = Montage.create(Component, { 14exports.Properties = Montage.create(Component, {
15 15
16 _currentDocument: {
17 value : null
18 },
19
20 currentDocument : {
21 get : function() {
22 return this._currentDocument;
23 },
24 set : function(value) {
25 if (value === this._currentDocument) {
26 return;
27 }
28
29 this._currentDocument = value;
30
31// if(!value) {
32 this.clear();
33// }
34
35 /*
36 else if(this._currentDocument.currentView === "design") {
37 // Display the default document root PI
38 //this.displayElementProperties(this._currentDocument.model.documentRoot);
39// this.displaySelection(this._currentDocument.model.selection);
40 }
41 */
42 }
43 },
44
16 elementName: { 45 elementName: {
17 value: null 46 value: null
18 }, 47 },
@@ -46,9 +75,8 @@ exports.Properties = Montage.create(Component, {
46 75
47 prepareForDraw: { 76 prepareForDraw: {
48 value : function() { 77 value : function() {
49 this.eventManager.addEventListener("openDocument", this, false); 78 this.eventManager.addEventListener("elementChange", this, false);
50 this.eventManager.addEventListener("selectionChange", this, false); 79 this.eventManager.addEventListener("selectionChange", this, false);
51 this.eventManager.addEventListener("closeDocument", this, false);
52 80
53 // This will be a toggle option 81 // This will be a toggle option
54 if(this.application.ninja.appData.PILiveUpdate) { 82 if(this.application.ninja.appData.PILiveUpdate) {
@@ -65,24 +93,6 @@ exports.Properties = Montage.create(Component, {
65 } 93 }
66 }, 94 },
67 95
68 handleOpenDocument: {
69 value: function() {
70 this.eventManager.addEventListener( "elementChange", this, false);
71
72 // Save a reference of the pi inside the document view to be able to clear
73 this.application.ninja.currentDocument.model.views.design.propertiesPanel = this;
74
75 // Display the default document root PI
76 this.displayElementProperties(this.application.ninja.currentDocument.model.documentRoot);
77 }
78 },
79
80 handleCloseDocument: {
81 value: function(){
82 this.clear();
83 }
84 },
85
86 /** 96 /**
87 * Blur and Key up to handle change in the Element ID field. 97 * Blur and Key up to handle change in the Element ID field.
88 */ 98 */
@@ -173,6 +183,20 @@ exports.Properties = Montage.create(Component, {
173 } 183 }
174 }, 184 },
175 185
186 displaySelection: {
187 value: function(selection) {
188 if(selection.length === 0) {
189 this.displayElementProperties(this._currentDocument.model.documentRoot);
190 } else {
191 if(selection.length === 1) {
192 this.displayElementProperties(this.application.ninja.selectedElements[0]);
193 } else {
194 this.displayGroupProperties(this.application.ninja.selectedElements);
195 }
196 }
197 }
198 },
199
176 clear: { 200 clear: {
177 value: function() { 201 value: function() {
178 this.elementName.value = ""; 202 this.elementName.value = "";
diff --git a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js
index e16e3509..104d474d 100755
--- a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js
+++ b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js
@@ -26,8 +26,7 @@ exports.ThreeD = Montage.create(Component, {
26 set: function(value) { 26 set: function(value) {
27 this._axisMode = value; 27 this._axisMode = value;
28 28
29 if(value === 0) 29 if(value === 0) {
30 {
31 this.inGlobalMode = false; 30 this.inGlobalMode = false;
32 this.x3D = 0; 31 this.x3D = 0;
33 this.y3D = 0; 32 this.y3D = 0;
@@ -36,13 +35,10 @@ exports.ThreeD = Montage.create(Component, {
36 this.xAngle = 0; 35 this.xAngle = 0;
37 this.yAngle = 0; 36 this.yAngle = 0;
38 this.zAngle = 0; 37 this.zAngle = 0;
39 } 38 } else {
40 else
41 {
42 this.inGlobalMode = true; 39 this.inGlobalMode = true;
43 var item = this.item; 40 var item = this.item;
44 if(item) 41 if(item) {
45 {
46 this.x3D = item.elementModel.props3D.x3D; 42 this.x3D = item.elementModel.props3D.x3D;
47 this.y3D = item.elementModel.props3D.y3D; 43 this.y3D = item.elementModel.props3D.y3D;
48 this.z3D = item.elementModel.props3D.z3D; 44 this.z3D = item.elementModel.props3D.z3D;
@@ -114,8 +110,7 @@ exports.ThreeD = Montage.create(Component, {
114 handleAction: { 110 handleAction: {
115 value: function(event) { 111 value: function(event) {
116 if(event.currentTarget.identifier === "flatten") { 112 if(event.currentTarget.identifier === "flatten") {
117 this.application.ninja.elementMediator.setProperty([this.item], 113 this.application.ninja.elementMediator.setProperty([this.item], "-webkit-transform-style",
118 "-webkit-transform-style",
119 event.currentTarget.checked ? ["flat"] : ["preserve-3d"]); 114 event.currentTarget.checked ? ["flat"] : ["preserve-3d"]);
120 } 115 }
121 } 116 }
@@ -127,11 +122,7 @@ exports.ThreeD = Montage.create(Component, {
127 return; 122 return;
128 } 123 }
129 124
130 this.apply3DProperties(event.currentTarget.identifier, 125 this.apply3DProperties(event.currentTarget.identifier, event.currentTarget, this.item, this.inGlobalMode, false);
131 event.currentTarget,
132 this.item,
133 this.inGlobalMode,
134 false);
135 126
136 this._curMat = null; 127 this._curMat = null;
137 this._curProp = null; 128 this._curProp = null;
@@ -144,28 +135,24 @@ exports.ThreeD = Montage.create(Component, {
144 return; 135 return;
145 } 136 }
146 137
147 this.apply3DProperties(event.currentTarget.identifier, 138 this.apply3DProperties(event.currentTarget.identifier, event.currentTarget, this.item, this.inGlobalMode, true);
148 event.currentTarget,
149 this.item,
150 this.inGlobalMode,
151 true);
152 } 139 }
153 }, 140 },
154 141
155 apply3DProperties : { 142 apply3DProperties : {
156 value : function(prop, value, item, inGlobalMode, isChanging){ 143 value : function(prop, value, item, inGlobalMode, isChanging){
157 if(!this._curMat) 144 if(!this._curMat) {
158 {
159 this._curMat = this.application.ninja.elementMediator.getMatrix(item); 145 this._curMat = this.application.ninja.elementMediator.getMatrix(item);
160 } 146 }
147
161 var curMat = this._curMat; 148 var curMat = this._curMat;
162 var delta = value.value; 149 var delta = value.value;
163 if(inGlobalMode) 150 if(inGlobalMode) {
164 { 151
165 if(!this._curProp) 152 if(!this._curProp) {
166 {
167 this._curProp = this.application.ninja.elementMediator.get3DProperty(item, prop);