You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ca...@apache.org on 2006/09/22 16:57:37 UTC

svn commit: r448952 - in /myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane: HtmlPanelTab.java HtmlPanelTabTag.java HtmlTabbedPaneRenderer.java

Author: cagatay
Date: Fri Sep 22 07:57:36 2006
New Revision: 448952

URL: http://svn.apache.org/viewvc?view=rev&rev=448952
Log:
Changed to disable an HtmlPanelTab, related to TOMAHAWK-109

Modified:
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTab.java
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabTag.java
    myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTab.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTab.java?view=diff&rev=448952&r1=448951&r2=448952
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTab.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTab.java Fri Sep 22 07:57:36 2006
@@ -37,8 +37,10 @@
     public static final String COMPONENT_TYPE = "org.apache.myfaces.HtmlPanelTab";
     public static final String COMPONENT_FAMILY = "javax.faces.Panel";
     private static final String DEFAULT_RENDERER_TYPE = "javax.faces.Group";
+    private static final boolean DEFAULT_DISABLED = false;
 
     private String _label = null;
+    private Boolean _disabled = null;
 
     public HtmlPanelTab()
     {
@@ -61,13 +63,27 @@
         ValueBinding vb = getValueBinding("label");
         return vb != null ? _ComponentUtils.getStringValue(getFacesContext(), vb) : null;
     }
+    
+    public void setDisabled(boolean disabled)
+    {
+        _disabled = Boolean.valueOf(disabled);
+    }
+
+    public boolean isDisabled()
+    {
+        if (_disabled != null) return _disabled.booleanValue();
+        ValueBinding vb = getValueBinding("disabled");
+        Boolean v = vb != null ? (Boolean)vb.getValue(getFacesContext()) : null;
+        return v != null ? v.booleanValue() : DEFAULT_DISABLED;
+    }
 
 
     public Object saveState(FacesContext context)
     {
-        Object values[] = new Object[2];
+        Object values[] = new Object[3];
         values[0] = super.saveState(context);
         values[1] = _label;
+        values[2] = _disabled;
         return ((Object) (values));
     }
 
@@ -76,6 +92,7 @@
         Object values[] = (Object[])state;
         super.restoreState(context, values[0]);
         _label = (String)values[1];
+        _disabled =  (Boolean)values[2];
     }
     //------------------ GENERATED CODE END ---------------------------------------
 

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabTag.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabTag.java?view=diff&rev=448952&r1=448951&r2=448952
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabTag.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabTag.java Fri Sep 22 07:57:36 2006
@@ -39,12 +39,14 @@
     }
 
     private String _label;
+    private String _disabled;
 
     // User Role support --> already handled by HtmlPanelGroupTag
 
     public void release() {
         super.release();
         _label=null;
+        _disabled=null;
     }
     
     protected void setProperties(UIComponent component)
@@ -52,10 +54,16 @@
         super.setProperties(component);
 
         setStringProperty(component, "label", _label);
+        setBooleanProperty(component, "disabled", _disabled);
     }
 
     public void setLabel(String label)
     {
         _label = label;
+    }
+    
+    public void setDisabled(String disabled)
+    {
+        _disabled = disabled;
     }
 }

Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java?view=diff&rev=448952&r1=448951&r2=448952
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java Fri Sep 22 07:57:36 2006
@@ -188,7 +188,7 @@
                                     tabIdx,
                                     visibleTabCount,
                                     tabIdx == selectedIndex,
-                                    isDisabled(facesContext, child));
+                                    isDisabled(facesContext, (HtmlPanelTab)child));
                     if (tabIdx == selectedIndex)
                     {
                         visibleTabSelectedIdx = visibleTabCount;
@@ -581,8 +581,8 @@
         writer.endElement(HTML.FORM_ELEM);
     }
 
-    protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
+    protected boolean isDisabled(FacesContext facesContext, HtmlPanelTab tab)
     {
-        return !UserRoleUtils.isEnabledOnUserRole(uiComponent);
+        return !UserRoleUtils.isEnabledOnUserRole(tab) || tab.isDisabled();
     }
 }