aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/controllers/elements/canvas-controller.js14
-rwxr-xr-xjs/controllers/elements/element-controller.js112
-rwxr-xr-xjs/controllers/elements/shapes-controller.js59
-rwxr-xr-xjs/controllers/elements/stage-controller.js58
-rw-r--r--js/data/panels-data.js12
-rwxr-xr-xjs/data/tools-data.js6
-rwxr-xr-xjs/lib/geom/brush-stroke.js3
-rwxr-xr-xjs/lib/geom/geom-obj.js3
-rwxr-xr-xjs/lib/geom/line.js2
-rwxr-xr-xjs/mediators/drag-drop-mediator.js4
-rwxr-xr-xjs/mediators/element-mediator.js225
-rwxr-xr-xjs/mediators/keyboard-mediator.js18
-rwxr-xr-xjs/models/element-model.js36
-rwxr-xr-xjs/panels/Panel.reel/Panel.js5
-rwxr-xr-xjs/panels/PanelContainer.reel/PanelContainer.html11
-rwxr-xr-xjs/panels/PanelContainer.reel/PanelContainer.js1
-rwxr-xr-xjs/panels/components-panel.reel/components-panel.js4
-rw-r--r--js/panels/history-panel/history-item.reel/history-item.css0
-rw-r--r--js/panels/history-panel/history-item.reel/history-item.html29
-rw-r--r--js/panels/history-panel/history-item.reel/history-item.js32
-rw-r--r--js/panels/history-panel/history.reel/history.css34
-rw-r--r--js/panels/history-panel/history.reel/history.html106
-rw-r--r--js/panels/history-panel/history.reel/history.js26
-rwxr-xr-xjs/panels/properties.reel/properties.js5
-rwxr-xr-xjs/tools/Rotate3DToolBase.js196
-rwxr-xr-xjs/tools/RotateObject3DTool.js1
-rwxr-xr-xjs/tools/RotateStage3DTool.js17
-rwxr-xr-xjs/tools/SelectionTool.js367
-rwxr-xr-xjs/tools/Translate3DToolBase.js158
-rwxr-xr-xjs/tools/TranslateObject3DTool.js17
-rwxr-xr-xjs/tools/modifier-tool-base.js38
31 files changed, 787 insertions, 812 deletions
diff --git a/js/controllers/elements/canvas-controller.js b/js/controllers/elements/canvas-controller.js
index b5df3911..b8894c18 100755
--- a/js/controllers/elements/canvas-controller.js
+++ b/js/controllers/elements/canvas-controller.js
@@ -34,12 +34,12 @@ exports.CanvasController = Montage.create(ElementController, {
34 } 34 }
35 } 35 }
36 }, 36 },
37 37
38 setProperties: { 38 setProperties: {
39 value: function(el, props, index) { 39 value: function(element, properties) {
40 for(var p in props) { 40 for(var property in properties) {
41 el.elementModel.controller.setProperty(el, p, props[p][index]); 41 this.setProperty(element, property, properties[property]);
42 } 42 }
43 } 43 }
44 } 44 }
45}); \ No newline at end of file 45}); \ No newline at end of file
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index 2ac84452..35a543ac 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -47,10 +47,10 @@ exports.ElementController = Montage.create(Component, {
47 }, 47 },
48 48
49 setProperties: { 49 setProperties: {
50 value: function(el, props, index) { 50 value: function(element, properties) {
51 for(var p in props) { 51 for(var property in properties) {
52 this.application.ninja.stylesController.setElementStyle(el, p, props[p][index]); 52 this.application.ninja.stylesController.setElementStyle(element, property, properties[property]);
53 } 53 }
54 } 54 }
55 }, 55 },
56 56
@@ -65,37 +65,29 @@ exports.ElementController = Montage.create(Component, {
65 // borderSide : "top", "right", "bottom", or "left" 65 // borderSide : "top", "right", "bottom", or "left"
66 getColor: { 66 getColor: {
67 value: function(el, isFill, borderSide) { 67 value: function(el, isFill, borderSide) {
68 var colorObj, 68 var colorObj, color, image;
69 color,
70 image;
71 69
72 // Return cached value if one exists 70 // Return cached value if one exists
73 if(isFill) 71 if(isFill) {
74 { 72 if(el.elementModel.fill) {
75 if(el.elementModel.fill)
76 {
77 return el.elementModel.fill; 73 return el.elementModel.fill;
78 } 74 }
79 //TODO: Once logic for color and gradient is established, this needs to be revised 75 //TODO: Once logic for color and gradient is established, this needs to be revised
80 color = this.getProperty(el, "background-color"); 76 color = this.getProperty(el, "background-color");
81 image = this.getProperty(el, "background-image"); 77 image = this.getProperty(el, "background-image");
82 } 78 } else {
83 else
84 {
85 // Try getting border color from specific side first 79 // Try getting border color from specific side first
86 if(borderSide) 80 if(borderSide) {
87 {
88 color = this.getProperty(el, "border-" + borderSide + "-color"); 81 color = this.getProperty(el, "border-" + borderSide + "-color");
89 image = this.getProperty(el, "border-" + borderSide + "-image"); 82 image = this.getProperty(el, "border-" + borderSide + "-image");
90 } 83 }
91 84
92 // If no color was found, look up the shared border color 85 // If no color was found, look up the shared border color
93 if(!color && !image) 86 if(!color && !image) {
94 { 87 if(el.elementModel.stroke) {
95 if(el.elementModel.stroke)
96 {
97 return el.elementModel.stroke; 88 return el.elementModel.stroke;
98 } 89 }
90
99 color = this.getProperty(el, "border-color"); 91 color = this.getProperty(el, "border-color");
100 image = this.getProperty(el, "border-image"); 92 image = this.getProperty(el, "border-image");
101 } 93 }
@@ -112,17 +104,12 @@ exports.ElementController = Montage.create(Component, {
112 } 104 }
113 105
114 // Update cache 106 // Update cache
115 if(isFill) 107 if(isFill) {
116 {
117 el.elementModel.fill = colorObj; 108 el.elementModel.fill = colorObj;
118 } 109 } else if(!borderSide) {
119 else if(!borderSide)
120 {
121 // TODO - Need to update border style and width also 110 // TODO - Need to update border style and width also
122 el.elementModel.stroke = colorObj; 111 el.elementModel.stroke = colorObj;
123 } 112 } else {
124 else
125 {
126 // TODO - Should update specific border sides too 113 // TODO - Should update specific border sides too
127 } 114 }
128 115
@@ -133,10 +120,9 @@ exports.ElementController = Montage.create(Component, {
133 setColor: { 120 setColor: {
134 value: function(el, color, isFill) { 121 value: function(el, color, isFill) {
135 var mode = color.mode; 122 var mode = color.mode;
136 if(isFill) 123
137 { 124 if(isFill) {
138 if(mode) 125 if(mode) {
139 {
140 switch (mode) { 126 switch (mode) {
141 case 'nocolor': 127 case 'nocolor':
142 this.setProperty(el, "background-image", "none"); 128 this.setProperty(el, "background-image", "none");
@@ -152,12 +138,10 @@ exports.ElementController = Montage.create(Component, {
152 this.setProperty(el, "background-color", color.color.css); 138 this.setProperty(el, "background-color", color.color.css);
153 } 139 }
154 } 140 }
141
155 el.elementModel.fill = color; 142 el.elementModel.fill = color;
156 } 143 } else {
157 else 144 if(mode) {
158 {
159 if(mode)
160 {
161 switch (mode) { 145 switch (mode) {
162 case 'nocolor': 146 case 'nocolor':
163 this.setProperty(el, "border-image", "none"); 147 this.setProperty(el, "border-image", "none");
@@ -167,20 +151,16 @@ exports.ElementController = Montage.create(Component, {
167 case 'gradient': 151 case 'gradient':
168 this.setProperty(el, "border-image", color.color.css); 152 this.setProperty(el, "border-image", color.color.css);
169 this.setProperty(el, "border-color", "none"); 153 this.setProperty(el, "border-color", "none");
170 if(color.borderInfo) 154 if(color.borderInfo) {
171 { 155 this.setProperty(el, "border-width", color.borderInfo.borderWidth + color.borderInfo.borderUnits);
172 this.setProperty(el, "border-width", color.borderInfo.borderWidth +
173 color.borderInfo.borderUnits);
174 this.setProperty(el, "border-style", color.borderInfo.borderStyle); 156 this.setProperty(el, "border-style", color.borderInfo.borderStyle);
175 } 15