diff options
Diffstat (limited to 'js/stage')
-rwxr-xr-x | js/stage/stage-deps.js | 73 | ||||
-rwxr-xr-x | js/stage/stage-view.reel/stage-view.js | 154 | ||||
-rwxr-xr-x | js/stage/stage.reel/stage.html | 3 | ||||
-rwxr-xr-x | js/stage/stage.reel/stage.js | 144 |
4 files changed, 86 insertions, 288 deletions
diff --git a/js/stage/stage-deps.js b/js/stage/stage-deps.js index 1825eb06..0d53696b 100755 --- a/js/stage/stage-deps.js +++ b/js/stage/stage-deps.js | |||
@@ -11,8 +11,7 @@ var Montage = require("montage/core/core").Montage, | |||
11 | drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils, | 11 | drawUtils = require("js/helper-classes/3D/draw-utils").DrawUtils, |
12 | ElementPlanes = require("js/helper-classes/3D/element-planes").ElementPlanes, | 12 | ElementPlanes = require("js/helper-classes/3D/element-planes").ElementPlanes, |
13 | MathUtilsClass = require("js/helper-classes/3D/math-utils").MathUtilsClass, | 13 | MathUtilsClass = require("js/helper-classes/3D/math-utils").MathUtilsClass, |
14 | VecUtils = require("js/helper-classes/3D/vec-utils").VecUtils, | 14 | VecUtils = require("js/helper-classes/3D/vec-utils").VecUtils; |
15 | DrawingToolBase = require("js/tools/drawing-tool-base").DrawingToolBase; | ||
16 | 15 | ||
17 | exports.StageDeps = Montage.create(Component, { | 16 | exports.StageDeps = Montage.create(Component, { |
18 | viewUtils: { | 17 | viewUtils: { |
@@ -27,24 +26,6 @@ exports.StageDeps = Montage.create(Component, { | |||
27 | value: drawUtils | 26 | value: drawUtils |
28 | }, | 27 | }, |
29 | 28 | ||
30 | currentStage: { | ||
31 | value: null | ||
32 | }, | ||
33 | |||
34 | _currentDocument: { | ||
35 | value: null | ||
36 | }, | ||
37 | |||
38 | currentDocument: { | ||
39 | get: function() { return this._currentDocument; }, | ||
40 | set: function(value) { | ||
41 | if(value) { | ||
42 | this._currentDocument = value; | ||
43 | this.currentStage = value.documentRoot; | ||
44 | } | ||
45 | } | ||
46 | }, | ||
47 | |||
48 | _userContentLeft: { | 29 | _userContentLeft: { |
49 | value: null | 30 | value: null |
50 | }, | 31 | }, |
@@ -74,8 +55,9 @@ exports.StageDeps = Montage.create(Component, { | |||
74 | deserializedFromTemplate: { | 55 | deserializedFromTemplate: { |
75 | value: function() { | 56 | value: function() { |
76 | 57 | ||
77 | this.eventManager.addEventListener( "appLoaded", this, false); | 58 | this.eventManager.addEventListener("appLoaded", this, false); |
78 | this.eventManager.addEventListener( "openDocument", this, false); | 59 | this.eventManager.addEventListener("openDocument", this, false); |
60 | this.eventManager.addEventListener("switchDocument", this, false); | ||
79 | 61 | ||
80 | // Initialize Deps | 62 | // Initialize Deps |
81 | // HACK | 63 | // HACK |
@@ -112,7 +94,9 @@ exports.StageDeps = Montage.create(Component, { | |||
112 | // bind the snap properties to the snap manager | 94 | // bind the snap properties to the snap manager |
113 | snapManager.bindSnap(); | 95 | snapManager.bindSnap(); |
114 | 96 | ||
115 | 97 | drawUtils.viewUtils = viewUtils; | |
98 | drawUtils.snapManager = snapManager; | ||
99 | drawUtils.ElementPlanes = ElementPlanes; | ||
116 | } | 100 | } |
117 | }, | 101 | }, |
118 | 102 | ||
@@ -121,53 +105,22 @@ exports.StageDeps = Montage.create(Component, { | |||
121 | 105 | ||
122 | workingPlane = [0,0,1,0]; | 106 | workingPlane = [0,0,1,0]; |
123 | 107 | ||
124 | snapManager.setCurrentStage(this.currentStage); | 108 | snapManager.reload2DCache(); |
125 | 109 | snapManager.setupDragPlaneFromPlane (workingPlane); | |
126 | viewUtils.setCurrentDocument(this.currentDocument); | ||
127 | viewUtils.setRootElement(this.currentStage.parentNode); | ||
128 | viewUtils.setStageElement(this.currentStage); | ||
129 | |||
130 | drawUtils.viewUtils = viewUtils; | ||
131 | drawUtils.snapManager = snapManager; | ||
132 | drawUtils.ElementPlanes = ElementPlanes; | ||
133 | |||
134 | snapManager._isCacheInvalid=true; | ||
135 | |||
136 | snapManager.setupDragPlaneFromPlane ( workingPlane ); | ||
137 | |||
138 | DrawingToolBase.stage = this.currentStage; | ||
139 | DrawingToolBase.stageComponent = this.stage; | ||
140 | 110 | ||
141 | drawUtils.initializeFromDocument(); | 111 | drawUtils.initializeFromDocument(); |
142 | } | 112 | } |
143 | }, | 113 | }, |
144 | 114 | ||
145 | reinitializeForSwitchDocument: { | 115 | handleSwitchDocument: { |
146 | value: function() { | 116 | value: function(){ |
147 | |||
148 | workingPlane = [0,0,1,0]; | 117 | workingPlane = [0,0,1,0]; |
149 | 118 | ||
150 | snapManager.setCurrentStage(this.currentStage); | 119 | snapManager.setupDragPlaneFromPlane (workingPlane); |
120 | snapManager.reload2DCache(); | ||
151 | 121 | ||
152 | viewUtils.setCurrentDocument(this.currentDocument); | ||
153 | viewUtils.setRootElement(this.currentStage.parentNode); | ||
154 | viewUtils.setStageElement(this.currentStage); | ||
155 | |||
156 | drawUtils.viewUtils = viewUtils; | ||
157 | drawUtils.snapManager = snapManager; | ||
158 | drawUtils.ElementPlanes = ElementPlanes; | ||
159 | |||
160 | snapManager._isCacheInvalid=true; | ||
161 | |||
162 | snapManager.setupDragPlaneFromPlane ( workingPlane ); | ||
163 | |||
164 | DrawingToolBase.stage = this.currentStage; | ||
165 | DrawingToolBase.stageComponent = this.stage; | ||
166 | 122 | ||
167 | drawUtils.initializeFromDocument(); | 123 | drawUtils.initializeFromDocument(); |
168 | } | 124 | } |
169 | } | 125 | } |
170 | |||
171 | |||
172 | |||
173 | }); \ No newline at end of file | 126 | }); \ No newline at end of file |
diff --git a/js/stage/stage-view.reel/stage-view.js b/js/stage/stage-view.reel/stage-view.js index ba94fadf..2c129ee2 100755 --- a/js/stage/stage-view.reel/stage-view.js +++ b/js/stage/stage-view.reel/stage-view.js | |||
@@ -33,107 +33,10 @@ exports.StageView = Montage.create(Component, { | |||
33 | 33 | ||
34 | /** | 34 | /** |
35 | * Public method | 35 | * Public method |
36 | * Creates a textarea element which will contain the content of the opened text document. | ||
37 | */ | ||
38 | createTextAreaElement: { | ||
39 | value: function(uuid) { | ||
40 | var codeMirrorDiv = document.createElement("div"); | ||
41 | codeMirrorDiv.id = "codeMirror_" + uuid; | ||
42 | codeMirrorDiv.style.display = "block"; | ||
43 | this.element.appendChild(codeMirrorDiv); | ||
44 | |||
45 | var textArea = document.createElement("textarea"); | ||
46 | textArea.id = "code"; | ||
47 | textArea.name = "code"; | ||
48 | codeMirrorDiv.appendChild(textArea); | ||
49 | |||
50 | return textArea; | ||
51 | } | ||
52 | }, | ||
53 | |||
54 | /** | ||
55 | * Public method | ||
56 | * Creates a new instance of a code editor | ||
57 | */ | ||
58 | createTextView: { | ||
59 | value: function(doc) { | ||
60 | var type; | ||
61 | this.application.ninja.documentController._hideCurrentDocument(); | ||
62 | this.hideOtherDocuments(doc.uuid); | ||
63 | |||
64 | switch(doc.documentType) { | ||
65 | case "css" : | ||
66 | type = "css"; | ||
67 | break; | ||
68 | case "js" : | ||
69 | type = "javascript"; | ||
70 | break; | ||
71 | case "html" : | ||
72 | type = "htmlmixed"; | ||
73 | break; | ||
74 | case "json" : | ||
75 | type = "javascript"; | ||
76 | break; | ||
77 | case "php" : | ||
78 | type = "php"; | ||
79 | break; | ||
80 | case "pl" : | ||
81 | type = "perl"; | ||
82 | break; | ||
83 | case "py" : | ||
84 | type = "python"; | ||
85 | break; | ||
86 | case "rb" : | ||
87 | type = "ruby"; | ||
88 | break; | ||
89 | case "xml" : | ||
90 | type = "xml"; | ||
91 | break; | ||
92 | } | ||
93 | document.getElementById("codeMirror_"+doc.uuid).style.display="block"; | ||
94 | |||
95 | doc.editor = this.application.ninja.codeEditorController.createEditor(doc, type, doc.documentType); | ||
96 | doc.editor.hline = doc.editor.setLineClass(0, "activeline"); | ||
97 | |||
98 | this.application.ninja.stage._scrollFlag = false; // TODO HACK to prevent type error on Hide/Show Iframe | ||
99 | this.application.ninja.documentController.activeDocument = doc; | ||
100 | this.application.ninja.stage.hideCanvas(true); | ||
101 | document.getElementById("iframeContainer").style.display="none";//hide the iframe when switching to code view | ||
102 | |||
103 | this.showCodeViewBar(true); | ||
104 | this.application.ninja.codeEditorController.applySettings(); | ||
105 | this.collapseAllPanels(); | ||
106 | } | ||
107 | }, | ||
108 | |||
109 | /** | ||
110 | * Public method | ||
111 | * Switches between documents. Document state data is saved and restored whereever applicable | 36 | * Switches between documents. Document state data is saved and restored whereever applicable |
112 | */ | 37 | */ |
113 | switchDocument:{ | 38 | switchDocument:{ |
114 | value: function(doc){ | 39 | value: function(doc){ |
115 | this.application.ninja.documentController._hideCurrentDocument(); | ||
116 | this.application.ninja.documentController.activeDocument = doc; | ||
117 | |||
118 | if(this.application.ninja.documentController.activeDocument.currentView === "design") { | ||
119 | this.application.ninja.currentDocument = this.application.ninja.documentController.activeDocument; | ||
120 | } | ||
121 | |||
122 | this.application.ninja.stage._scrollFlag = false; // TODO HACK to prevent type error on Hide/Show Iframe | ||
123 | |||
124 | |||
125 | // this.application.ninja.documentController._showCurrentDocument(); | ||
126 | // Inline function below | ||
127 | if(this.activeDocument) { | ||
128 | this.activeDocument.container.style["display"] = "block"; | ||
129 | if(this.activeDocument.currentView === "design"){ | ||
130 | this.activeDocument.container.parentNode.style["display"] = "block"; | ||
131 | this.activeDocument.restoreAppState(); | ||
132 | } else { | ||