From b9afa81d391f51ea199fc12278b89bdda883dd97 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Tue, 17 Jul 2012 23:34:57 -0700 Subject: removed left over comments. Signed-off-by: Valerio Virgillito --- js/ui/menu/menu-item.reel/menu-item.css | 149 ++++++++++++++++++++++ js/ui/menu/menu-item.reel/menu-item.html | 120 ++++++++++++++++++ js/ui/menu/menu-item.reel/menu-item.js | 208 +++++++++++++++++++++++++++++++ 3 files changed, 477 insertions(+) create mode 100755 js/ui/menu/menu-item.reel/menu-item.css create mode 100755 js/ui/menu/menu-item.reel/menu-item.html create mode 100755 js/ui/menu/menu-item.reel/menu-item.js (limited to 'js/ui/menu/menu-item.reel') diff --git a/js/ui/menu/menu-item.reel/menu-item.css b/js/ui/menu/menu-item.reel/menu-item.css new file mode 100755 index 00000000..f3683492 --- /dev/null +++ b/js/ui/menu/menu-item.reel/menu-item.css @@ -0,0 +1,149 @@ +/* +Copyright (c) 2012, Motorola Mobility LLC. +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of Motorola Mobility LLC nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + */ + +.menuItem { + font-size: 9pt; + padding: 4px 8px; + display: block; + position: relative; + background: #474747; + color: white; +} + +.menuItem:hover { + cursor:pointer; +} + +.disabled { + opacity: 0.5; +} + +.disabled:hover { + background-color: #474747; +} + +.menuItemButton { + color: #f7f7f7; + font-family: 'Droid Sans', sans-serif; + text-shadow: 1px 1px 1px black; + display: inline; + outline: none; + box-sizing: border-box; + font-size: 10pt; + height: 18px; + vertical-align: middle; + border: 0; + background: none; + /*margin: 0 2px;*/ + /*padding: 0 1em;*/ + /*padding: 23px 12px 0px 8px;*/ + cursor: pointer; + + padding-right: 18px; +} + +.menuItemButton:focus { + -webkit-box-shadow: none; + +} + +.separatorContainer { + padding-left: 0px; + padding-right: 0px; + width: 99%; +} + +.separatorContainer:hover { + background-color: #474747; +} + +.separator{ + width:100%; + height:2px; + position: relative; + border: 1px groove #474747 ; + border-radius: 2px; + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#474747), to(#cccccc)); + opacity: 0.5; +} + +.menuItem .check { + float:left; + margin-top: 2px; + background-image: url(../../../../images/menu/checkmark.png); + background-repeat: no-repeat; + background-position: center; + width: 10px; + height: 15px; + opacity: 0; +} + +.menuItem .checked { + opacity: 1; +} + +.submenu .rightArrow { + float: right; + background-image:url('../../../../images/menu/arrow.png'); + background-repeat: no-repeat; + background-position: center; + width: 10px; + height: 15px; + position: absolute; + right:4px; + top: 5px; + margin-left: 8px; +} + +.submenuEntries{ + display: none; + position: absolute; + top: 0%; + left: 100%; + margin-top: 1px; + margin-left: 1px; + float:left; + font-family: 'Droid Sans', sans-serif !important; + color: #ffffff; + background: #494949; + /*border: 1px solid #292929;*/ + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; + /*border-radius: 8px;*/ + padding: 8px 0px 8px 0px; + box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.8); + white-space:nowrap; +} + +.submenu .show { + display: block; +} + diff --git a/js/ui/menu/menu-item.reel/menu-item.html b/js/ui/menu/menu-item.reel/menu-item.html new file mode 100755 index 00000000..6c306c3b --- /dev/null +++ b/js/ui/menu/menu-item.reel/menu-item.html @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + diff --git a/js/ui/menu/menu-item.reel/menu-item.js b/js/ui/menu/menu-item.reel/menu-item.js new file mode 100755 index 00000000..97f13d13 --- /dev/null +++ b/js/ui/menu/menu-item.reel/menu-item.js @@ -0,0 +1,208 @@ +/* +Copyright (c) 2012, Motorola Mobility LLC. +All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of Motorola Mobility LLC nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + */ + +var Montage = require("montage/core/core").Montage; +var Component = require("montage/ui/component").Component; + +exports.MenuItem = Montage.create(Component, { + + _enabled: { + value: false + }, + + enabled: { + get: function() { + return this._enabled; + }, + set: function(value) { + if(value !== this._enabled) { + this._enabled = value; + this.needsDraw = true; + } + } + }, + + _label: { + value: null + }, + + label: { + get: function() { + return this._label; + }, + set: function(value) { + if(this._label !== value) { + this._label = value; + } + } + }, + + _submenu: { + value: false + }, + + submenu: { + get: function() { + return this._submenu; + }, + set: function(value) { + if(this._submenu !== value) { + this._submenu = value; + } + } + }, + + _entries: { + value: null + }, + + entries: { + get: function() { + return this._entries; + }, + set: function(value) { + if(this._entries !== value) { + this._entries = value; + } + } + }, + + submenuElement: { + value: null + }, + + checkMark: { + value: null + }, + + _checked: { + value: null + }, + + checked: { + get: function() { + return this._checked; + }, + set: function(value) { + if(this._checked !== value) { + this._checked = value; + this.needsDraw = true; + } + } + }, + + _action: { + value: "" + }, + + action: { + get: function() { + return this._action; + }, + set: function(value) { + if(this._action !== value) { + this._action = value; + } + } + }, + + prepareForDraw: { + value: function() { + // Don't add mouse event if this is a separator + if(this.label === "" ) { + return; + } + + this.element.addEventListener("mouseover", this, false); + this.element.addEventListener("mouseout", this, false); + this.element.addEventListener("mouseup", this, true); + } + }, + + draw: { + value: function() { + if(this.label === "") { + this.element.classList.add("separatorContainer"); + this.element.innerHTML = "
"; + } + + if(this.enabled) { + this.element.classList.remove("disabled"); + } else { + this.element.classList.add("disabled"); + } + + + if(this.checked) { + this.checkMark.classList.add("checked"); + } else { + this.checkMark.classList.remove("checked"); + } + + } + }, + + captureMouseup: { + value: function(event) { + if( this.enabled === true && this.submenu === false ) { + if(this.action !== "") { + + var menuItemClick = document.createEvent("CustomEvent"); + menuItemClick.initCustomEvent("menuItemClick", true, true, this.action); + this.dispatchEvent(menuItemClick); + + } + } + } + }, + + handleMouseover: { + value: function() { + if(this.enabled){ + this.element.style.backgroundColor = "#7f7f7f"; + if(this.submenu) { + this.submenuElement.classList.add("show"); + } + } + } + }, + + handleMouseout: { + value: function() { + this.element.style.backgroundColor = "#474747"; + + if(this.submenu) { + this.submenuElement.classList.remove("show"); + } + } + } + +}); -- cgit v1.2.3 From fc09eeb4bbc4e1e9c0e63a8e5959271ca7a3a59b Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Wed, 18 Jul 2012 15:16:43 -0700 Subject: fixed more menu bugs - Adding top right round corner on submenu - Fixed wrong checkmark on draw 3d grid. Signed-off-by: Valerio Virgillito --- js/ui/menu/menu-item.reel/menu-item.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'js/ui/menu/menu-item.reel') diff --git a/js/ui/menu/menu-item.reel/menu-item.css b/js/ui/menu/menu-item.reel/menu-item.css index f3683492..cb495b43 100755 --- a/js/ui/menu/menu-item.reel/menu-item.css +++ b/js/ui/menu/menu-item.reel/menu-item.css @@ -129,12 +129,13 @@ POSSIBILITY OF SUCH DAMAGE. top: 0%; left: 100%; margin-top: 1px; - margin-left: 1px; + /*margin-left: 1px;*/ float:left; font-family: 'Droid Sans', sans-serif !important; color: #ffffff; background: #494949; /*border: 1px solid #292929;*/ + border-top-right-radius: 5px; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; /*border-radius: 8px;*/ -- cgit v1.2.3