aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/components/ui/property-control.reel/property-control.js2
-rwxr-xr-xjs/components/ui/tree-basic/treeItem.reel/treeItem.js35
-rwxr-xr-xjs/controllers/elements/element-controller.js16
-rwxr-xr-xjs/controllers/elements/shapes-controller.js13
-rwxr-xr-xjs/controllers/elements/stage-controller.js41
-rwxr-xr-xjs/data/pi/pi-data.js35
-rwxr-xr-xjs/helper-classes/3D/draw-utils.js4
-rwxr-xr-xjs/panels/Materials/Materials.xml14
-rw-r--r--js/panels/Materials/materials-data.json43
-rwxr-xr-xjs/panels/Materials/materials-library-panel.reel/materials-library-panel.css8
-rwxr-xr-xjs/panels/Materials/materials-library-panel.reel/materials-library-panel.html83
-rwxr-xr-xjs/panels/Materials/materials-library-panel.reel/materials-library-panel.js87
-rwxr-xr-xjs/panels/Materials/materials-popup.reel/materials-popup.html8
-rwxr-xr-xjs/panels/Materials/materials-popup.reel/materials-popup.js11
-rwxr-xr-xjs/panels/color/colorchippopup.reel/colorchippopup.js1
-rwxr-xr-xjs/panels/color/colorpanelpopup.reel/colorpanelpopup.js1
-rw-r--r--js/panels/presets/content.reel/content.html6
-rw-r--r--js/panels/presets/default-transition-presets.js20
-rwxr-xr-xjs/panels/properties.reel/sections/custom-rows/dual-row.reel/dual-row.js8
-rwxr-xr-xjs/panels/properties.reel/sections/custom.reel/custom.js44
20 files changed, 350 insertions, 130 deletions
diff --git a/js/components/ui/property-control.reel/property-control.js b/js/components/ui/property-control.reel/property-control.js
index 58b1be9f..cd59c02c 100755
--- a/js/components/ui/property-control.reel/property-control.js
+++ b/js/components/ui/property-control.reel/property-control.js
@@ -9,7 +9,7 @@ var Montage = require("montage/core/core").Montage,
9 HotText = require("js/components/hottext.reel").HotText, 9 HotText = require("js/components/hottext.reel").HotText,
10 HotTextUnit = require("js/components/hottextunit.reel").HotTextUnit, 10 HotTextUnit = require("js/components/hottextunit.reel").HotTextUnit,
11 Slider = require("js/components/slider.reel").Slider, 11 Slider = require("js/components/slider.reel").Slider,
12 Button = require("js/components/button.reel").Button, 12 Button = require("montage/ui/button.reel").Button,
13 Checkbox = require("js/components/checkbox.reel").Checkbox, 13 Checkbox = require("js/components/checkbox.reel").Checkbox,
14 Combobox = require("js/components/combobox.reel").Combobox, 14 Combobox = require("js/components/combobox.reel").Combobox,
15 TextField = require("js/components/TextField.reel").TextField, 15 TextField = require("js/components/TextField.reel").TextField,
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, {
107 //icon or text click sends selection event 107 //icon or text click sends selection event
108 var contentEls = this.element.querySelectorAll(".atreeItemContent"); 108 var contentEls = this.element.querySelectorAll(".atreeItemContent");
109 for(var i=0;i<contentEls.length;i++){ 109 for(var i=0;i<contentEls.length;i++){
110 contentEls[i].addEventListener("click", function(evt){that.handleTreeItemContentClick(evt);}, false); 110 contentEls[i].addEventListener("click", function(evt){that.handleTreeItemContentClick(evt);}, true);
111 contentEls[i].addEventListener("dblclick", function(evt){that.handleTreeItemContentDblclick(evt);}, false); 111 contentEls[i].addEventListener("dblclick", function(evt){that.handleTreeItemContentDblclick(evt);}, true);
112 } 112 }
113 113
114 this.element.addEventListener("mouseover", function(evt){that.handleTreeItemMouseover(evt);}, false); 114 this.element.addEventListener("mouseover", function(evt){that.handleTreeItemMouseover(evt);}, false);
@@ -123,7 +123,7 @@ exports.TreeItem = Montage.create(Component, {
123 if(this.treeItemData.modifiedDate){this.metadata = this.metadata + "<br />" + "Modified date: "+ this.formatTimestamp(this.treeItemData.modifiedDate);} 123 if(this.treeItemData.modifiedDate){this.metadata = this.metadata + "<br />" + "Modified date: "+ this.formatTimestamp(this.treeItemData.modifiedDate);}
124 124
125 if((this.treeItemData.type === "directory") && (this.expandAfterDraw === true)){ 125 if((this.treeItemData.type === "directory") && (this.expandAfterDraw === true)){
126 this.toggleContent(this.treeArrow); 126 this.expand(this.treeArrow);
127 } 127 }
128 if(this.treeItemData.uri === this.highlightedUri){ 128 if(this.treeItemData.uri === this.highlightedUri){
129 this.itemName.classList.add("selected"); 129 this.itemName.classList.add("selected");
@@ -171,6 +171,35 @@ exports.TreeItem = Montage.create(Component, {
171 } 171 }
172 }, 172 },
173 173
174 expand:{
175 writable:false,
176 enumerable:true,
177 value:function(el){
178 //if children already drawn then just hide/show
179 if(this.element.getElementsByTagName("ul").length > 0){
180 var theParent = this.element.getElementsByTagName("ul")[0].parentNode;
181 if(theParent.classList.contains("hideTree")){//collapsed
182 theParent.classList.remove("hideTree");//expand
183 el.innerHTML = "&#9660;";
184 }
185 }
186 //else send event to draw the children
187 else{
188 var treeClickEvent = document.createEvent("Events");
189 treeClickEvent.initEvent("drawTree", false, false);
190 treeClickEvent.uri = this.treeItemData.uri;
191 treeClickEvent.uriType = this.treeItemData.type;
192 var divEl = document.createElement("div");
193 this.element.appendChild(divEl);
194 treeClickEvent.subTreeContainer = divEl;
195 this.element.dispatchEvent(treeClickEvent);
196
197 el.innerHTML = "&#9660;";
198 }
199 }
200 },
201
202
174 /** 203 /**
175 * Event Listeners 204 * Event Listeners
176 */ 205 */
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index 70aba54e..b35251ad 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -228,22 +228,6 @@ var ElementController = exports.ElementController = Montage.create(NJComponent,
228 mat = this.transformStringToMat( xformStr ); 228 mat = this.transformStringToMat( xformStr );
229 if (!mat) 229 if (!mat)
230 mat = Matrix.I(4); 230 mat = Matrix.I(4);
231
232 var zoom = this.application.ninja.elementMediator.getProperty(el, "zoom");
233 if (zoom)
234 {
235 zoom = Number(zoom);
236 if (zoom != 1)
237 {
238 var zoomMat = Matrix.create( [
239 [ zoom, 0, 0, 0],
240 [ 0, zoom, 0, 0],
241 [ 0, 0, zoom, 0],
242 [ 0, 0, 0, 1]
243 ] );
244 glmat4.multiply( zoomMat, mat, mat );
245 }
246 }
247 } 231 }
248 232
249 el.elementModel.props3D.matrix3d = mat; 233 el.elementModel.props3D.matrix3d = mat;
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js
index d72d9c14..b3ac9ddb 100755
--- a/js/controllers/elements/shapes-controller.js
+++ b/js/controllers/elements/shapes-controller.js
@@ -6,10 +6,9 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
6 6
7var Montage = require("montage/core/core").Montage, 7var Montage = require("montage/core/core").Montage,
8 CanvasController = require("js/controllers/elements/canvas-controller").CanvasController, 8 CanvasController = require("js/controllers/elements/canvas-controller").CanvasController,
9 njModule = require("js/lib/NJUtils"); 9 njModule = require("js/lib/NJUtils"),
10 10 World = require("js/lib/drawing/world").World,
11var World = require("js/lib/drawing/world").World; 11 MaterialsModel = require("js/models/materials-model").MaterialsModel;
12var MaterialsModel = require("js/models/materials-model").MaterialsModel;
13 12
14exports.ShapesController = Montage.create(CanvasController, { 13exports.ShapesController = Montage.create(CanvasController, {
15 14
@@ -100,6 +99,12 @@ exports.ShapesController = Montage.create(CanvasController, {
100 el.elementModel.shapeModel.GLWorld.render(); 99 el.elementModel.shapeModel.GLWorld.render();
101 } 100 }
102 break; 101 break;
102 case "editStrokeMaterial":
103 NJevent("showMaterialPopup",{materialId : el.elementModel.shapeModel.strokeMaterial.getName()});
104 break;
105 case "editFillMaterial":
106 NJevent("showMaterialPopup",{materialId : el.elementModel.shapeModel.fillMaterial.getName()});
107 break;
103 default: 108 default:
104 CanvasController.setProperty(el, p, value); 109 CanvasController.setProperty(el, p, value);
105 } 110 }
diff --git a/js/controllers/elements/stage-controller.js b/js/controllers/elements/stage-controller.js
index 34bb1fb5..97ea3aa5 100755
--- a/js/controllers/elements/stage-controller.js
+++ b/js/controllers/elements/stage-controller.js
@@ -129,5 +129,46 @@ exports.StageController = Montage.create(ElementController, {
129 value: function(el, rule, selector) { 129 value: function(el, rule, selector) {
130 el.elementModel.transitionStopRule.selectorText = selector; 130 el.elementModel.transitionStopRule.selectorText = selector;
131 } 131 }
132 },
133
134 getMatrix: {
135 value: function(el) {
136 if(el.elementModel && el.elementModel.props3D && el.elementModel.props3D.matrix3d)
137 {
138 return el.elementModel.props3D.matrix3d.slice(0);
139 }
140 else
141 {
142 var mat;
143
144 if (el)
145 {
146 var xformStr = this.application.ninja.elementMediator.getProperty(el, "-webkit-transform");
147 if (xformStr)
148 mat = this.transformStringToMat( xformStr );
149 if (!mat)
150 mat = Matrix.I(4);
151
152 var zoom = this.application.ninja.elementMediator.getProperty(el, "zoom");
153 if (zoom)
154 {
155 zoom = Number(zoom);
156 if (zoom != 1)
157 {
158 var zoomMat = Matrix.create( [
159 [ zoom, 0, 0, 0],
160 [ 0, zoom, 0, 0],
161 [ 0,