Hi Mike,

no need to feel bad. I thought we open  jira issues for important
changes, like new components or changes to MyFaces core. I did not
knew that we have to open a jira issue for new component attributes. I
will consider this in the future.

-Thomas

On 9/20/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
Thomas,

I hate to keep picking on you, but where's the JIRA issue for this?
We'll also want to update the commit log message to point to that
issue (Martin and Wendy talked about how to do that in the last couple
of weeks when Martin forgot to add a JIRA issue).

On 9/20/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Author: tomsp
> Date: Wed Sep 20 04:50:22 2006
> New Revision: 448171
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=448171
> Log:
> new attribute "activePanelTabVar" for HtmlPanelTabbedPane
>
> Modified:
>     
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
>     
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
>     
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlTabbedPaneRenderer.java
>     
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
>     
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
>
> Modified: 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
> URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java?view=diff&rev=448171&r1=448170&r2=448171
> ==============================================================================
> --- 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
 (original)
> +++ 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.java
 Wed Sep 20 04:50:22 2006
> @@ -161,6 +161,7 @@
>      private String _inactiveSubStyleClass = null;
>      private String _tabContentStyleClass = null;
>      private Boolean _serverSideTabSwitch = null;
> +    private String _activePanelTabVar;
>
>      public HtmlPanelTabbedPane()
>      {
> @@ -172,6 +173,17 @@
>          return COMPONENT_FAMILY;
>      }
>
> +    public String getActiveTabVar() {
> +        if (_activePanelTabVar != null) return _activePanelTabVar;
> +        ValueBinding vb = getValueBinding("activeTabVar");
> +        return vb != null ? 
_ComponentUtils.getStringValue(getFacesContext(), vb) : null;
> +    }
> +
> +    public void setActiveTabVar(String activeTabVar) {
> +        _activePanelTabVar = activeTabVar;
> +    }
> +
> +
>      public void setSelectedIndex(int selectedIndex)
>      {
>          _selectedIndex = new Integer(selectedIndex);
> @@ -284,7 +296,7 @@
>
>      public Object saveState(FacesContext context)
>      {
> -        Object values[] = new Object[11];
> +        Object values[] = new Object[12];
>          values[0] = super.saveState(context);
>          values[1] = _selectedIndex;
>          values[2] = _bgcolor;
> @@ -296,6 +308,7 @@
>          values[8] = _tabContentStyleClass;
>          values[9] = _disabledTabStyleClass;
>          values[10] = _serverSideTabSwitch;
> +        values[11] = _activePanelTabVar;
>          return ((Object) (values));
>      }
>
> @@ -313,6 +326,7 @@
>          _tabContentStyleClass = (String)values[8];
>          _disabledTabStyleClass = (String)values[9];
>          _serverSideTabSwitch = (Boolean) values[10];
> +        _activePanelTabVar = (String) values[11];
>      }
>      //------------------ GENERATED CODE END 
---------------------------------------
>  }
>
> Modified: 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
> URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java?view=diff&rev=448171&r1=448170&r2=448171
> ==============================================================================
> --- 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
 (original)
> +++ 
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPaneTag.java
 Wed Sep 20 04:50:22 2006
> @@ -63,6 +63,7 @@
>      private String _inactiveSubStyleClass;
>      private String _tabContentStyleClass;
>      private String _serverSideTabSwitch;
> +    private String _activePanelTabVar;
>      // User Role support --> already handled by HtmlPanelGroupTag
>
>
> @@ -91,6 +92,7 @@
>          setStringProperty(component, "inactiveSubStyleClass", 
_inactiveSubStyleClass);
>          setStringProperty(component, "tabContentStyleClass", 
_tabContentStyleClass);
>          setBooleanProperty(component, "serverSideTabSwitch", 
_serverSideTabSwitch);
> +        setStringProperty(component, "activePanelTabVar", 
_activePanelTabVar);
>      }
>
>
> @@ -116,6 +118,7 @@
>          _inactiveSubStyleClass = null;
>          _tabContentStyleClass = null;
>          _serverSideTabSwitch = null;
> +        _activePanelTabVar = null;
>      }
>
>      public void setServerSideTabSwitch(String serverSideTabSwitch)
> @@ -222,4 +225,7 @@
>          _disabledTabStyleClass = disabledTabStyleClass;
>      }
>
> +    public void setActivePanelTabVar(String activePanelTabVar) {
> +        _activePanelTabVar = activePanelTabVar;
> +    }
>  }
>
> 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=448171&r1=448170&r2=448171
> ==============================================================================
> --- 
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
 Wed Sep 20 04:50:22 2006
