aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValerio Virgillito2012-04-26 17:10:03 -0700
committerValerio Virgillito2012-04-26 17:10:03 -0700
commit6c1aa27b7753bc9007514859b42160fae265740d (patch)
treef9a01321bafbc8baf91b0d8b0f6c43ddf5453c5d
parent7968f3a9cf56392c914d6bd44cc90145b6d807a3 (diff)
parenta0ba2437965f486667d07bba60c031a11d778e6a (diff)
downloadninja-6c1aa27b7753bc9007514859b42160fae265740d.tar.gz
Merge branch 'stage-document-architecture' of https://github.com/mencio/ninja-internal into serialization
-rwxr-xr-xjs/components/layout/bread-crumb.reel/bread-crumb.js1
-rwxr-xr-xjs/controllers/elements/body-controller.js44
-rwxr-xr-xjs/controllers/elements/controller-factory.js5
-rwxr-xr-xjs/data/pi/pi-data.js14
-rwxr-xr-xjs/document/document-html.js46
-rwxr-xr-xjs/document/html-document.js10
-rwxr-xr-xjs/document/models/base.js8
-rwxr-xr-xjs/document/templates/montage-web/default_html.css2
-rwxr-xr-xjs/document/templates/montage-web/index.html2
-rwxr-xr-xjs/lib/NJUtils.js14
-rwxr-xr-xjs/models/element-model.js35
-rwxr-xr-xjs/models/properties-3d.js3
-rwxr-xr-xjs/panels/properties.reel/properties.js1
-rwxr-xr-xjs/stage/stage.reel/stage.js87
-rwxr-xr-xjs/tools/EyedropperTool.js2
-rwxr-xr-xjs/tools/FillTool.js2
-rwxr-xr-xjs/tools/InkBottleTool.js2
-rwxr-xr-xjs/tools/ShapeTool.js2
-rwxr-xr-xjs/tools/ToolBase.js4
-rwxr-xr-xjs/tools/TranslateObject3DTool.js2
-rwxr-xr-xjs/tools/modifier-tool-base.js2
21 files changed, 199 insertions, 89 deletions
diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.js b/js/components/layout/bread-crumb.reel/bread-crumb.js
index 597577f1..cf7b0685 100755
--- a/js/components/layout/bread-crumb.reel/bread-crumb.js
+++ b/js/components/layout/bread-crumb.reel/bread-crumb.js
@@ -81,7 +81,6 @@ exports.Breadcrumb = Montage.create(Component, {
81 81
82 // This is always the top container which is now hardcoded to body 82 // This is always the top container which is now hardcoded to body
83 this.containerElements.unshift({"node": parentNode, "nodeUuid":parentNode.uuid, "label": parentNode.nodeName}); 83 this.containerElements.unshift({"node": parentNode, "nodeUuid":parentNode.uuid, "label": parentNode.nodeName});
84 console.log("this works!");
85 } 84 }
86 85
87 } 86 }
diff --git a/js/controllers/elements/body-controller.js b/js/controllers/elements/body-controller.js
new file mode 100755
index 00000000..fbbb7c6e
--- /dev/null
+++ b/js/controllers/elements/body-controller.js
@@ -0,0 +1,44 @@
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
7var Montage = require("montage/core/core").Montage,
8 ElementController = require("js/controllers/elements/element-controller").ElementController;
9
10exports.BodyController = Montage.create(ElementController, {
11
12 // TODO - perspective distance needs to be passed in as "dist" and matrix3d needs to be passed in as "mat"
13 set3DProperties: {
14 value: function(el, props, update3DModel) {
15 }
16 },
17
18 getProperty: {
19 value: function(el, p) {
20 }
21 },
22
23 setProperty: {
24 value: function(el, p, value) {
25 }
26 },
27
28 setAttribute: {
29 value: function(el, att, value) {
30 }
31 },
32
33 getPerspectiveDist: {
34 value: function(el) {
35 if(el.elementModel && el.elementModel.props3D && el.elementModel.props3D.perspectiveDist) {
36 return el.elementModel.props3D.perspectiveDist;
37 } else {
38 var dist = this.application.ninja.stylesController.getPerspectiveDistFromElement(el, true);
39 el.elementModel.props3D.perspectiveDist = dist;
40 return dist;
41 }
42 }
43 }
44});
diff --git a/js/controllers/elements/controller-factory.js b/js/controllers/elements/controller-factory.js
index a772eb16..1bbbbce0 100755
--- a/js/controllers/elements/controller-factory.js
+++ b/js/controllers/elements/controller-factory.js
@@ -6,7 +6,8 @@ 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 8
9var BlockController = require("js/controllers/elements/block-controller").BlockController, 9var BodyController = require("js/controllers/elements/body-controller").BodyController,
10 BlockController = require("js/controllers/elements/block-controller").BlockController,
10 StageController = require("js/controllers/elements/stage-controller").StageController, 11 StageController = require("js/controllers/elements/stage-controller").StageController,
11 ShapesController = require("js/controllers/elements/shapes-controller").ShapesController, 12 ShapesController = require("js/controllers/elements/shapes-controller").ShapesController,
12 ImageController = require("js/controllers/elements/image-controller").ImageController, 13 ImageController = require("js/controllers/elements/image-controller").ImageController,
@@ -27,6 +28,8 @@ exports.ControllerFactory = Montage.create(Montage, {
27 return BlockController; 28 return BlockController;
28 } else if(value.indexOf("stage") !== -1) { 29 } else if(value.indexOf("stage") !== -1) {
29 return StageController; 30 return StageController;
31 } else if(value.indexOf("body") !== -1) {
32 return BodyController;
30 } else if(value.indexOf("shape") !== -1) { 33 } else if(value.indexOf("shape") !== -1) {
31 return ShapesController; 34 return ShapesController;
32 } else if(value.indexOf("canvas") !== -1) { 35 } else if(value.indexOf("canvas") !== -1) {
diff --git a/js/data/pi/pi-data.js b/js/data/pi/pi-data.js
index 157c54ec..65161b4f 100755
--- a/js/data/pi/pi-data.js
+++ b/js/data/pi/pi-data.js
@@ -9,6 +9,20 @@ var Montage = require("montage/core/core").Montage,
9 9
10exports.PiData = Montage.create( Montage, { 10exports.PiData = Montage.create( Montage, {
11 11
12 bodyPi: {
13 value: [
14 {
15 label: "Style",
16
17 Section: [
18 [
19
20 ]
21 ]
22 }
23 ]
24 },
25
12 stagePi: { 26 stagePi: {
13 value: [ 27 value: [
14 { 28 {
diff --git a/js/document/document-html.js b/js/document/document-html.js
index 8cb88516..89717dd6 100755
--- a/js/document/document-html.js
+++ b/js/document/document-html.js
@@ -31,6 +31,10 @@ exports.HtmlDocument = Montage.create(Component, {
31 value: null 31 value: null
32 }, 32 },
33 33
34 exclusionList: {
35 value: ["HTML", "BODY"]
36 },
37
34 // Getters for the model. 38 // Getters for the model.
35 // TODO: Change how these properties are accessed through Ninja 39 // TODO: Change how these properties are accessed through Ninja
36 name: { 40 name: {
@@ -42,6 +46,24 @@ exports.HtmlDocument = Montage.create(Component, {
42 } 46 }
43 }, 47 },
44 48
49 isActive: {
50 get: function() {
51 return this.model._isActive;
52 },
53 set: function(value) {
54 this.model._isActive = value;
55 }
56 },
57
58 needsSave: {
59 get: function() {
60 return this.model._needsSave;
61 },
62 set: function(value) {
63 this.model._needsSave = value;
64 }
65 },
66
45 // View Properties 67 // View Properties
46 // TODO: Move those into a view object - for now dump it here 68 // TODO: Move those into a view object - for now dump it here
47 iframe: { 69 iframe: {
@@ -53,6 +75,10 @@ exports.HtmlDocument = Montage.create(Component, {
53 return this._uuid; 75 return this._uuid;
54 } 76 }
55 }, 77 },
78
79 currentView: {
80 value: "design"
81 },
56 //////////////////////////////////////////////////////////////////// 82 ////////////////////////////////////////////////////////////////////
57 //////////////////////////////////////////////////////////////////// 83 ////////////////////////////////////////////////////////////////////
58 init: { 84 init: {
@@ -270,7 +296,8 @@ exports.HtmlDocument = Montage.create(Component, {
270 296
271 //TODO Finish this implementation once we start caching Core Elements 297 //TODO Finish this implementation once we start caching Core Elements
272 // Assign a model to the UserContent and add the ViewPort reference to it. 298 // Assign a model to the UserContent and add the ViewPort reference to it.
273 document.application.njUtils.makeElementModel(this.documentRoot, "Stage", "stage"); 299 document.application.njUtils.makeElementModel(this.documentRoot, "Body", "body");
300// this.documentRoot.elementModel.props3D.init(this.documentRoot, true);
274 301
275 for(i = 0; i < this._stylesheets.length; i++) { 302 for(i = 0; i < this._stylesheets.length; i++) {
276 if(this._stylesheets[i].ownerNode.id === "nj-stage-stylesheet") { 303 if(this._stylesheets[i].ownerNode.id === "nj-stage-stylesheet") {
@@ -309,6 +336,23 @@ exports.HtmlDocument = Montage.create(Component, {
309 } 336 }
310 }, 337 },
311 338
339 GetElementFromPoint: {
340 value: function(x, y) {
341 return this._window.getElement(x,y);
342 }
343 },
344
345 inExclusion: {
346 value: function(element) {
347 if(this.exclusionList.indexOf(element.nodeName) === -1) {
348 return -1;
349 }
350
351 return 1;
352
353 }
<