Author: abelevich
Date: 2007-11-05 07:27:26 -0500 (Mon, 05 Nov 2007)
New Revision: 3754
Modified:
trunk/ui/panelmenu/src/main/config/component/panelMenu.xml
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuGroupRenderer.java
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuItemRenderer.java
trunk/ui/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuGroup.jspx
trunk/ui/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuItem.jspx
Log:
add rendering of iconClass attribute
Modified: trunk/ui/panelmenu/src/main/config/component/panelMenu.xml
===================================================================
--- trunk/ui/panelmenu/src/main/config/component/panelMenu.xml 2007-11-05 12:25:45 UTC
(rev 3753)
+++ trunk/ui/panelmenu/src/main/config/component/panelMenu.xml 2007-11-05 12:27:26 UTC
(rev 3754)
@@ -349,8 +349,7 @@
<property hidden="true">
<name>valid</name>
<description>valid</description>
- </property>
-
+ </property>
</component>
<component>
@@ -637,7 +636,7 @@
<classname>java.lang.String</classname>
<description>CSS style rules to be applied</description>
<defaultvalue><![CDATA[""]]></defaultvalue>
- </property>
+ </property>
&ui_component_attributes;
&ui_command_attributes;
&html_style_attributes;
Modified:
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuGroupRenderer.java
===================================================================
---
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuGroupRenderer.java 2007-11-05
12:25:45 UTC (rev 3753)
+++
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuGroupRenderer.java 2007-11-05
12:27:26 UTC (rev 3754)
@@ -79,7 +79,7 @@
}
if (align.equalsIgnoreCase(from)){
- image(context,component, from + "Icon" + component.getClientId(context));
+ image(context,component, from + "Icon" + component.getClientId(context),
align);
} else {
String iconType = PANEL_MENU_SPACER_ICON_NAME;
String imageSrc = getIconByType(iconType, isTopLevel, context, component);
@@ -87,7 +87,7 @@
}
}
- private void image(FacesContext context, UIComponent component, String id )throws
IOException {
+ private void image(FacesContext context, UIComponent component, String id, String
iconPos )throws IOException {
ResponseWriter writer = context.getResponseWriter();
UIPanelMenu panelMenu = findMenu(component);
@@ -258,15 +258,27 @@
return resClass.toString();
}
- public String getIconClass(FacesContext context, UIComponent component) {
+ public String getIconClass(FacesContext context, UIComponent component, String align) {
UIPanelMenuGroup group = (UIPanelMenuGroup)component;
UIPanelMenu parentMenu = findMenu(group);
+ String iconClass = "";
+
if(!group.isDisabled() && !parentMenu.isDisabled()){
+ String iconClassAttr = ((UIPanelMenuGroup)component).getIconClass();
if(isTopLevel(component)){
- return "rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon";
- } else return "rich-pmenu-group-self-icon";
+ if(align.equals(parentMenu.getIconGroupTopPosition())){
+ iconClass = "rich-pmenu-group-self-icon rich-pmenu-top-group-self-icon";
+ }
+ }
+
+ if(align.equals(parentMenu.getIconGroupPosition())){
+ if(iconClassAttr != null){
+ iconClass = iconClass.equals("") ? ("rich-pmenu-group-self-icon
" + iconClassAttr): (iconClass + " " + iconClassAttr);
+ }
+ }
}
- return "";
+
+ return iconClass;
}
public String getDivClass(FacesContext context, UIComponent component) {
Modified:
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuItemRenderer.java
===================================================================
---
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuItemRenderer.java 2007-11-05
12:25:45 UTC (rev 3753)
+++
trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/PanelMenuItemRenderer.java 2007-11-05
12:27:26 UTC (rev 3754)
@@ -72,7 +72,7 @@
}
if (align.equalsIgnoreCase(from)){
- image(context,component, from);
+ image(context,component, from, align);
} else {
String iconType = PANEL_MENU_SPACER_ICON_NAME;
String imageSrc = getIconByType(iconType, isTopLevel, context, component);
@@ -80,7 +80,7 @@
}
}
- private void image(FacesContext context, UIComponent component, String from)
+ private void image(FacesContext context, UIComponent component, String from, String
iconPos)
throws IOException{
UIPanelMenu panelMenu = findMenu(component);
@@ -179,15 +179,28 @@
return resClass.toString();
}
- public String getIconClass(FacesContext context, UIComponent component) {
+ public String getIconClass(FacesContext context, UIComponent component, String align) {
UIPanelMenuItem item = (UIPanelMenuItem)component;
UIPanelMenu parentMenu = findMenu(item);
+ String iconClass = "";
+
if(!item.isDisabled() && !parentMenu.isDisabled()){
+ String iconClassAttr = ((UIPanelMenuItem)component).getIconClass();
+
if(isTopLevel(component)){
- return "rich-pmenu-item-icon rich-pmenu-top-item-icon";
- } else return "rich-pmenu-item-icon";
+ if(align.equals(parentMenu.getIconItemTopPosition())){
+ iconClass = "rich-pmenu-item-icon rich-pmenu-top-item-icon";
+ }
+ }
+
+ if(align.equals(parentMenu.getIconItemPosition())){
+ if(iconClassAttr != null){
+ iconClass = iconClass.equals("") ? ("rich-pmenu-item-icon " +
iconClassAttr):(iconClass + " " + iconClassAttr);
+ }
+ }
}
- return "";
+
+ return iconClass;
}
public boolean isSelected(FacesContext context, UIComponent component){
Modified: trunk/ui/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuGroup.jspx
===================================================================
--- trunk/ui/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuGroup.jspx 2007-11-05
12:25:45 UTC (rev 3753)
+++ trunk/ui/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuGroup.jspx 2007-11-05
12:27:26 UTC (rev 3754)
@@ -28,7 +28,7 @@
<f:call name="utils.encodePassThru" />
<tr>
- <td class="dr-pmenu-nowrap">
+ <td class="dr-pmenu-nowrap #{this:getIconClass( context,
component,'left')}">
<f:call name="insertSpacerImages" />
<f:call name="insertImage">
<f:parameter value="left" />
@@ -42,7 +42,7 @@
value="" />
<f:call name="insertLabel"/>
</td>
- <td>
+ <td class="#{this:getIconClass( context,
component,'right')}">
<f:call name="insertImage">
<f:parameter value="right" />
</f:call>
Modified: trunk/ui/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuItem.jspx
===================================================================
--- trunk/ui/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuItem.jspx 2007-11-05
12:25:45 UTC (rev 3753)
+++ trunk/ui/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuItem.jspx 2007-11-05
12:27:26 UTC (rev 3754)
@@ -25,7 +25,7 @@
<tr>
<f:call name="utils.encodeId"/>
- <td class="dr-pmenu-nowrap">
+ <td class="dr-pmenu-nowrap #{this:getIconClass( context,
component,'left')}">
<f:call name="insertSpacerImages" />
<f:call name="insertImage">
<f:parameter value="left" />
@@ -38,7 +38,7 @@
<f:call name="renderChildren" />
</vcp:body>
</td>
- <td>
+ <td class="#{this:getIconClass( context,
component,'right')}">
<f:call name="insertImage">
<f:parameter value="right" />
</f:call>