> @@ -220,7 +220,7 @@
>          String tabContentStyleClass = tabbedPane.getTabContentStyleClass();
>          writer.writeAttribute(HTML.CLASS_ATTR, TAB_PANE_CLASS+(tabContentStyleClass==null ? 
"" : " "+tabContentStyleClass), null);
>
> -        writeTabsContents(writer,  facesContext, tabbedPane, selectedIndex);
> +        writeTabsContents(writer, facesContext, tabbedPane, selectedIndex);
>
>          writer.endElement(HTML.TD_ELEM);
>          writer.endElement(HTML.TR_ELEM);
> @@ -514,28 +514,38 @@
>
>      protected void writeTabsContents(ResponseWriter writer, FacesContext 
facesContext, HtmlPanelTabbedPane tabbedPane,
>                                       int selectedIndex) throws IOException {
> -       HtmlRendererUtils.writePrettyLineSeparator(facesContext);
> +        HtmlRendererUtils.writePrettyLineSeparator(facesContext);
> +
> +        int tabIdx = 0;
> +        List children = tabbedPane.getChildren();
> +        for (int i = 0, len = children.size(); i < len; i++) {
> +            UIComponent child = getUIComponent((UIComponent) 
children.get(i));
> +            if (child instanceof HtmlPanelTab) {
> +                String activeTabVar = tabbedPane.getActiveTabVar();
> +                if (activeTabVar != null) {
> +                    Map requestMap = 
facesContext.getExternalContext().getRequestMap();
> +                    requestMap.put(activeTabVar, Boolean.valueOf(tabIdx == 
selectedIndex));
> +                }
>
> -       int tabIdx = 0;
> -       List children = tabbedPane.getChildren();
> -       for (int i = 0, len = children.size(); i < len; i++) {
> -           UIComponent child = getUIComponent((UIComponent) children.get(i));
> -           if (child instanceof HtmlPanelTab) {
> -               HtmlPanelTab tab = (HtmlPanelTab)child;
> -               writer.startElement(HTML.DIV_ELEM, tabbedPane);
> -               writer.writeAttribute(HTML.ID_ATTR, 
tab.getClientId(facesContext), null);
> -               // the inactive tabs are hidden with a div-tag
> -               if (tabIdx != selectedIndex) {
> -                   writer.writeAttribute(HTML.STYLE_ATTR, "display:none", 
null);
> -               }
> -               RendererUtils.renderChild(facesContext, child);
> -               writer.endElement(HTML.DIV_ELEM);
> -
> -               tabIdx++;
> -           } else {
> -               RendererUtils.renderChild(facesContext, child);
> -           }
> -       }
> +                HtmlPanelTab tab = (HtmlPanelTab)child;
> +                writer.startElement(HTML.DIV_ELEM, tabbedPane);
> +                writer.writeAttribute(HTML.ID_ATTR, 
tab.getClientId(facesContext), null);
> +                // the inactive tabs are hidden with a div-tag
> +                if (tabIdx != selectedIndex) {
> +                    writer.writeAttribute(HTML.STYLE_ATTR, "display:none", 
null);
> +                }
> +                RendererUtils.renderChild(facesContext, child);
> +                writer.endElement(HTML.DIV_ELEM);
> +
> +                tabIdx++;
> +                if (activeTabVar != null) {
> +                    Map requestMap = 
facesContext.getExternalContext().getRequestMap();
> +                    requestMap.remove(tabbedPane.getActiveTabVar());
> +                }
> +            } else {
> +                RendererUtils.renderChild(facesContext, child);
> +            }
> +        }
>     }
>
>      private UIComponent getUIComponent(UIComponent uiComponent)
>
> Modified: 
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
> URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml?view=diff&rev=448171&r1=448170&r2=448171
> ==============================================================================
> --- 
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
 (original)
> +++ 
myfaces/tomahawk/trunk/core/src/main/resources/org/apache/myfaces/custom/tabbedpane/HtmlPanelTabbedPane.xml
 Wed Sep 20 04:50:22 2006
> @@ -45,4 +45,8 @@
>          <name>tabContentStyleClass</name>
>          <type>java.lang.String</type>
>      </field>
> +    <field>
> +        <name>activePanelTabVar</name>
> +        <type>java.lang.String</type>
> +    </field>
>  </component>
>
> Modified: 
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
> URL: 
http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml?view=diff&rev=448171&r1=448170&r2=448171
> ==============================================================================
> --- 
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
 (original)
> +++ 
myfaces/tomahawk/trunk/core/src/main/tld/tomahawk-entities/tomahawk_panel_tabbed_pane_attributes.xml
 Wed Sep 20 04:50:22 2006
> @@ -62,3 +62,12 @@
>                  Toggle client-side/server-side tab switches.
>              </description>
>          </attribute>
> +        <attribute>
> +            <name>_activePanelTabVar</name>
> +            <required>false</required>
> +            <rtexprvalue>false</rtexprvalue>
> +            <description>
> +                Boolean Variable that is set in request scope when rendering 
a panelTab. True means that the currently rendered
> +                panelTab is active.
> +            </description>
> +        </attribute>
>
>
>



--
http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Reply via email to