aboutsummaryrefslogtreecommitdiff
path: root/js/controllers
diff options
context:
space:
mode:
authorJonathan Duran2012-05-11 14:13:07 -0700
committerJonathan Duran2012-05-11 14:13:07 -0700
commit1e2138fc7d0007b0ad3cb4807dc1c9101190f2f2 (patch)
tree2563aa7694c3caaf813ca71ef3250b2a76ee0041 /js/controllers
parent32257ac142f872d3c1f6c07504bae77ae884ed93 (diff)
parent6fcaa4e923a19672b5860b4c6f67d836680e7e99 (diff)
downloadninja-1e2138fc7d0007b0ad3cb4807dc1c9101190f2f2.tar.gz
Merge branch 'refs/heads/TimelineUber' into TimelineProps
Diffstat (limited to 'js/controllers')
-rwxr-xr-xjs/controllers/document-controller.js4
-rwxr-xr-xjs/controllers/elements/controller-factory.js2
-rwxr-xr-xjs/controllers/elements/element-controller.js7
-rwxr-xr-xjs/controllers/elements/shapes-controller.js2
-rwxr-xr-xjs/controllers/styles-controller.js6
-rw-r--r--js/controllers/tree-controller.js185
6 files changed, 10 insertions, 196 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index 6d11bd0e..c6bf4c6b 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -427,10 +427,6 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
427 427
428 closeDocument: { 428 closeDocument: {
429 value: function(id) { 429 value: function(id) {
430 if(this.activeDocument.needsSave === true){
431 //if file dirty then alert user to save
432 }
433
434 var doc = this._findDocumentByUUID(id); 430 var doc = this._findDocumentByUUID(id);
435 431
436 var closeDocumentIndex = this._findIndexByUUID(id); 432 var closeDocumentIndex = this._findIndexByUUID(id);
diff --git a/js/controllers/elements/controller-factory.js b/js/controllers/elements/controller-factory.js
index 1bbbbce0..3ac3fe14 100755
--- a/js/controllers/elements/controller-factory.js
+++ b/js/controllers/elements/controller-factory.js
@@ -42,6 +42,8 @@ exports.ControllerFactory = Montage.create(Montage, {
42 return ImageController; 42 return ImageController;
43 } else if(value.indexOf("video") !== -1) { 43 } else if(value.indexOf("video") !== -1) {
44 return VideoController; 44 return VideoController;
45 } else {
46 return BlockController;
45 } 47 }
46 } catch (err) { 48 } catch (err) {
47 console.log("Could not create Controller Factory " + err); 49 console.log("Could not create Controller Factory " + err);
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index ea5fe4af..20225c61 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -15,16 +15,15 @@ exports.ElementController = Montage.create(Component, {
15 var selectedLayerIndex = this.application.ninja.timeline.getLayerIndexByID(this.application.ninja.timeline.currentLayerSelected.layerData.layerID); 15 var selectedLayerIndex = this.application.ninja.timeline.getLayerIndexByID(this.application.ninja.timeline.currentLayerSelected.layerData.layerID);
16 16
17 if(selectedLayerIndex === 0) { 17 if(selectedLayerIndex === 0) {
18 this.application.ninja.currentDocument.documentRoot.appendChild(el); 18 this.application.ninja.currentSelectedContainer.appendChild(el);
19 } else { 19 } else {
20 var element = this.application.ninja.timeline.arrLayers[selectedLayerIndex].layerData.elementsList[0]; 20 var element = this.application.ninja.timeline.arrLayers[selectedLayerIndex].layerData.elementsList[0];
21 element.parentNode.insertBefore(el, element.nextSibling); 21 element.parentNode.insertBefore(el, element.nextSibling);
22 } 22 }
23 } else { 23 } else {
24 this.application.ninja.currentDocument.documentRoot.appendChild(el); 24 this.application.ninja.currentSelectedContainer.appendChild(el);
25 } 25 }
26 // Nested elements - TODO make sure the CSS is correct before nesting elements 26
27 // this.application.ninja.currentSelectedContainer.appendChild(el);
28 if(styles) { 27 if(styles) {
29 this.application.ninja.stylesController.setElementStyles(el, styles); 28 this.application.ninja.stylesController.setElementStyles(el, styles);
30 } 29 }
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js
index 8d7b74f0..e9a5f865 100755
--- a/js/controllers/elements/shapes-controller.js
+++ b/js/controllers/elements/shapes-controller.js
@@ -129,7 +129,7 @@ exports.ShapesController = Montage.create(CanvasController, {
129 el.elementModel.shapeModel.GLWorld.render(); 129 el.elementModel.shapeModel.GLWorld.render();
130 break; 130 break;
131 case "useWebGl": 131 case "useWebGl":
132 canvas = njModule.NJUtils.makeNJElement("canvas", "Canvas", "shape", el.className, true); 132 canvas = njModule.NJUtils.make("canvas", el.className, this.application.ninja.currentDocument);
133 canvas.setAttribute("data-RDGE-id", njModule.NJUtils.generateRandom()); 133 canvas.setAttribute("data-RDGE-id", njModule.NJUtils.generateRandom());
134 canvas.width = el.width; 134 canvas.width = el.width;
135 canvas.height = el.height; 135 canvas.height = el.height;
diff --git a/js/controllers/styles-controller.js b/js/controllers/styles-controller.js
index ec4314f9..2ff3e235 100755
--- a/js/controllers/styles-controller.js
+++ b/js/controllers/styles-controller.js
@@ -795,7 +795,9 @@ var stylesController = exports.StylesController = Montage.create(Component, {
795 ///// method to apply/test the new value 795 ///// method to apply/test the new value
796 dec.setProperty(property, value, priority); 796 dec.setProperty(property, value, priority);
797 797
798 this.styleSheetModified(rule.parentStyleSheet); 798 if(rule.parentStyleSheet) {
799 this.styleSheetModified(rule.parentStyleSheet);
800 }
799 801
800 ///// Return browser value for value we just set 802 ///// Return browser value for value we just set
801 return dec.getPropertyValue(property); 803 return dec.getPropertyValue(property);
@@ -1102,7 +1104,7 @@ var stylesController = exports.StylesController = Montage.create(Component, {
1102 ///// The dominant rule might not have the style property defined - why? 1104 ///// The dominant rule might not have the style property defined - why?
1103 ///// If no rules have the property defined, we can use the 1105 ///// If no rules have the property defined, we can use the
1104 ///// most-specific single-target rule as the dominant rule (for setting styles) 1106 ///// most-specific single-target rule as the dominant rule (for setting styles)
1105 return element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property); 1107 return (element.ownerDocument.defaultView ? element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property) : null);
1106 } 1108 }
1107 1109
1108 return value; 1110 return value;
diff --git a/js/controllers/tree-controller.js b/js/controllers/tree-controller.js
deleted file mode 100644
index 2b2e910c..00000000
--- a/js/controllers/tree-controller.js
+++ /dev/null
@@ -1,185 +0,0 @@
1/* <copyright>
2 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3 No 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 @module montage/ui/controller/tree-controller
8 @requires montage/core/core
9 @requires montage/ui/controller/object-controller
10 @requires montage/core/event/mutable-event
11 */
12var Montage = require("montage").Montage,
13 ObjectController = require("montage/ui/controller/object-controller").ObjectController,
14 ArrayController = require("montage/ui/controller/array-controller").ArrayController,
15 MutableEvent = require("montage/core/event/mutable-event").MutableEvent;
16/**
17 TODO: Write description like the array controllers: The ArrayController helps with organizing a hierarchical
18 collection of objects, and managing user selection within that collection.
19 You can assign a TreeController instance as the <code>contentProvider</code> property for a TreeView object.
20 @class module:montage/ui/controller/tree-controller.TreeController
21 @classdesc
22 @extends module:montage/ui/controller/object-controller.ObjectController
23*/
24var TreeController = exports.TreeController = Montage.create(ObjectController, /** @lends module:montage/ui/controller/tree-controller.TreeController# */ {
25
26 rootKey : {
27 value: null
28 },
29
30 branchKey : {
31 value: 'children'
32 },
33
34 _root : {
35 value : null
36 },
37 root : {
38 get: function() {
39 return this._root;
40 },
41 set: function(value) {
42 this._root = value;
43
44 this.initArrayControllers();
45 }
46 },
47
48 rootController: {
49 value: null
50 },
51
52 initArrayControllers : {
53 value: function() {
54 var self = this;
55
56 ///// Recursive function that finds all branch nodes and initializes
57 ///// sets the tree node type to "branch" or "leaf"
58
59 function walk(node, init, depth) {
60 var branch = node[self.branchKey];
61
62 if(branch) {
63 branch.forEach(function(node) {
64 walk(node, init, ++depth);
65 });
66
67 node['treeNodeType'] = 'branch';
68 } else {
69 node['treeNodeType'] = 'leaf';
70 }
71 }
72
73 walk(this._root, 0);
74
75 }
76 },
77
78 /**
79 @private
80 */
81 _selectedIndexes: {
82 value: null,
83 enumerable: false
84 },
85
86 /**
87 Description TODO
88 @type {Function}
89 @default null
90 */
91 selectedIndexes: {
92 get: function() {
93
94 },
95 set: function(value) {
96
97 }
98 },
99
100 branchControllers: {
101 value: []
102 },
103
104 addBranchController : {
105 value: function(controller) {
106 if(this.delegate) {
107 controller.delegate = this.delegate;
108 }
109
110 this.branchControllers.push(controller);
111 }
112 },
113
114 /**
115 @private
116 */