From cd089f6692934a68bda7c303928a7c78dd13ac07 Mon Sep 17 00:00:00 2001 From: Armen Kesablyan Date: Tue, 5 Jun 2012 12:55:34 -0700 Subject: Changes for binding View Signed-off-by: Armen Kesablyan --- .../binding-hud.reel/binding-hud.css | 23 +++++----- .../binding-hud.reel/binding-hud.html | 15 ++---- .../binding-hud.reel/binding-hud.js | 53 ++++++++++++++++++++-- 3 files changed, 64 insertions(+), 27 deletions(-) (limited to 'js/stage/binding-view.reel/binding-hud.reel') diff --git a/js/stage/binding-view.reel/binding-hud.reel/binding-hud.css b/js/stage/binding-view.reel/binding-hud.reel/binding-hud.css index 34f14a5a..aa204be7 100755 --- a/js/stage/binding-view.reel/binding-hud.reel/binding-hud.css +++ b/js/stage/binding-view.reel/binding-hud.reel/binding-hud.css @@ -6,7 +6,7 @@ .bindingHud { position: absolute; - background: #282828; + background: rgba(0, 0, 0, 0.8); padding: 0px; color: #FFF; font-size: 11px; @@ -15,6 +15,7 @@ padding: 3px; padding-top:0px; border:1px solid #000; + text-shadow: 1px 1px 0px #000; } .bindingHud .bindingTitle { @@ -27,9 +28,8 @@ } .bindingHud .hudRepetition { - background: #555; + background: rgba(0, 0, 0, 0.3); line-height:16px; - border:1px solid #000; box-shadow: inset 0px 0px 4px #333, 1px 1px 0px #3A3A3A; min-width: 80px; } @@ -41,7 +41,8 @@ padding:1px 9px; } .hudOption.bound, .bindingHud .hudOption.bound .connectorBubble { - background-color:#44F; + background: #5e9eff; + display:block; } .bindingHud .hudOption:last-child { @@ -50,14 +51,14 @@ .bindingHud .hudOption .connectorBubble { position: absolute; - right: -11px; - top: 2px; - background: #555; - border: 1px solid black; - border-radius: 0px; - width: 12px; - height: 12px; + right: -10px; + top: 1px; + background: rgba(0, 0, 0, 0.3); + border-radius: 50%; + width: 16px; + height: 16px; border-left: 0px; + display: none; /*border-bottom-right-radius: 50%; border-top-right-radius: 50%;*/ diff --git a/js/stage/binding-view.reel/binding-hud.reel/binding-hud.html b/js/stage/binding-view.reel/binding-hud.reel/binding-hud.html index 5e37cfc9..afa4cd47 100755 --- a/js/stage/binding-view.reel/binding-hud.reel/binding-hud.html +++ b/js/stage/binding-view.reel/binding-hud.reel/binding-hud.html @@ -14,7 +14,8 @@ "owner": { "prototype": "js/stage/binding-view.reel/binding-hud.reel", "properties": { - "element": {"#": "bindingHud"} + "element": {"#": "bindingHud"}, + "titleElement": {"#": "title"} } }, "repeater": { @@ -32,17 +33,7 @@ "element": {"#" : "hudOption"} }, "bindings": { - "title": {"<-": "@repeater.objectAtCurrentIteration.title"}, - "bindings": {"<-": "@repeater.objectAtCurrentIteration.bindings"} - } - }, - "Title": { - "prototype": "montage/ui/dynamic-text.reel", - "properties": { - "element": {"#": "title"} - }, - "bindings": { - "value": {"<-": "@owner.title"} + "hudOptions": {"<-": "@repeater.objectAtCurrentIteration"} } } } diff --git a/js/stage/binding-view.reel/binding-hud.reel/binding-hud.js b/js/stage/binding-view.reel/binding-hud.reel/binding-hud.js index 029a1a39..14347a32 100755 --- a/js/stage/binding-view.reel/binding-hud.reel/binding-hud.js +++ b/js/stage/binding-view.reel/binding-hud.reel/binding-hud.js @@ -12,13 +12,30 @@ var Montage = require("montage/core/core").Montage, Component = require("montage/ui/component").Component; exports.BindingHud = Montage.create(Component, { - title: { - value: "default" + _bindingArgs: { + value: null + }, + + titleElement: { + value: null + }, + + bindingArgs: { + get: function() { + return this._bindingArgs; + }, + set: function(val) { + this._bindingArgs = val; + this.title = this.bindingArgs.sourceObject.identifier; + this.x = this._bindingArgs.sourceObject.element.offsetLeft; + this.y = this._bindingArgs.sourceObject.element.offsetTop; + this.needsDraw = true; + console.log("Binding Args Set", val); + } }, + properties: { value: [ - {"title": "myProperty1"}, - {"title":"myproperty2"} ] }, @@ -30,10 +47,38 @@ exports.BindingHud = Montage.create(Component, { value: 100 }, + _title: { + value: "default" + }, + + title: { + get: function() { + return this._title; + }, + set: function(val) { + this._title = val; + } + }, + + prepareForDraw: { + value: function() { + var arrProperties = this.application.ninja.objectsController.getEnumerableProperties(this._bindingArgs.sourceObject, true); + arrProperties.forEach(function(obj) { + var objBound = false; + if(this._bindingArgs._boundObjectPropertyPath === obj) { + objBound = true; + } + this.properties.push({"title":obj, "bound": objBound}); + }.bind(this)); + } + }, + draw: { value: function() { + this.titleElement.innerHTML = this.title; this.element.style.top = this.y + "px"; this.element.style.left = this.x + "px"; + console.log("hud",this); } } }); \ No newline at end of file -- cgit v1.2.3