aboutsummaryrefslogtreecommitdiff
path: root/js/stage
diff options
context:
space:
mode:
Diffstat (limited to 'js/stage')
-rwxr-xr-x[-rw-r--r--]js/stage/layout.js0
-rwxr-xr-x[-rw-r--r--]js/stage/stage-deps.js0
-rwxr-xr-xjs/stage/stage-view.reel/stage-view.css37
-rwxr-xr-xjs/stage/stage-view.reel/stage-view.html31
-rwxr-xr-xjs/stage/stage-view.reel/stage-view.js236
-rwxr-xr-x[-rw-r--r--]js/stage/stage.reel/stage.css0
-rwxr-xr-x[-rw-r--r--]js/stage/stage.reel/stage.html14
-rwxr-xr-x[-rw-r--r--]js/stage/stage.reel/stage.js15
-rwxr-xr-x[-rw-r--r--]js/stage/tool-handle.js0
9 files changed, 330 insertions, 3 deletions
diff --git a/js/stage/layout.js b/js/stage/layout.js
index 1a491210..1a491210 100644..100755
--- a/js/stage/layout.js
+++ b/js/stage/layout.js
diff --git a/js/stage/stage-deps.js b/js/stage/stage-deps.js
index 7c6d58b4..7c6d58b4 100644..100755
--- a/js/stage/stage-deps.js
+++ b/js/stage/stage-deps.js
diff --git a/js/stage/stage-view.reel/stage-view.css b/js/stage/stage-view.reel/stage-view.css
new file mode 100755
index 00000000..ce7072c7
--- /dev/null
+++ b/js/stage/stage-view.reel/stage-view.css
@@ -0,0 +1,37 @@
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.codeViewContainer {
8 position: absolute;
9 top: 0px;
10 left: 0px;
11 margin: 0px;
12 padding: 0px;
13 background-color: #ffffff;
14 width: 100%;
15 height: 100%;
16 overflow:auto;
17 /*display: none;*/
18}
19
20/* OLD CSS for reference
21#mainContent #codeMirror_1 {
22 height:100%;
23}
24*/
25
26.CodeMirror {
27 width: 100%;
28 height: 100%;
29 background: white;
30}
31
32.CodeMirror .CodeMirror-scroll {
33 height: 100%;
34 overflow: scroll;
35 overflow-x: auto;
36 overflow-y: auto;
37}
diff --git a/js/stage/stage-view.reel/stage-view.html b/js/stage/stage-view.reel/stage-view.html
new file mode 100755
index 00000000..ee8fa315
--- /dev/null
+++ b/js/stage/stage-view.reel/stage-view.html
@@ -0,0 +1,31 @@
1<!DOCTYPE html>
2<!-- <copyright>
3 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
4 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
5 (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
6 </copyright> -->
7<html>
8<head>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 <link rel="stylesheet" type="text/css" href="stage-view.css">
11
12 <script type="text/montage-serialization">
13 {
14 "owner": {
15 "module": "js/stage/stage-view.reel",
16 "name": "StageView",
17 "properties": {
18 "element": {"#": "codeViewContainer"}
19 }
20 }
21 }
22 </script>
23
24</head>
25<body>
26
27
28 <section id="codeViewContainer" class="codeViewContainer"></section>
29
30</body>
31</html>
diff --git a/js/stage/stage-view.reel/stage-view.js b/js/stage/stage-view.reel/stage-view.js
new file mode 100755
index 00000000..f8817b13
--- /dev/null
+++ b/js/stage/stage-view.reel/stage-view.js
@@ -0,0 +1,236 @@
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
7/**
8@requires montage/core/core
9@requires montage/ui/component
10*/
11var Montage = require("montage/core/core").Montage,
12 Component = require("montage/ui/component").Component;
13
14exports.StageView = Montage.create(Component, {
15 _documents: {
16 value : []
17 },
18
19 docs: {
20 get: function() {
21 return this._documents;
22 },
23 set: function(value) {
24 //console.log(value);
25 }
26 },
27
28 templateDidLoad: {
29 value: function() {
30 this.eventManager.addEventListener("appLoaded", this, false);
31 }
32 },
33
34 didDraw:{
35 value: function() {
36 if(!this.application.ninja.documentController._textHolder) this.application.ninja.documentController._textHolder = this.element;
37 }
38 },
39
40 handleAppLoaded: {
41 value: function() {
42
43 // Don't bind for now
44 /*
45 Object.defineBinding(this, "docs", {
46 boundObject: this.application.ninja.documentController,
47 boundObjectPropertyPath: "_documents"
48 });
49 */
50
51 }
52 },
53
54 /**
55 * Creates a text area which will contain the content of the opened text document.
56 */
57 createTextAreaElement: {
58 value: function(uuid) {
59
60
61 var codeMirrorDiv = document.createElement("div");
62 codeMirrorDiv.id = "codeMirror_" + uuid;
63 codeMirrorDiv.style.display = "block";
64 this.element.appendChild(codeMirrorDiv);
65
66 var textArea = document.createElement("textarea");
67 textArea.id = "code";
68 textArea.name = "code";
69
70 codeMirrorDiv.appendChild(textArea);
71
72 return textArea;
73 }
74 },
75
76 // Temporary function to create a Codemirror text view
77 createTextView: {
78 value: function(doc) {
79 this.application.ninja.documentController.activeDocument.save(true /*remove the codemirror div after saving*/);
80 this.application.ninja.documentController._hideCurrentDocument();
81 this.hideOtherDocuments(doc.uuid);
82 var type;
83 switch(doc.documentType) {
84 case "css" :
85 type = "css";
86 break;
87 case "js" :
88 type = "javascript";
89 break;
90 }
91
92 //fix hack
93 document.getElementById("codeMirror_"+doc.uuid).style.display="block";
94
95 var documentController = this.application.ninja.documentController;
96
97 doc.editor = CodeMirror.fromTextArea(doc.textArea, {
98 lineNumbers: true,
99 mode: type,
100 onChange: function(){
101 var historySize = doc.editor.historySize();
102 if((historySize.undo===0 && historySize.redo===0) || (historySize.undo>0)){
103 doc.dirtyFlag=true;
104 }else if(historySize.undo===0 && historySize.redo>0){
105 doc.dirtyFlag=false;
106 }
107 },
108 onCursorActivity: function() {
109 //documentController._codeEditor.editor.setLineClass(documentController._codeEditor.hline, null);
110 //documentController._codeEditor.hline = documentController._codeEditor.editor.setLineClass(documentController._codeEditor.editor.getCursor().line, "activeline");
111 }
112 });
113
114 //this.application.ninja.documentController._codeEditor.hline = this.application.ninja.documentController._codeEditor.editor.setLineClass(0, "activeline");
115 this.application.ninja.stage._scrollFlag = false; // TODO HACK to prevent type error on Hide/Show Iframe
116 this.application.ninja.documentController.activeDocument = doc;
117 this.application.ninja.stage.hideCanvas(true);
118 }
119 },
120
121
122
123 switchDocument:{
124 value: function(doc){
125 this.application.ninja.documentController.activeDocument.save(true /*remove the codemirror div after saving*/);
126
127 this.application.ninja.documentController._hideCurrentDocument();
128
129
130 if(this.application.ninja.documentController.activeDocument.currentView === "design"){
131 console.log("scrollLeft: "+ this.application.ninja.stage._iframeContainer.scrollLeft);
132 console.log("scrollTop: "+ this.application.ninja.stage._iframeContainer.scrollTop);
133 }
134
135
136 this.application.ninja.documentController.activeDocument = doc;
137
138 this.application.ninja.stage._scrollFlag = false; // TODO HACK to prevent type error on Hide/Show Iframe
139 this.application.ninja.documentController._showCurrentDocument();
140
141 var documentController = this.application.ninja.documentController;
142
143 if(this.applic