From 3ed95247e9ea4b0a7833401ed6809647b7c4acbf Mon Sep 17 00:00:00 2001 From: Armen Kesablyan Date: Wed, 23 May 2012 14:26:46 -0700 Subject: Binding Visual Tool Initial setup Signed-off-by: Armen Kesablyan --- js/stage/stage.reel/stage.html | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'js/stage/stage.reel') diff --git a/js/stage/stage.reel/stage.html b/js/stage/stage.reel/stage.html index 88cd6149..79e34802 100755 --- a/js/stage/stage.reel/stage.html +++ b/js/stage/stage.reel/stage.html @@ -53,7 +53,13 @@ "focusManager": { "object": "js/components/focus-manager.reel" }, - + + "bindingView": { + "prototype": "js/stage/binding-view.reel", + "properties" : { + "element": {"#": "bindingView" } + } + }, "owner": { "prototype": "js/stage/stage.reel", "properties": { @@ -66,7 +72,8 @@ "layout": {"@": "layout1"}, "stageView": {"@": "stageView"}, "textTool": {"@": "textTool"}, - "focusManager": {"@": "focusManager"} + "focusManager": {"@": "focusManager"}, + "bindingView": {"@": "bindingView"} }, "bindings": { "currentDocumentStageView": { @@ -89,6 +96,7 @@ +
-- cgit v1.2.3 From 7d3bdf39e6d1534de1848ca2744aed66dfeb5d2a Mon Sep 17 00:00:00 2001 From: Armen Kesablyan Date: Tue, 5 Jun 2012 23:13:03 -0700 Subject: Initial Text Tool Changes Signed-off-by: Armen Kesablyan --- js/stage/stage.reel/stage.css | 10 +++++++++- js/stage/stage.reel/stage.html | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'js/stage/stage.reel') diff --git a/js/stage/stage.reel/stage.css b/js/stage/stage.reel/stage.css index 13537ba1..2271cd8a 100755 --- a/js/stage/stage.reel/stage.css +++ b/js/stage/stage.reel/stage.css @@ -12,6 +12,14 @@ overflow: hidden; } +.montage-editor-container { + z-index: 8; +} + +.stageAndScenesContainer .montage-editor { + -webkit-user-select:text; +} + .codeViewContainer { position: absolute; top: 0px; @@ -55,4 +63,4 @@ div.CodeMirror span.CodeMirror-matchingbracket {color: #000 !important;backgroun .cm-s-monokai .activeline {background: #8da6ce; !important} .cm-s-rubyblue .activeline {background: #3E7087; !important} .cm-s-lesser-dark .activeline {background: #8da6ce; !important} -.cm-s-xq-dark .activeline {background: #8da6ce; !important} \ No newline at end of file +.cm-s-xq-dark .activeline {background: #8da6ce; !important} diff --git a/js/stage/stage.reel/stage.html b/js/stage/stage.reel/stage.html index 7a9619cd..2ed596f3 100755 --- a/js/stage/stage.reel/stage.html +++ b/js/stage/stage.reel/stage.html @@ -31,7 +31,7 @@ }, "textTool": { - "prototype": "node_modules/labs/rich-text-editor.reel", + "prototype": "montage/ui/rich-text-editor/rich-text-editor.reel", "properties": { "element" : {"#": "textToolObject"} } -- cgit v1.2.3 From f5e70ca6204f78c395458d39f14ddaf45308edf7 Mon Sep 17 00:00:00 2001 From: Armen Kesablyan Date: Mon, 18 Jun 2012 13:22:08 -0700 Subject: Binding View - validate over huds Signed-off-by: Armen Kesablyan --- js/stage/stage.reel/stage.html | 2 +- js/stage/stage.reel/stage.js | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'js/stage/stage.reel') diff --git a/js/stage/stage.reel/stage.html b/js/stage/stage.reel/stage.html index 397af0b6..215f8f2e 100755 --- a/js/stage/stage.reel/stage.html +++ b/js/stage/stage.reel/stage.html @@ -84,7 +84,7 @@ -
+
diff --git a/js/stage/stage.reel/stage.js b/js/stage/stage.reel/stage.js index 30ee1e40..63339c57 100755 --- a/js/stage/stage.reel/stage.js +++ b/js/stage/stage.reel/stage.js @@ -21,6 +21,9 @@ exports.Stage = Montage.create(Component, { _canvasSelectionPrefs: { value: { "thickness" : 1.0, "color" : "#46a1ff" } }, _canvasDrawingPrefs: { value: { "thickness" : 1.0, "color" : "#000" } }, drawingContextPreferences: { get: function() { return this._canvasDrawingPrefs; } }, + bindingView: { + value: null + }, _iframeContainer: { value: null }, @@ -237,9 +240,8 @@ exports.Stage = Montage.create(Component, { value: function() { if(this.resizeCanvases) { // TODO GET THE SCROLL SIZE FROM THE CSS -- 11 px - this._canvas.width = this._layoutCanvas.width = this._drawingCanvas.width = this._gridCanvas.width = this.element.offsetWidth - 11 ; - this._canvas.height = this._layoutCanvas.height = this._drawingCanvas.height = this._gridCanvas.height = this.element.offsetHeight - 11;// - 26 - 26; - + this._canvas.width = this._layoutCanvas.width = this._drawingCanvas.width = this._gridCanvas.width = this.bindingView.width = this.element.offsetWidth - 11; + this._canvas.height = this._layoutCanvas.height = this._drawingCanvas.height = this._gridCanvas.height = this.bindingView.height = this.element.offsetHeight - 11;// - 26 - 26; // Hack for now until a full component this.layout.draw(); if(this.currentDocument && (this.currentDocument.currentView === "design")) { @@ -314,8 +316,8 @@ exports.Stage = Montage.create(Component, { } // Recalculate the canvas sizes because of splitter resizing - this._canvas.width = this._layoutCanvas.width = this._drawingCanvas.width = this._gridCanvas.width = this.element.offsetWidth - 11 ; - this._canvas.height = this._layoutCanvas.height = this._drawingCanvas.height = this._gridCanvas.height = this.element.offsetHeight - 11; + this._canvas.width = this._layoutCanvas.width = this._drawingCanvas.width = this._gridCanvas.width = this.bindingView.width = this.element.offsetWidth - 11 ; + this._canvas.height = this._layoutCanvas.height = this._drawingCanvas.height = this._gridCanvas.height = this.bindingView.height = this.element.offsetHeight - 11; designView.iframe.contentWindow.addEventListener("scroll", this, false); -- cgit v1.2.3 From 1007cbf983ad0f2460a4122a492a96023fdb4439 Mon Sep 17 00:00:00 2001 From: Armen Kesablyan Date: Tue, 19 Jun 2012 01:05:51 -0700 Subject: Bug: Text Tool Breaking canvas space. Signed-off-by: Armen Kesablyan --- js/stage/stage.reel/stage.css | 3 +++ 1 file changed, 3 insertions(+) (limited to 'js/stage/stage.reel') diff --git a/js/stage/stage.reel/stage.css b/js/stage/stage.reel/stage.css index 2271cd8a..2c2e30d3 100755 --- a/js/stage/stage.reel/stage.css +++ b/js/stage/stage.reel/stage.css @@ -14,6 +14,8 @@ .montage-editor-container { z-index: 8; + display: none; + position: absolute; } .stageAndScenesContainer .montage-editor { @@ -64,3 +66,4 @@ div.CodeMirror span.CodeMirror-matchingbracket {color: #000 !important;backgroun .cm-s-rubyblue .activeline {background: #3E7087; !important} .cm-s-lesser-dark .activeline {background: #8da6ce; !important} .cm-s-xq-dark .activeline {background: #8da6ce; !important} + -- cgit v1.2.3 From 48bb94a72126e7be712b2c4ca9be2f03ecb65aea Mon Sep 17 00:00:00 2001 From: Nivesh Rajbhandari Date: Mon, 25 Jun 2012 14:54:16 -0700 Subject: IKNinja-1688 - Creating a banner file after a code file causes body div to shift to the right and has different scroll bars. Signed-off-by: Nivesh Rajbhandari --- js/stage/stage.reel/stage.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'js/stage/stage.reel') diff --git a/js/stage/stage.reel/stage.js b/js/stage/stage.reel/stage.js index 5e913c76..319ffe87 100755 --- a/js/stage/stage.reel/stage.js +++ b/js/stage/stage.reel/stage.js @@ -19,6 +19,7 @@ exports.Stage = Montage.create(Component, { // TODO - Need to figure out how to remove this dependency // Needed by some tools that depend on selectionDrawn event to set up some logic drawNow: { value : false }, + switchedFromCodeDoc: { value : false }, // TO REVIEW zoomFactor: {value : 1 }, @@ -256,6 +257,8 @@ exports.Stage = Montage.create(Component, { //call configure false with the old document on the selected tool to tear down down any temp. stuff this.application.ninja.toolsData.selectedToolInstance._configure(false); + } else if(this.currentDocument && (this.currentDocument.currentView === "code")) { + this.switchedFromCodeDoc = true; // Switching from code document affects stage's size and scrollbar } this._currentDocument = value; @@ -266,7 +269,8 @@ exports.Stage = Montage.create(Component, { drawUtils._eltArray.length = 0; drawUtils._planesArray.length = 0; } else if(this._currentDocument.currentView === "design") { - this.restoreAllPanels(); + this.restoreAllPanels(this.switchedFromCodeDoc); + this.switchedFromCodeDoc = false; this.hideCanvas(false); this.showRulers(); @@ -1271,11 +1275,11 @@ exports.Stage = Montage.create(Component, { } }, restoreAllPanels:{ - value:function(){ - this.application.ninja.panelSplitter.restore(); - this.application.ninja.timelineSplitter.restore(); - this.application.ninja.toolsSplitter.restore(); - this.application.ninja.optionsSplitter.restore(); + value:function(onSwitchDocument){ + this.application.ninja.panelSplitter.restore(onSwitchDocument); + this.application.ninja.timelineSplitter.restore(onSwitchDocument); + this.application.ninja.toolsSplitter.restore(onSwitchDocument); + this.application.ninja.optionsSplitter.restore(onSwitchDocument); } }, -- cgit v1.2.3 From 96e1bb2a8d842dc37e4982a273a5bde48f6944c3 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Mon, 25 Jun 2012 16:37:06 -0700 Subject: Fix for IKNINJA-1615: Enable mouse up event on top of the user document scrollbar Chrome has a bug where mouse up does not fire when the mouse is released on top of a scrollbar. To work around this issue, I temporary increase the canvas to cover the scrollbar when drawing and then shrink it back on mouse up. Signed-off-by: Valerio Virgillito --- js/stage/stage.reel/stage.js | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'js/stage/stage.reel') diff --git a/js/stage/stage.reel/stage.js b/js/stage/stage.reel/stage.js index f4de3070..1de4e003 100755 --- a/js/stage/stage.reel/stage.js +++ b/js/stage/stage.reel/stage.js @@ -343,8 +343,6 @@ exports.Stage = Montage.create(Component, { // Hide the canvas this.hideCanvas(true); - this.eventManager.addEventListener( "appMouseUp", this, false); - this.eventManager.addEventListener( "enableStageMove", this, false); this.eventManager.addEventListener( "disableStageMove", this, false); @@ -454,6 +452,7 @@ exports.Stage = Montage.create(Component, { enableMouseInOut: { value: function() { + document.addEventListener("mouseup", this, true); this._drawingCanvas.addEventListener("mouseout", this, false); this._drawingCanvas.addEventListener("mouseover", this, false); } @@ -466,6 +465,19 @@ exports.Stage = Montage.create(Component, { } }, + captureMouseup: { + value: function(event) { + var target = event._event.target.getAttribute("data-montage-id"); + + if(target && target === "drawingCanvas") { + return true; + } else { + this.handleAppMouseUp(event); + return true; + } + } + }, + handleMouseout: { value: function(event) { this.outFlag = true; @@ -480,6 +492,11 @@ exports.Stage = Montage.create(Component, { handleMousedown: { value: function(event) { + + // Increase the canvas to cover the scroll bars + this._drawingCanvas.height = this._drawingCanvas.height + 11; + this._drawingCanvas.width = this._drawingCanvas.width + 11; + // Call the focus manager to set focus to blur any focus'd elements this.focusManager.setFocus(); @@ -509,13 +526,18 @@ exports.Stage = Montage.create(Component, { handleMouseup: { value: function(event) { + // Restore canvas to un-cover the scroll bars. + this._drawingCanvas.height = this._drawingCanvas.height - 11; + this._drawingCanvas.width = this._drawingCanvas.width - 11; // If the mouse up comes from dismissing the context menu return + if(this.contextMenu) { this.contextMenu = false; return; } - //this.disableMouseInOut(); + this.disableMouseInOut(); + document.removeEventListener("mouseup", this, true); this.application.ninja.toolsData.selectedToolInstance.HandleLeftButtonUp(event); @@ -563,12 +585,17 @@ exports.Stage = Montage.create(Component, { handleAppMouseUp: { value: function(event) { if(this.outFlag) { + this._drawingCanvas.height = this._drawingCanvas.height - 11; + this._drawingCanvas.width = this._drawingCanvas.width - 11; + if(this.application.ninja.toolsData.selectedToolInstance.isDrawing) { this.application.ninja.toolsData.selectedToolInstance.HandleLeftButtonUp(event); } this.disableMouseInOut(); this.outFlag = false; } + + document.removeEventListener("mouseup", this, true); } }, -- cgit v1.2.3