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

Reply via email to