Author: jmorliaguet Date: Sun Jan 1 19:55:19 2006 New Revision: 2109 Added: cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/copy.png (contents, props changed) cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/delete.png (contents, props changed) cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/edit.png (contents, props changed) cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/format.png (contents, props changed) cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/paste.png (contents, props changed) Modified: cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/contextualmenus.css cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/cpsskins_contextualmenu_test.html Log:
- added support for item icons (needs to be refactored) Modified: cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js (original) +++ cpsskins/branches/jmo-perspectives/ui/framework/cpsskins.js Sun Jan 1 19:55:19 2006 @@ -358,7 +358,6 @@ for (var i=0;i<tags.length;i++) { var tag = tags[i]; - if (tag.nodeType != 1) continue; var visible = tag.getAttribute("visible"); @@ -369,15 +368,21 @@ switch (tag.tagName.toLowerCase()) { case "item": { + var style = {display: "block"}; + var icon = tag.getAttribute("icon"); + if (icon) { + style.backgroundImage = "url(" + icon + ")"; + } Canvas.addNode(container, { tag: "a", content: tag.getAttribute("label"), - style: {display: "block"}, + style: style, attributes: { action: tag.getAttribute("action"), href: "javascript:void(0)" } }); + break; }; @@ -386,10 +391,15 @@ var choices = tag.getAttribute("choices"); var items = data[choices] || []; for (var j=0;j<items.length;j++) { + var style = {display: "block"}; + var icon = tag.getAttribute("icon"); + if (icon) { + style.backgroundImage = "url(" + icon + ")"; + } Canvas.addNode(container, { tag: "a", content: items[j].label, - style: {display: "block"}, + style: style, attributes: { action: tag.getAttribute("action"), choice: items[j].choice, @@ -402,10 +412,16 @@ }; case "submenu": { + var style = {display: "block"}; + var icon = tag.getAttribute("icon"); + if (icon) { + style.backgroundImage = "url(" + icon + ")"; + } + var item = Canvas.addNode(container, { tag: "a", content: tag.getAttribute("label"), - style: {display: "block"}, + style: style, attributes: {href:"javascript:void(0)"} }); Modified: cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/contextualmenus.css ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/contextualmenus.css (original) +++ cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/contextualmenus.css Sun Jan 1 19:55:19 2006 @@ -12,12 +12,6 @@ border: 1px dotted #999; } -#testArea2 { - width: 160px; - background-color: #ff9; - border: 1px dotted #999; -} - #area1 { background-color: #fed; } @@ -38,7 +32,3 @@ background-color: #ddd; } -#area6 { - background-color: #dce; -} - Added: cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/copy.png ============================================================================== Binary file. No diff available. Modified: cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/cpsskins_contextualmenu_test.html ============================================================================== --- cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/cpsskins_contextualmenu_test.html (original) +++ cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/cpsskins_contextualmenu_test.html Sun Jan 1 19:55:19 2006 @@ -16,81 +16,48 @@ <body> - <h1>CPSSkins Contextual menus</h1> - - <pre id="message">...</pre> + <h1>CPSSkins Contextual menu</h1> <div style="float: left; margin: 1em"> - <h2>Menu 1</h2> - <div id="testArea1"> - - <!-- Contextual menu widget --> - <cpsskins:contextmenu controller="controller"> - <item label="Edit" action="edit" visible="editable"></item> - <item label="Copy" action="copy"></item> - <item label="Paste" action="paste" visible="editable"></item> - - <submenu label="Format" visible="formattable"> - <items action="format" choices="formats"></items> - </submenu> - - <item label="Delete" action="delete" visible="editable" - confirm="Deleting, are you sure?"></item> - </cpsskins:contextmenu> - - <!-- json-data: {"copyable":true} --> - <div id="area1" class="pad">area1</div> - <div id="area2" class="pad">area2</div> + <!-- Contextual menu widget --> + <cpsskins:contextmenu controller="controller"> + <item label="Edit" icon="edit.png" action="edit" + visible="editable"></item> + + <item label="Copy" icon="copy.png" action="copy"></item> + + <item label="Paste" icon="paste.png" action="paste" + visible="editable"></item> + + <submenu label="Format" icon="format.png" visible="formattable"> + <items action="format" choices="formats"></items> + </submenu> + + <item label="Delete" icon="delete.png" action="delete" + visible="editable" confirm="Deleting, are you sure?"></item> + </cpsskins:contextmenu> + + <!-- json-data: {"copyable":true} --> + <div id="area1" class="pad">area1</div> + + <div id="area2" class="pad">area2</div> + + <!-- json-data: {"editable":true} --> + <div id="area3" class="pad">area3</div> + + <!-- json-data: + {"formattable":true, + "formats":[ + {"choice":"style","label":"Style"}, + {"choice":"widget","label":"Widget"}, + {"choice":"effect","label":"Effect"} + ]} + --> + <div id="area4" class="pad">area4 <!-- json-data: {"editable":true} --> - <div id="area3" class="pad">area3</div> - - <!-- json-data: - {"formattable":true, - "formats":[ - {"choice":"style","label":"Style"}, - {"choice":"widget","label":"Widget"}, - {"choice":"effect","label":"Effect"} - ]} - --> - <div id="area4" class="pad">area4 - - <!-- json-data: {"editable":true} --> - <div id="area5" class="pad">area5</div> - </div> - </div> - </div> - - <div style="float: left; margin: 1em"> - <h2>Menu 2</h2> - <div id="testArea2"> - - <!-- Contextual menu widget --> - <cpsskins:contextmenu controller="controller"> - <item label="Edit" action="edit" visible="editable"></item> - <item label="Copy" action="copy"></item> - <item label="Paste" action="paste" visible="editable"></item> - <submenu label="Format" visible="formattable"> - <items action="format" choices="formats"></items> - </submenu> - <item label="Delete" action="delete" visible="editable" - confirm="Deleting, are you sure?"></item> - </cpsskins:contextmenu> - - <!-- json-data: - {"editable":true,"formattable":true, - "formats":[ - {"choice":"style","label":"Style"}, - {"choice":"widget","label":"Widget"} - ], - "targets":[ - {"choice":"here","label":"Paste here"}, - {"choice":"above","label":"Paste above"} - ]} - --> - <div id="area6" class="pad">area6</div> - + <div id="area5" class="pad">area5</div> </div> </div> Added: cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/delete.png ============================================================================== Binary file. No diff available. Added: cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/edit.png ============================================================================== Binary file. No diff available. Added: cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/format.png ============================================================================== Binary file. No diff available. Added: cpsskins/branches/jmo-perspectives/ui/framework/tests/functional/paste.png ============================================================================== Binary file. No diff available. -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins