I think we should let the developer decide if he wants a trivial change (and adding an attribute might be trivial) to show up in the release notes.
As the tabbed-pane is a major component, I'd love to have an additional attribute in the relase-notes, though. If the developer decides for no, it can still be the community which opens a jira-issue and attaches the commit log there. regards, Martin On 9/22/06, Thomas Spiegl <[EMAIL PROTECTED]> wrote:
Is an additional attribute always a non-trivial change? In the specific case it was a trivial change from my point of view. How should we handle this in the future? On 9/22/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote: > Hey Thomas, > > We're now opening jira issues for any non-trivial change change to > Core or Tomahawk (Sandbox is still optional although recommended). > > This is how we're generating change-logs, release notes for new releases. > > On 9/22/06, Thomas Spiegl <[EMAIL PROTECTED]> wrote: > > 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 > > > -- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
-- http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces
