JBoss Rich Faces SVN: r389 - in trunk/richfaces/datascroller/src/main/java/org/richfaces: renderkit/html and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: sergeyhalipov
Date: 2007-04-12 12:41:26 -0400 (Thu, 12 Apr 2007)
New Revision: 389
Modified:
trunk/richfaces/datascroller/src/main/java/org/richfaces/event/DataScrollerAdapter.java
trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java
Log:
Block changes in dataTable when validation or other errors occured in form.
Modified: trunk/richfaces/datascroller/src/main/java/org/richfaces/event/DataScrollerAdapter.java
===================================================================
--- trunk/richfaces/datascroller/src/main/java/org/richfaces/event/DataScrollerAdapter.java 2007-04-12 16:24:47 UTC (rev 388)
+++ trunk/richfaces/datascroller/src/main/java/org/richfaces/event/DataScrollerAdapter.java 2007-04-12 16:41:26 UTC (rev 389)
@@ -26,7 +26,9 @@
import javax.faces.el.MethodBinding;
import javax.faces.context.FacesContext;
+import org.richfaces.component.UIDatascroller;
+
public class DataScrollerAdapter implements DataScrollerListener, StateHolder {
public static Class[] SIGNATURE = new Class[] { DataScrollerEvent.class };
@@ -56,6 +58,9 @@
if (scrollerMethod!=null){
scrollerMethod.invoke(context, new Object[]{event});
}
+ UIDatascroller scroller = ((UIDatascroller)event.getComponent());
+ scroller.setPage(event.getNewScrolVal());
+ scroller.setHandleValue(event.getNewScrolVal());
}
/**
Modified: trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java
===================================================================
--- trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java 2007-04-12 16:24:47 UTC (rev 388)
+++ trunk/richfaces/datascroller/src/main/java/org/richfaces/renderkit/html/DataScrollerRenderer.java 2007-04-12 16:41:26 UTC (rev 389)
@@ -91,14 +91,14 @@
scroller.setHandleValue("1");
}
if (param != null) {
- //UIDatascroller scroller = (UIDatascroller) component;
+
scroller.setPage(param);
- scroller.getPageIndex();
+
String oldScrolVal = scroller.getHandleValue();
String newScrolVal = Integer.toString(scroller.getPageIndex());
+ scroller.setPage(oldScrolVal);
if (!newScrolVal.equals(oldScrolVal)) {
- scroller.setHandleValue(newScrolVal);
DataScrollerEvent event = new DataScrollerEvent(scroller, oldScrolVal, newScrolVal);
event.queue();
19 years
JBoss Rich Faces SVN: r388 - in trunk/richfaces/tabPanel/src/main/java/org/richfaces: model and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: A.Skokov
Date: 2007-04-12 12:24:47 -0400 (Thu, 12 Apr 2007)
New Revision: 388
Modified:
trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/TabEncoder.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/TabsIterator.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/UITab.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/UITabPanel.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/model/TabModel.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabClassBuilder.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabHeaderRendererBase.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabInfoCollector.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabPanelRendererBase.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabRendererBase.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabGradientA.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabGradientB.java
trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabStripeImage.java
Log:
checkstyle
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/TabEncoder.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/TabEncoder.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/TabEncoder.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,10 +21,9 @@
package org.richfaces.component;
+import javax.faces.context.FacesContext;
import java.io.IOException;
-import javax.faces.context.FacesContext;
-
public interface TabEncoder {
- public void encodeTab(FacesContext context, UITab tab, boolean active) throws IOException;
+ public void encodeTab(FacesContext context, UITab tab, boolean active) throws IOException;
}
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/TabsIterator.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/TabsIterator.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/TabsIterator.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -26,91 +26,92 @@
/**
* "sublist" iterator for iterate over child components instantiate from {@link UITab}
+ *
* @author shura (latest modification by $Author$)
* @version $Revision$ $Date$
- *
*/
class TabsIterator implements Iterator {
- static interface FilterCondition {
- public boolean isSuitable(UITab tab);
- }
-
- private FilterCondition filterCondition;
-
- /**
- *
- */
- private final UITabPanel tabsIterator;
+ static interface FilterCondition {
+ public boolean isSuitable(UITab tab);
+ }
- /**
- * Original component iterator for children
- */
- private Iterator _childs;
-
- /**
- * Next UITab in children.
- */
- private Object _next=null;
+ private FilterCondition filterCondition;
- public TabsIterator(UITabPanel tabPanel, FilterCondition filterCondition) {
- super();
+ /**
+ *
+ */
+ private final UITabPanel tabsIterator;
- this.filterCondition = filterCondition;
-
- tabsIterator = tabPanel;
- _childs = tabsIterator.getChildren().iterator();
- _next = getNextTab();
- }
- /**
- * @param tabPanel TODO
- *
- */
- public TabsIterator(UITabPanel tabPanel) {
- this(tabPanel, null);
- }
+ /**
+ * Original component iterator for children
+ */
+ private Iterator _childs;
- /* (non-Javadoc)
- * @see java.util.Iterator#hasNext()
- */
- public boolean hasNext() {
- return _next != null;
- }
+ /**
+ * Next UITab in children.
+ */
+ private Object _next = null;
- /* (non-Javadoc)
- * @see java.util.Iterator#next()
- */
- public Object next() {
- if (null == _next) {
- throw new NoSuchElementException();
- }
- Object next = _next;
- _next = getNextTab();
- return next;
- }
+ public TabsIterator(UITabPanel tabPanel, FilterCondition filterCondition) {
+ super();
- /* (non-Javadoc)
- * @see java.util.Iterator#remove()
- */
- public void remove() {
- throw new UnsupportedOperationException("tabs Iterator not support remove operation");
-
- }
-
- /**
- * Find next {@link UITab} components in children
- * @return
- */
- private Object getNextTab() {
- while (_childs.hasNext()) {
- Object element = _childs.next();
- if(element instanceof UITab) {
- UITab tab = (UITab) element;
- if (filterCondition == null || filterCondition.isSuitable(tab)) {
- return tab;
- }
- }
- }
- return null;
- }
+ this.filterCondition = filterCondition;
+
+ tabsIterator = tabPanel;
+ _childs = tabsIterator.getChildren().iterator();
+ _next = getNextTab();
+ }
+
+ /**
+ * @param tabPanel TODO
+ */
+ public TabsIterator(UITabPanel tabPanel) {
+ this(tabPanel, null);
+ }
+
+ /* (non-Javadoc)
+ * @see java.util.Iterator#hasNext()
+ */
+ public boolean hasNext() {
+ return _next != null;
+ }
+
+ /* (non-Javadoc)
+ * @see java.util.Iterator#next()
+ */
+ public Object next() {
+ if (null == _next) {
+ throw new NoSuchElementException();
+ }
+ Object next = _next;
+ _next = getNextTab();
+ return next;
+ }
+
+ /* (non-Javadoc)
+ * @see java.util.Iterator#remove()
+ */
+ public void remove() {
+ throw new UnsupportedOperationException("tabs Iterator not support remove operation");
+
+ }
+
+ /**
+ * Find next {@link UITab} components in children
+ * @return next tab
+ */
+ private Object getNextTab() {
+ while (_childs.hasNext()) {
+ Object element = _childs.next();
+ if (element instanceof UITab) {
+ UITab tab = (UITab) element;
+ if (filterCondition == null || filterCondition.isSuitable(tab))
+ {
+ return tab;
+ }
+ }
+ }
+ return null;
+ }
}
\ No newline at end of file
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/UITab.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/UITab.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/UITab.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,7 +21,11 @@
package org.richfaces.component;
-import java.io.IOException;
+import org.ajax4jsf.framework.ajax.AjaxActionComponent;
+import org.ajax4jsf.framework.ajax.AjaxComponent;
+import org.ajax4jsf.framework.ajax.AjaxSource;
+import org.ajax4jsf.framework.renderer.AjaxRendererUtils;
+import org.richfaces.model.TabModel;
import javax.faces.FacesException;
import javax.faces.component.ActionSource;
@@ -29,160 +33,164 @@
import javax.faces.context.FacesContext;
import javax.faces.el.ValueBinding;
import javax.faces.render.Renderer;
+import java.io.IOException;
-import org.ajax4jsf.framework.ajax.AjaxActionComponent;
-import org.ajax4jsf.framework.ajax.AjaxComponent;
-import org.ajax4jsf.framework.ajax.AjaxSource;
-import org.ajax4jsf.framework.renderer.AjaxRendererUtils;
-import org.richfaces.model.TabModel;
-
/**
* Base class for panel tab.
+ *
* @author asmirnov(a)exadel.com (latest modification by $Author: ishabalov $)
* @version $Revision: 1.12 $ $Date: 2007/02/21 20:35:05 $
- *
*/
//TODO remove excess interfaces
public abstract class UITab extends AjaxActionComponent implements TabModel, AjaxComponent, AjaxSource, ActionSource {
-
- public static final String COMPONENT_TYPE = "org.richfaces.Tab";
-
- private transient boolean _active = false;
-
- private String switchType;
-
- /**
- * @param context
- * @param active
- * @throws IOException
- */
- public void encodeTab(FacesContext context, boolean active) throws IOException {
+
+ public static final String COMPONENT_TYPE = "org.richfaces.Tab";
+
+ private transient boolean _active = false;
+
+ private String switchType;
+
+ /**
+ * @param context
+ * @param active
+ * @throws IOException
+ */
+ public void encodeTab(FacesContext context, boolean active) throws IOException {
if (context == null) {
throw new NullPointerException("No FacesContext");
}
-
+
if (!isRendered()) {
return;
}
Renderer renderer = getRenderer(context);
- if(null != renderer && renderer instanceof TabEncoder) {
- ((TabEncoder)renderer).encodeTab(context,this,active);
+ if (null != renderer && renderer instanceof TabEncoder) {
+ ((TabEncoder) renderer).encodeTab(context, this, active);
}
- }
-
- /**
- * Get enclosed {@link UITabPanelPane} tab panel for this component.
- * @return
- */
- public UITabPanel getPane() throws FacesException {
- UIComponent parent = this.getParent();
- if (parent instanceof UITabPanel) {
- return (UITabPanel) parent;
- }
-
- if (parent == null) {
- return null;
- }
+ }
- throw new FacesException("UITab "+this.getClientId(getFacesContext())+"component not inside in tab panel");
- }
+ /**
+ * Get enclosed {@link UITabPanel} tab panel for this component.
+ *
+ * @return {@link UITabPanel}
+ */
+ public UITabPanel getPane() throws FacesException {
+ UIComponent parent = this.getParent();
+ if (parent instanceof UITabPanel) {
+ return (UITabPanel) parent;
+ }
- /* (non-Javadoc)
- * @see org.ajax4jsf.framework.ajax.AjaxActionComponent#setupReRender()
- */
- protected void setupReRender() {
- super.setupReRender();
- AjaxRendererUtils.addRegionByName(getFacesContext(), this, this.getId());
- }
- /**
- * @return Returns the active.
- */
- public boolean isActive() {
- return _active;
- }
+ if (parent == null) {
+ return null;
+ }
- /**
- * @param active The active to set. This method should never be called from user code.
- */
- public void setActive(boolean active) {
- _active = active;
- }
+ throw new FacesException("UITab " + this.getClientId(getFacesContext()) + "component not inside in tab panel");
+ }
- /**
- * Get Model Value for this Tab.
- * @return
- */
- public abstract Object getValue();
+ /* (non-Javadoc)
+ * @see org.ajax4jsf.framework.ajax.AjaxActionComponent#setupReRender()
+ */
+ protected void setupReRender() {
+ super.setupReRender();
+ AjaxRendererUtils.addRegionByName(getFacesContext(), this, this.getId());
+ }
- /**
- * Set Model Value for this Tab.
- * @param newvalue
- */
- public abstract void setValue(Object newvalue);
-
- public abstract Object getName();
- public abstract void setName(Object newvalue);
-
- public abstract boolean isDisabled();
- public abstract void setDisabled(boolean disabled);
-
- public abstract String getLabel();
- public abstract void setLabel(String newvalue);
-
- public abstract String getLabelWidth();
- public abstract void setLabelWidth(String newvalue);
-
- public abstract String getTitle();
- public abstract void setTitle(String newvalue);
+ /**
+ * @return Returns the active.
+ */
+ public boolean isActive() {
+ return _active;
+ }
- /* public abstract String getDescription();
- public abstract void setDescription(String newvalue);*/
-
- public String getSwitchType() {
- if (this.switchType != null) {
- return this.switchType;
- }
+ /**
+ * @param active The active to set. This method should never be called from user code.
+ */
+ public void setActive(boolean active) {
+ _active = active;
+ }
- ValueBinding valueBinding = getValueBinding("switchType");
- if (valueBinding != null) {
- return (String) valueBinding.getValue(
- FacesContext.getCurrentInstance());
- }
-
- UITabPanel pane = getPane();
- if (pane != null) {
- return getPane().getSwitchType();
- }
+ /**
+ * Get Model Value for this Tab.
+ *
+ * @return value from local variable or value bindings
+ */
+ public abstract Object getValue();
- return UISwitchablePanel.DEFAULT_METHOD;
- }
+ /**
+ * Set Model Value for this Tab.
+ *
+ * @param newvalue
+ */
+ public abstract void setValue(Object newvalue);
- public void setSwitchType(String newvalue) {
- this.switchType = newvalue;
- }
-
- public Object saveState(FacesContext context) {
- Object[] state = new Object[2];
- state[0] = super.saveState(context);
-
- state[1] = switchType;
-
- return state;
- }
-
- public void restoreState(FacesContext context, Object object) {
- Object[] state = (Object[]) object;
- super.restoreState(context, state[0]);
-
- this.switchType = (String) state[1];
- }
-
- //TODO - nick - ?
+ public abstract Object getName();
+
+ public abstract void setName(Object newvalue);
+
+ public abstract boolean isDisabled();
+
+ public abstract void setDisabled(boolean disabled);
+
+ public abstract String getLabel();
+
+ public abstract void setLabel(String newvalue);
+
+ public abstract String getLabelWidth();
+
+ public abstract void setLabelWidth(String newvalue);
+
+ public abstract String getTitle();
+
+ public abstract void setTitle(String newvalue);
+
+ /* public abstract String getDescription();
+ public abstract void setDescription(String newvalue);*/
+
+ public String getSwitchType() {
+ if (this.switchType != null) {
+ return this.switchType;
+ }
+
+ ValueBinding valueBinding = getValueBinding("switchType");
+ if (valueBinding != null) {
+ return (String) valueBinding.getValue(
+ FacesContext.getCurrentInstance());
+ }
+
+ UITabPanel pane = getPane();
+ if (pane != null) {
+ return getPane().getSwitchType();
+ }
+
+ return UISwitchablePanel.DEFAULT_METHOD;
+ }
+
+ public void setSwitchType(String newvalue) {
+ this.switchType = newvalue;
+ }
+
+ public Object saveState(FacesContext context) {
+ Object[] state = new Object[2];
+ state[0] = super.saveState(context);
+
+ state[1] = switchType;
+
+ return state;
+ }
+
+ public void restoreState(FacesContext context, Object object) {
+ Object[] state = (Object[]) object;
+ super.restoreState(context, state[0]);
+
+ this.switchType = (String) state[1];
+ }
+
+ //TODO - nick - ?
// public void processDecodes(FacesContext context) {
-//
+//
// UITabPanel pane = getPane();
-//
+//
// if(getName().equals(pane.getSelectedTab().toString())) {
// super.processDecodes(context);
// } else {
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/UITabPanel.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/UITabPanel.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/component/UITabPanel.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,98 +21,102 @@
package org.richfaces.component;
-import java.util.Iterator;
+import org.richfaces.model.Tab;
import javax.faces.component.UIComponent;
+import java.util.Iterator;
-import org.richfaces.model.Tab;
-
/**
* JSF component class
- *
*/
-public abstract class UITabPanel extends UISwitchablePanel
-{
+public abstract class UITabPanel extends UISwitchablePanel {
public static final String COMPONENT_TYPE = "org.richfaces.TabPanel";
public boolean getRendersChildren() {
- return true;
+ return true;
}
-
+
protected Iterator getSwitchedFacetsAndChildren() {
- final Object renderedValue = getRenderedValue();
-
- return new TabsIterator(this, new TabsIterator.FilterCondition() {
+ final Object renderedValue = getRenderedValue();
- public boolean isSuitable(UITab tab) {
- if (CLIENT_METHOD.equals(tab.getSwitchType())) {
-
- return true;
- }
-
- Object name = tab.getName();
-
- return name != null && name.equals(renderedValue);
- }
-
- });
+ return new TabsIterator(this, new TabsIterator.FilterCondition() {
+
+ public boolean isSuitable(UITab tab) {
+ if (CLIENT_METHOD.equals(tab.getSwitchType())) {
+
+ return true;
+ }
+
+ Object name = tab.getName();
+
+ return name != null && name.equals(renderedValue);
+ }
+
+ });
}
-
- public Object convertSwitchValue(UIComponent component, Object object) {
- if (object != null) {
- return object;
- }
-
- return ((UITab) component).getName();
- }
-
- /**
- * Get value for current selected tab. Possible classes - prefered {@link Integer} for tab number, or other Object for tab model value.
- * @return
- */
- public abstract Object getSelectedTab();
-
- /**
- * Set currently selected tab.
- * @param tab
- */
- public abstract void setSelectedTab(Object tab);
-
-
- /**
- * Create iterator for all tabs in this component ( in future, can be added special attribute for tabs collection.
- * {@link Iterator#next()} method will return tab model - {@link Tab}
- * @return
- */
- public Iterator getTabs() {
- return new TabsIterator(this);
- }
- /**
- * Get Tab selection behavior for panel - one of "client", "server", "ajax", "page".
- * @return
- */
- public abstract String getSwitchType();
+ public Object convertSwitchValue(UIComponent component, Object object) {
+ if (object != null) {
+ return object;
+ }
- /**
- * Set Tab selection behavior for panel - one of "client", "server", "ajax", "page".
- * @param newvalue
- */
- public abstract void setSwitchType(String newvalue);
-
- /**
- * Get headers alignment - one of "left", "center" and "right".
- * @return
- */
- public abstract String getHeaderAlignment();
-
- /**
- * Set headers alignment - one of "left", "center" and "right".
- * @param newAlignment
- */
- public abstract void setHeaderAlignment(String newAlignment);
+ return ((UITab) component).getName();
+ }
- public abstract String getHeaderSpacing();
+ /**
+ * Get value for current selected tab. Possible classes - prefered {@link Integer} for tab number, or other Object for tab model value.
+ *
+ * @return selectedTab value from local variable or value bindings
+ */
+ public abstract Object getSelectedTab();
- public abstract void setHeaderSpacing(String value);
+ /**
+ * Set currently selected tab.
+ *
+ * @param tab
+ */
+ public abstract void setSelectedTab(Object tab);
+
+
+ /**
+ * Create iterator for all tabs in this component ( in future, can be added special attribute for tabs collection.
+ * {@link Iterator#next()} method will return tab model - {@link Tab}
+ *
+ * @return Iterator
+ */
+ public Iterator getTabs() {
+ return new TabsIterator(this);
+ }
+
+ /**
+ * Get Tab selection behavior for panel - one of "client", "server", "ajax", "page".
+ *
+ * @return switchType value from local variable or value bindings
+ */
+ public abstract String getSwitchType();
+
+ /**
+ * Set Tab selection behavior for panel - one of "client", "server", "ajax", "page".
+ *
+ * @param newvalue
+ */
+ public abstract void setSwitchType(String newvalue);
+
+ /**
+ * Get headers alignment - one of "left", "center" and "right".
+ *
+ * @return headerAlignment value from local variable or value bindings
+ */
+ public abstract String getHeaderAlignment();
+
+ /**
+ * Set headers alignment - one of "left", "center" and "right".
+ *
+ * @param newAlignment
+ */
+ public abstract void setHeaderAlignment(String newAlignment);
+
+ public abstract String getHeaderSpacing();
+
+ public abstract void setHeaderSpacing(String value);
}
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/model/TabModel.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/model/TabModel.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/model/TabModel.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -25,85 +25,80 @@
/**
* @author asmirnov(a)exadel.com (latest modification by $Author: ishabalov $)
* @version $Revision: 1.3 $ $Date: 2007/02/21 20:35:05 $
- *
*/
public interface TabModel {
- /**
- * Get Get internal value for this tab - to store in selectedTab attribute of {@link UITabPanelPane}.
- * by default, if no tabValue set, as it's value used ordered number of this tab in panel.
- * @return
- */
- public Object getName();
+ /**
+ * Get Get internal value for this tab - to store in selectedTab attribute of {@link org.richfaces.component.UITabPanel}.
+ * by default, if no tabValue set, as it's value used ordered number of this tab in panel.
+ *
+ * @return Returns the value.
+ */
+ public Object getName();
- /**
- * Set Get internal value for this tab - to store in selectedTab attribute of {@link UITabPanelPane}.
- * @param newvalue
- */
- public void setName(Object newvalue);
+ /**
+ * Set Get internal value for this tab - to store in selectedTab attribute of {@link org.richfaces.component.UITabPanel}.
+ *
+ * @param newvalue
+ */
+ public void setName(Object newvalue);
- public boolean isDisabled();
+ public boolean isDisabled();
- public void setDisabled(boolean disabled);
+ public void setDisabled(boolean disabled);
- /**
- * Get label for this tab.
- * @return
- */
- public String getLabel();
+ /**
+ * Get label for this tab.
+ *
+ * @return Returns the label.
+ */
+ public String getLabel();
- /**
- * Set label for this tab.
- * @param newvalue
- */
- public void setLabel(String newvalue);
+ /**
+ * Set label for this tab.
+ *
+ * @param newvalue
+ */
+ public void setLabel(String newvalue);
- /**
- * Get width of label for this tab.
- * @return
- */
- public String getLabelWidth();
+ /**
+ * Get width of label for this tab.
+ *
+ * @return Returns the labelWidth.
+ */
+ public String getLabelWidth();
- /**
- * Set width of label for this tab.
- * @param newvalue
- */
- public void setLabelWidth(String newvalue);
+ /**
+ * Set width of label for this tab.
+ *
+ * @param newvalue
+ */
+ public void setLabelWidth(String newvalue);
- /**
- * Get Tab description - for visual tools or pop-up message.
- * @return
- */
-// public String getDescription();
+ /**
+ * Get Tab title - for pop-up message.
+ *
+ * @return Returns the title.
+ */
+ public String getTitle();
- /**
- * Set Tab description - for visual tools or pop-up message.
- * @param newvalue
- */
-// public void setDescription(String newvalue);
+ /**
+ * Set Tab title - for pop-up message.
+ *
+ * @param newvalue
+ */
+ public void setTitle(String newvalue);
- /**
- * Get Tab title - for pop-up message.
- * @return
- */
- public String getTitle();
+ /**
+ * Get Tab selection behavior for panel - one of "client", "server", "ajax", "page".
+ *
+ * @return Returns the switchType.
+ */
+ public String getSwitchType();
- /**
- * Set Tab title - for pop-up message.
- * @param newvalue
- */
- public void setTitle(String newvalue);
-
- /**
- * Get Tab selection behavior for panel - one of "client", "server", "ajax", "page".
- * @return
- */
- public String getSwitchType();
-
- /**
- * Set Tab selection behavior for panel - one of "client", "server", "ajax", "page".
- * @param newvalue
- */
- public void setSwitchType(String newvalue);
-
+ /**
+ * Set Tab selection behavior for panel - one of "client", "server", "ajax", "page".
+ * @param newvalue
+ */
+ public void setSwitchType(String newvalue);
}
\ No newline at end of file
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabClassBuilder.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabClassBuilder.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabClassBuilder.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,157 +21,160 @@
package org.richfaces.renderkit;
-import javax.faces.component.UIComponent;
-
import org.richfaces.component.UITab;
import org.richfaces.component.UITabPanel;
+import javax.faces.component.UIComponent;
+
/**
* Let's build tab style class of:
- * 'renderer-specific' classes
- *
+ * 'renderer-specific' classes
+ *
* @author Maksim Kaszynski
- *
*/
public class TabClassBuilder {
- public static final TabClassBuilder activeTabClassBuilder = new TabClassBuilder() {
+ public static final TabClassBuilder activeTabClassBuilder = new TabClassBuilder() {
- protected String getSpecificClassForAllTabs() {
- //dr-tb-act
- return "dr-tbpnl-tb-act rich-tab-active";
- }
+ protected String getSpecificClassForAllTabs() {
+ //dr-tb-act
+ return "dr-tbpnl-tb-act rich-tab-active";
+ }
- protected String getSpecificTabClassFromPane(UITab tab,
- UITabPanel pane) {
- return TabClassBuilder.getStringAttributeOrEmptyString(pane,
- "activeTabClass");
- }
+ protected String getSpecificTabClassFromPane(UITab tab,
+ UITabPanel pane) {
+ return TabClassBuilder.getStringAttributeOrEmptyString(pane,
+ "activeTabClass");
+ }
- };
+ };
- public static final TabClassBuilder disabledTabClassBuilder = new TabClassBuilder() {
+ public static final TabClassBuilder disabledTabClassBuilder = new TabClassBuilder() {
- protected String getSpecificClassForAllTabs() {
- //dr-tb-dsbld
- return "dr-tbpnl-tb-dsbl rich-tab-disabled";
- }
+ protected String getSpecificClassForAllTabs() {
+ //dr-tb-dsbld
+ return "dr-tbpnl-tb-dsbl rich-tab-disabled";
+ }
- protected String getSpecificTabClassFromPane(UITab tab,
- UITabPanel pane) {
- return TabClassBuilder.getStringAttributeOrEmptyString(pane,
- "disabledTabClass");
- }
+ protected String getSpecificTabClassFromPane(UITab tab,
+ UITabPanel pane) {
+ return TabClassBuilder.getStringAttributeOrEmptyString(pane,
+ "disabledTabClass");
+ }
- };
+ };
- public static final TabClassBuilder inactiveTabClassBuilder = new TabClassBuilder() {
+ public static final TabClassBuilder inactiveTabClassBuilder = new TabClassBuilder() {
- protected String getSpecificClassForAllTabs() {
- //dr-tb-inact
- return "dr-tbpnl-tb-inact rich-tab-inactive";
- }
+ protected String getSpecificClassForAllTabs() {
+ //dr-tb-inact
+ return "dr-tbpnl-tb-inact rich-tab-inactive";
+ }
- protected String getSpecificTabClassFromPane(UITab tab,
- UITabPanel pane) {
- return TabClassBuilder.getStringAttributeOrEmptyString(pane,
- "inactiveTabClass");
- }
+ protected String getSpecificTabClassFromPane(UITab tab,
+ UITabPanel pane) {
+ return TabClassBuilder.getStringAttributeOrEmptyString(pane,
+ "inactiveTabClass");
+ }
- };
+ };
- public static String getStringAttributeOrEmptyString(UIComponent component, String attributeName) {
- String attributeValue = (String) component.getAttributes().get(attributeName);
-
- if (null == attributeValue) {
- attributeValue = "";
- }
-
- return attributeValue;
- }
+ public static String getStringAttributeOrEmptyString(UIComponent component, String attributeName) {
+ String attributeValue = (String) component.getAttributes().get(attributeName);
-
- /**
- * gather cumulative class
- * @param tab
- * @param pane
- * @return
- */
- public String buildTabClass(UITab tab) {
- UITabPanel pane = tab.getPane();
- StringBuffer labelClass = new StringBuffer();
- labelClass
- .append(getCommonClassForAllTabs())
- .append(" ")
- .append(getSpecificClassForAllTabs())
- .append(" ")
- .append(getCommonTabClassFromPane(pane))
- .append(" ")
- .append(getSpecificTabClassFromPane(tab, pane))
- .append(" ")
- .append(getSpecificClassFromTab(tab))
- .append(" ")
- .append(getClassFromTab(tab));
-
- return labelClass.toString();
- }
-
- /**
- * common prefix for all tabs (renderer-specific)
- * @return
- */
- protected String getCommonClassForAllTabs() {
- //dr-tb-cntrl
- return "dr-tbpnl-tb rich-tab-header";
- }
-
- /**
- * class common class for different kinds of tabs (e.g. active, disabled, etc)
- * renderer-specific
- * @return
- */
- protected String getSpecificClassForAllTabs() {
- return "";
- }
-
- /**
- * usually styleClass attribute specified directly on tab
- * @param tab
- * @return
- */
- protected String getClassFromTab(UITab tab) {
- return getStringAttributeOrEmptyString(tab, "styleClass");
- }
-
- /**
- * no known implements
- * @param tab
- * @return
- */
-
- protected String getSpecificClassFromTab(UITab tab) {
- return "";
- }
+ if (null == attributeValue) {
+ attributeValue = "";
+ }
- /**
- * general class of all tabs specified on pane
- * @param pane
- * @return
- */
- protected String getCommonTabClassFromPane(UITabPanel pane) {
- return getStringAttributeOrEmptyString(pane, "tabClass");
- }
- /**
- * get class from pane depending on tab kind
- * @param tab
- * @param pane
- * @return
- */
- protected String getSpecificTabClassFromPane(UITab tab, UITabPanel pane) {
- return "";
- }
-
-
+ return attributeValue;
+ }
+
+
+ /**
+ * gather cumulative class
+ *
+ * @param tab
+ * @return
+ */
+ public String buildTabClass(UITab tab) {
+ UITabPanel pane = tab.getPane();
+ StringBuffer labelClass = new StringBuffer();
+ labelClass
+ .append(getCommonClassForAllTabs())
+ .append(" ")
+ .append(getSpecificClassForAllTabs())
+ .append(" ")
+ .append(getCommonTabClassFromPane(pane))
+ .append(" ")
+ .append(getSpecificTabClassFromPane(tab, pane))
+ .append(" ")
+ .append(getSpecificClassFromTab(tab))
+ .append(" ")
+ .append(getClassFromTab(tab));
+
+ return labelClass.toString();
+ }
+
+ /**
+ * common prefix for all tabs (renderer-specific)
+ *
+ * @return
+ */
+ protected String getCommonClassForAllTabs() {
+ //dr-tb-cntrl
+ return "dr-tbpnl-tb rich-tab-header";
+ }
+
+ /**
+ * class common class for different kinds of tabs (e.g. active, disabled, etc)
+ * renderer-specific
+ *
+ * @return
+ */
+ protected String getSpecificClassForAllTabs() {
+ return "";
+ }
+
+ /**
+ * usually styleClass attribute specified directly on tab
+ *
+ * @param tab
+ * @return
+ */
+ protected String getClassFromTab(UITab tab) {
+ return getStringAttributeOrEmptyString(tab, "styleClass");
+ }
+
+ /**
+ * no known implements
+ *
+ * @param tab
+ * @return
+ */
+
+ protected String getSpecificClassFromTab(UITab tab) {
+ return "";
+ }
+
+ /**
+ * general class of all tabs specified on pane
+ *
+ * @param pane
+ * @return
+ */
+ protected String getCommonTabClassFromPane(UITabPanel pane) {
+ return getStringAttributeOrEmptyString(pane, "tabClass");
+ }
+
+ /**
+ * get class from pane depending on tab kind
+ * @param tab
+ * @param pane
+ * @return
+ */
+ protected String getSpecificTabClassFromPane(UITab tab, UITabPanel pane) {
+ return "";
+ }
}
\ No newline at end of file
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabHeaderRendererBase.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabHeaderRendererBase.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabHeaderRendererBase.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,13 +21,6 @@
package org.richfaces.renderkit;
-import java.io.IOException;
-import java.util.Map;
-
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseWriter;
-
import org.ajax4jsf.framework.renderer.AjaxRendererUtils;
import org.ajax4jsf.framework.renderer.RendererUtils.HTML;
import org.ajax4jsf.framework.util.HtmlDimensions;
@@ -37,167 +30,172 @@
import org.richfaces.component.UITabPanel;
import org.richfaces.component.util.HtmlUtil;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+import java.io.IOException;
+import java.util.Map;
+
/**
* @author Nick Belaevski - nbelaevski(a)exadel.com
- * created 12.01.2007
- *
+ * created 12.01.2007
*/
public class TabHeaderRendererBase extends org.ajax4jsf.framework.renderer.HeaderResourcesRendererBase {
- private static final String LABEL_SUFFIX = "_lbl";
-
- protected Class getComponentClass() {
- return UITab.class;
- }
+ private static final String LABEL_SUFFIX = "_lbl";
- public void encodeTabLabel(FacesContext context, UITab tab) throws IOException{
- ResponseWriter writer = context.getResponseWriter();
+ protected Class getComponentClass() {
+ return UITab.class;
+ }
- boolean disabled = tab.isDisabled();
- UITabPanel pane = tab.getPane();
- String method = tab.getSwitchType();
- boolean ajax = UISwitchablePanel.AJAX_METHOD.equals(method);
- boolean clientSide = UISwitchablePanel.CLIENT_METHOD.equals(method);
- String label = tab.getLabel();
+ public void encodeTabLabel(FacesContext context, UITab tab) throws IOException {
+ ResponseWriter writer = context.getResponseWriter();
- if (label == null) {
- label = "";
- }
+ boolean disabled = tab.isDisabled();
+ UITabPanel pane = tab.getPane();
+ String method = tab.getSwitchType();
+ boolean ajax = UISwitchablePanel.AJAX_METHOD.equals(method);
+ boolean clientSide = UISwitchablePanel.CLIENT_METHOD.equals(method);
+ String label = tab.getLabel();
- String clientId = tab.getClientId(context) ;
+ if (label == null) {
+ label = "";
+ }
- String style = (String) tab.getAttributes().get("style");
+ String clientId = tab.getClientId(context);
- if (!disabled) {
- if(clientSide) {
- writer.writeAttribute(HTML.onclick_ATTRIBUTE,"RichFaces.switchTab('"+pane.getClientId(context)+"','"+clientId+"','"+getUtils().formatValue(context, pane, tab.getName())+"');","switchScript");
- } else {
- String activeCheck = "if (RichFaces.isTabActive('" + clientId + LABEL_SUFFIX + "')) return false;";
+ String style = (String) tab.getAttributes().get("style");
- if(ajax) {
- JSFunction function = AjaxRendererUtils.buildAjaxFunction(tab,
- context);
- Map eventOptions = AjaxRendererUtils.buildEventOptions(context,
- tab);
- function.addParameter(eventOptions);
+ if (!disabled) {
+ if (clientSide) {
+ writer.writeAttribute(HTML.onclick_ATTRIBUTE, "RichFaces.switchTab('" + pane.getClientId(context) + "','" + clientId + "','" + getUtils().formatValue(context, pane, tab.getName()) + "');", "switchScript");
+ } else {
+ String activeCheck = "if (RichFaces.isTabActive('" + clientId + LABEL_SUFFIX + "')) return false;";
- StringBuffer buffer = new StringBuffer();
- function.appendScript(buffer);
- buffer.append("; return false; this.onclick = null;");
- String script = buffer.toString();
- writer.writeAttribute(HTML.onclick_ATTRIBUTE, activeCheck + script, null);
- } else {
- StringBuffer script = new StringBuffer("var _formName = A4J.findForm(this).id; var _paramName = '" + clientId + "_server_submit'; var _params = new Object(); _params[_paramName] = _paramName; _JSFFormSubmit('");
- script.append(clientId);
- script.append("', _formName, null, _params);");
- script.append("this.onclick = null; _clearJSFFormParameters(_formName, null, [_paramName]);");
+ if (ajax) {
+ JSFunction function = AjaxRendererUtils.buildAjaxFunction(tab,
+ context);
+ Map eventOptions = AjaxRendererUtils.buildEventOptions(context,
+ tab);
+ function.addParameter(eventOptions);
- writer.writeAttribute(HTML.onclick_ATTRIBUTE, activeCheck + script.toString()
- /* "RichFaces.submitTab(this,'"+clientId + "_inp" +"','"+pane.getClientId(context)+"');"*/, null);
- }
- }
- }
+ StringBuffer buffer = new StringBuffer();
+ function.appendScript(buffer);
+ buffer.append("; return false; this.onclick = null;");
+ String script = buffer.toString();
+ writer.writeAttribute(HTML.onclick_ATTRIBUTE, activeCheck + script, null);
+ } else {
+ StringBuffer script = new StringBuffer("var _formName = A4J.findForm(this).id; var _paramName = '" + clientId + "_server_submit'; var _params = new Object(); _params[_paramName] = _paramName; _JSFFormSubmit('");
+ script.append(clientId);
+ script.append("', _formName, null, _params);");
+ script.append("this.onclick = null; _clearJSFFormParameters(_formName, null, [_paramName]);");
+ writer.writeAttribute(HTML.onclick_ATTRIBUTE, activeCheck + script.toString()
+ /* "RichFaces.submitTab(this,'"+clientId + "_inp" +"','"+pane.getClientId(context)+"');"*/, null);
+ }
+ }
+ }
- String width = tab.getLabelWidth();
- if (width != null) {
- style += ";width: " + getUtils().encodePctOrPx(width) + ";";
- }
+ String width = tab.getLabelWidth();
- if (style != null){
- writer.writeAttribute(HTML.style_ATTRIBUTE, style, "tabStyle");
- }
- }
+ if (width != null) {
+ style += ";width: " + getUtils().encodePctOrPx(width) + ";";
+ }
- public boolean getRendersChildren() {
- return true;
- }
+ if (style != null) {
+ writer.writeAttribute(HTML.style_ATTRIBUTE, style, "tabStyle");
+ }
+ }
- public void encodeCellClasses(FacesContext context, UITab tab) throws IOException {
- ResponseWriter writer = context.getResponseWriter();
- String labelClass;
- if (tab.isDisabled()) {
- labelClass = TabPanelRendererBase.DISABLED_CELL_CLASSES;
- } else {
- if (tab.isActive()) {
- labelClass = TabPanelRendererBase.ACTIVE_CELL_CLASSES;
- } else {
- labelClass = TabPanelRendererBase.INACTIVE_CELL_CLASSES;
- }
- }
+ public boolean getRendersChildren() {
+ return true;
+ }
- writer.writeAttribute(HTML.class_ATTRIBUTE, labelClass, null);
- }
+ public void encodeCellClasses(FacesContext context, UITab tab) throws IOException {
+ ResponseWriter writer = context.getResponseWriter();
+ String labelClass;
+ if (tab.isDisabled()) {
+ labelClass = TabPanelRendererBase.DISABLED_CELL_CLASSES;
+ } else {
+ if (tab.isActive()) {
+ labelClass = TabPanelRendererBase.ACTIVE_CELL_CLASSES;
+ } else {
+ labelClass = TabPanelRendererBase.INACTIVE_CELL_CLASSES;
+ }
+ }
- /**
- * Hook method for create AJAX command script, in non-ajax state -simple write script attributes
- * @param writer
- * @param context
- * @param component
- * @throws IOException
- */
- protected void writeTabElementScript(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
- getUtils().encodeAttribute(context,component,HTML.onclick_ATTRIBUTE);
- getUtils().encodeAttribute(context,component,HTML.ondblclick_ATTRIBUTE);
- getUtils().encodeAttribute(context,component,HTML.onkeydown_ATTRIBUTE);
- getUtils().encodeAttribute(context,component,HTML.onkeyup_ATTRIBUTE);
- getUtils().encodeAttribute(context,component,HTML.onkeypress_ATTRIBUTE);
- }
+ writer.writeAttribute(HTML.class_ATTRIBUTE, labelClass, null);
+ }
- public void writeLabel(FacesContext context, UITab tab) throws IOException{
- ResponseWriter writer = context.getResponseWriter();
+ /**
+ * Hook method for create AJAX command script, in non-ajax state -simple write script attributes
+ *
+ * @param writer
+ * @param context
+ * @param component
+ * @throws IOException
+ */
+ protected void writeTabElementScript(ResponseWriter writer, FacesContext context, UIComponent component) throws IOException {
+ getUtils().encodeAttribute(context, component, HTML.onclick_ATTRIBUTE);
+ getUtils().encodeAttribute(context, component, HTML.ondblclick_ATTRIBUTE);
+ getUtils().encodeAttribute(context, component, HTML.onkeydown_ATTRIBUTE);
+ getUtils().encodeAttribute(context, component, HTML.onkeyup_ATTRIBUTE);
+ getUtils().encodeAttribute(context, component, HTML.onkeypress_ATTRIBUTE);
+ }
- String labelClass = "";
- if (tab.isDisabled()) {
- labelClass = TabPanelRendererBase.getDisabledTabClass(tab);
- } else {
- if (tab.isActive()) {
- labelClass = TabPanelRendererBase.getActiveTabClass(tab);
- } else {
- labelClass = TabPanelRendererBase.getInactiveTabClass(tab);
- }
+ public void writeLabel(FacesContext context, UITab tab) throws IOException {
+ ResponseWriter writer = context.getResponseWriter();
- writer.writeAttribute(HTML.onmouseover_ATTRIBUTE, ONMOUSEOVER, "tabOnMouseOver");
- writer.writeAttribute(HTML.onmouseout_ATTRIBUTE, ONMOUSEOUT, "tabOnMouseOut");
- }
- writer.writeAttribute(HTML.class_ATTRIBUTE, labelClass, "tabClass");
- String title = tab.getTitle();
- if (title != null && title.length()!=0) {
- writer.writeAttribute(HTML.title_ATTRIBUTE, title, null);
- }
+ String labelClass = "";
+ if (tab.isDisabled()) {
+ labelClass = TabPanelRendererBase.getDisabledTabClass(tab);
+ } else {
+ if (tab.isActive()) {
+ labelClass = TabPanelRendererBase.getActiveTabClass(tab);
+ } else {
+ labelClass = TabPanelRendererBase.getInactiveTabClass(tab);
+ }
- String label = tab.getLabel();
+ writer.writeAttribute(HTML.onmouseover_ATTRIBUTE, ONMOUSEOVER, "tabOnMouseOver");
+ writer.writeAttribute(HTML.onmouseout_ATTRIBUTE, ONMOUSEOUT, "tabOnMouseOut");
+ }
+ writer.writeAttribute(HTML.class_ATTRIBUTE, labelClass, "tabClass");
+ String title = tab.getTitle();
+ if (title != null && title.length() != 0) {
+ writer.writeAttribute(HTML.title_ATTRIBUTE, title, null);
+ }
- if (label == null || label.length()==0) {
- label = " ";
- }
+ String label = tab.getLabel();
- context.getResponseWriter().write(label);
- }
+ if (label == null || label.length() == 0) {
+ label = " ";
+ }
- protected String encodeTabLabelWidth(FacesContext context, UITab tab) {
- String labelWidth = tab.getLabelWidth();
- if (labelWidth == null || labelWidth.trim().length() == 0) {
- return "";
- }
+ context.getResponseWriter().write(label);
+ }
- return "width: " + HtmlUtil.qualifySize(labelWidth) + ";";
- }
+ protected String encodeTabLabelWidth(FacesContext context, UITab tab) {
+ String labelWidth = tab.getLabelWidth();
+ if (labelWidth == null || labelWidth.trim().length() == 0) {
+ return "";
+ }
- public String encodeHeaderSpacing(FacesContext context, UITab tab) throws IOException {
- UITabPanel pane = tab.getPane();
- String headerSpacing = pane.getHeaderSpacing();
- Double decoded = HtmlDimensions.decode(headerSpacing);
- if (decoded.doubleValue() != 0) {
- return "width: " + HtmlUtil.qualifySize(headerSpacing);
- } else {
- return "";
- }
- }
+ return "width: " + HtmlUtil.qualifySize(labelWidth) + ";";
+ }
- private static final String ONMOUSEOVER = "RichFaces.overTab(this);";
- private static final String ONMOUSEOUT = "RichFaces.outTab(this);";
+ public String encodeHeaderSpacing(FacesContext context, UITab tab) throws IOException {
+ UITabPanel pane = tab.getPane();
+ String headerSpacing = pane.getHeaderSpacing();
+ Double decoded = HtmlDimensions.decode(headerSpacing);
+ if (decoded.doubleValue() != 0) {
+ return "width: " + HtmlUtil.qualifySize(headerSpacing);
+ } else {
+ return "";
+ }
+ }
+ private static final String ONMOUSEOVER = "RichFaces.overTab(this);";
+ private static final String ONMOUSEOUT = "RichFaces.outTab(this);";
}
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabInfoCollector.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabInfoCollector.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabInfoCollector.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,15 +21,15 @@
package org.richfaces.renderkit;
+import org.richfaces.component.UITab;
+
import javax.faces.context.FacesContext;
-import org.richfaces.component.UITab;
-
/**
* @author Maksim Kaszynski
- *
*/
public interface TabInfoCollector {
- public Object collectTabInfo(FacesContext context, UITab tab);
+
+ public Object collectTabInfo(FacesContext context, UITab tab);
}
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabPanelRendererBase.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabPanelRendererBase.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabPanelRendererBase.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,16 +21,6 @@
package org.richfaces.renderkit;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-import javax.faces.event.ActionEvent;
-
import org.ajax4jsf.framework.ajax.AjaxEvent;
import org.ajax4jsf.framework.renderer.ComponentVariables;
import org.ajax4jsf.framework.renderer.ComponentsVariableResolver;
@@ -43,254 +33,266 @@
import org.richfaces.component.util.HtmlUtil;
import org.richfaces.event.SwitchablePanelSwitchEvent;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.event.ActionEvent;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
/**
* @author Nick Belaevski - nbelaevski(a)exadel.com
- * created 12.01.2007
- *
+ * created 12.01.2007
*/
public class TabPanelRendererBase extends org.ajax4jsf.framework.renderer.HeaderResourcesRendererBase {
- public final static String ACTIVE_CELL_CLASSES = "dr-tbpnl-tbcell-act rich-tabhdr-cell-active";
- public final static String INACTIVE_CELL_CLASSES = "dr-tbpnl-tbcell-inact rich-tabhdr-cell-inactive";
- public final static String DISABLED_CELL_CLASSES = "dr-tbpnl-tbcell-dsbld rich-tabhdr-cell-disabled";
+ public final static String ACTIVE_CELL_CLASSES = "dr-tbpnl-tbcell-act rich-tabhdr-cell-active";
+ public final static String INACTIVE_CELL_CLASSES = "dr-tbpnl-tbcell-inact rich-tabhdr-cell-inactive";
+ public final static String DISABLED_CELL_CLASSES = "dr-tbpnl-tbcell-dsbld rich-tabhdr-cell-disabled";
- protected Class getComponentClass() {
- return UITabPanel.class;
- }
+ protected Class getComponentClass() {
+ return UITabPanel.class;
+ }
- protected void doDecode(FacesContext context, UIComponent component) {
- super.doDecode(context, component);
+ protected void doDecode(FacesContext context, UIComponent component) {
+ super.doDecode(context, component);
- UITabPanel panel = (UITabPanel) component;
+ UITabPanel panel = (UITabPanel) component;
- String clientId = component.getClientId(context);
- Map requestParameterMap = context.getExternalContext().getRequestParameterMap();
+ String clientId = component.getClientId(context);
+ Map requestParameterMap = context.getExternalContext().getRequestParameterMap();
- UITab eventTab = null;
+ UITab eventTab = null;
- for (Iterator tabsIterator = panel.getTabs();
- tabsIterator.hasNext() && eventTab == null;) {
+ for (Iterator tabsIterator = panel.getTabs();
+ tabsIterator.hasNext() && eventTab == null;) {
- UITab tab = (UITab) tabsIterator.next();
- if (!tab.isRendered() || tab.isDisabled()) {
- continue;
- }
+ UITab tab = (UITab) tabsIterator.next();
+ if (!tab.isRendered() || tab.isDisabled()) {
+ continue;
+ }
- String tabClientId = tab.getClientId(context);
- if (requestParameterMap.containsKey(tabClientId) ||
- requestParameterMap.containsKey(tabClientId + "_server_submit")) {
+ String tabClientId = tab.getClientId(context);
+ if (requestParameterMap.containsKey(tabClientId) ||
+ requestParameterMap.containsKey(tabClientId + "_server_submit"))
+ {
- eventTab = tab;
- }
- }
+ eventTab = tab;
+ }
+ }
- if (eventTab != null) {
- new SwitchablePanelSwitchEvent(panel, null, eventTab).queue();
- new ActionEvent(eventTab).queue();
+ if (eventTab != null) {
+ new SwitchablePanelSwitchEvent(panel, null, eventTab).queue();
+ new ActionEvent(eventTab).queue();
- if (UISwitchablePanel.AJAX_METHOD.equals(eventTab.getSwitchType())) {
- new AjaxEvent(eventTab).queue();
- }
- } else {
- String newValue = (String) requestParameterMap.get(clientId);
- if (null != newValue) {
- new SwitchablePanelSwitchEvent(panel, newValue, null).queue();
- }
- }
- }
+ if (UISwitchablePanel.AJAX_METHOD.equals(eventTab.getSwitchType()))
+ {
+ new AjaxEvent(eventTab).queue();
+ }
+ } else {
+ String newValue = (String) requestParameterMap.get(clientId);
+ if (null != newValue) {
+ new SwitchablePanelSwitchEvent(panel, newValue, null).queue();
+ }
+ }
+ }
- private static final TabInfoCollector collector = new TabInfoCollector() {
- private final JSReference JSR_ACTIVE_CLASS = new JSReference("activeClass");
- private final JSReference JSR_ID = new JSReference("id");
- private final JSReference JSR_INACTIVE_CLASS = new JSReference("inactiveClass");
+ private static final TabInfoCollector collector = new TabInfoCollector() {
+ private final JSReference JSR_ACTIVE_CLASS = new JSReference("activeClass");
+ private final JSReference JSR_ID = new JSReference("id");
+ private final JSReference JSR_INACTIVE_CLASS = new JSReference("inactiveClass");
- private final JSReference JSR_CELL_ACTIVE_CLASS = new JSReference("cellActiveClass");
- private final JSReference JSR_CELL_INACTIVE_CLASS = new JSReference("cellInactiveClass");
+ private final JSReference JSR_CELL_ACTIVE_CLASS = new JSReference("cellActiveClass");
+ private final JSReference JSR_CELL_INACTIVE_CLASS = new JSReference("cellInactiveClass");
- public Object collectTabInfo(FacesContext context, UITab tab) {
- Map info = new HashMap();
- info.put(JSR_ID, tab.getClientId(context));
- info.put(JSR_ACTIVE_CLASS, TabPanelRendererBase.getActiveTabClass(tab));
- info.put(JSR_INACTIVE_CLASS, TabPanelRendererBase.getInactiveTabClass(tab));
+ public Object collectTabInfo(FacesContext context, UITab tab) {
+ Map info = new HashMap();
+ info.put(JSR_ID, tab.getClientId(context));
+ info.put(JSR_ACTIVE_CLASS, TabPanelRendererBase.getActiveTabClass(tab));
+ info.put(JSR_INACTIVE_CLASS, TabPanelRendererBase.getInactiveTabClass(tab));
- info.put(JSR_CELL_ACTIVE_CLASS, ACTIVE_CELL_CLASSES);
- info.put(JSR_CELL_INACTIVE_CLASS, INACTIVE_CELL_CLASSES);
+ info.put(JSR_CELL_ACTIVE_CLASS, ACTIVE_CELL_CLASSES);
+ info.put(JSR_CELL_INACTIVE_CLASS, INACTIVE_CELL_CLASSES);
- return info;
- }
- };
+ return info;
+ }
+ };
- /**
- * @param context
- * @param component
- * @return
- * @throws IOException
- */
- public static String encodeStyles(FacesContext context, UIComponent component) throws IOException {
- String widthAttrValue = (String)component.getAttributes().get(HTML.width_ATTRIBUTE);
- String heightAttrValue = (String)component.getAttributes().get(HTML.height_ATTRIBUTE);
- String styleAttrValue = (String)component.getAttributes().get(HTML.style_ATTRIBUTE);
- String style = styleAttrValue != null ? styleAttrValue : "";
+ /**
+ * @param context
+ * @param component
+ * @return
+ * @throws IOException
+ */
+ public static String encodeStyles(FacesContext context, UIComponent component) throws IOException {
+ String widthAttrValue = (String) component.getAttributes().get(HTML.width_ATTRIBUTE);
+ String heightAttrValue = (String) component.getAttributes().get(HTML.height_ATTRIBUTE);
+ String styleAttrValue = (String) component.getAttributes().get(HTML.style_ATTRIBUTE);
+ String style = styleAttrValue != null ? styleAttrValue : "";
- if (!parameterPresent(styleAttrValue, HTML.width_ATTRIBUTE)) {
- String width = (widthAttrValue != null && widthAttrValue.length() > 0) ? HtmlUtil.qualifySize(widthAttrValue) : "100%";
- style = addParameter(style, HTML.width_ATTRIBUTE + ":" + width);
- }
+ if (!parameterPresent(styleAttrValue, HTML.width_ATTRIBUTE)) {
+ String width = (widthAttrValue != null && widthAttrValue.length() > 0) ? HtmlUtil.qualifySize(widthAttrValue) : "100%";
+ style = addParameter(style, HTML.width_ATTRIBUTE + ":" + width);
+ }
- if (!parameterPresent(styleAttrValue, HTML.height_ATTRIBUTE)) {
- String height = (heightAttrValue != null && heightAttrValue.length() > 0) ? HtmlUtil.qualifySize(heightAttrValue) : "";
- if (height.length() > 0) {
- style = addParameter(style, HTML.height_ATTRIBUTE + ":" + height);
- }
- }
+ if (!parameterPresent(styleAttrValue, HTML.height_ATTRIBUTE)) {
+ String height = (heightAttrValue != null && heightAttrValue.length() > 0) ? HtmlUtil.qualifySize(heightAttrValue) : "";
+ if (height.length() > 0) {
+ style = addParameter(style, HTML.height_ATTRIBUTE + ":" + height);
+ }
+ }
- return style;
- }
+ return style;
+ }
- /**
- * @param style
- * @param name
- * @return
- */
- protected static boolean parameterPresent(String style, String name) {
- if (style != null && style.length() > 0) {
- String[] styles = style.split(";");
- for (int i = 0; i < styles.length; i++) {
- String[] pair = styles[i].split(":");
- if (pair[0].trim().equals(name)) {
- return true;
- }
- }
- }
- return false;
- }
- private static String addParameter(String style, String element) {
- String s = style.trim();
- return style + (s.length() == 0 || s.endsWith(";") ? "" : ";") + element;
- }
+ /**
+ * @param style
+ * @param name
+ * @return
+ */
+ protected static boolean parameterPresent(String style, String name) {
+ if (style != null && style.length() > 0) {
+ String[] styles = style.split(";");
+ for (int i = 0; i < styles.length; i++) {
+ String[] pair = styles[i].split(":");
+ if (pair[0].trim().equals(name)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
- protected String getValueAsString(FacesContext context, UITabPanel tabPanel) {
- return getUtils().getValueAsString(context, tabPanel);
- }
+ private static String addParameter(String style, String element) {
+ String s = style.trim();
+ return style + (s.length() == 0 || s.endsWith(";") ? "" : ";") + element;
+ }
- public void encodeTabs(FacesContext context, UITabPanel tabPanel) throws IOException {
- ComponentVariables componentVariables = ComponentsVariableResolver.getVariables(this, tabPanel);
+ protected String getValueAsString(FacesContext context, UITabPanel tabPanel) {
+ return getUtils().getValueAsString(context, tabPanel);
+ }
- Object value = tabPanel.getValue();
- if (value instanceof String) {
- if (((String) value).length() == 0) {
- value = null;
- }
- }
- if (value == null){
- value=tabPanel.getSelectedTab();
- }
- boolean useFirstRenderedTab = value == null;
- UITabPanel pane = tabPanel;
- UITab firstRenderedTab = null;
- UITab activeTab = null;
+ public void encodeTabs(FacesContext context, UITabPanel tabPanel) throws IOException {
+ ComponentVariables componentVariables = ComponentsVariableResolver.getVariables(this, tabPanel);
- for (Iterator iter = pane.getTabs(); iter.hasNext() && activeTab == null;) {
- UITab tab = (UITab) iter.next();
+ Object value = tabPanel.getValue();
+ if (value instanceof String) {
+ if (((String) value).length() == 0) {
+ value = null;
+ }
+ }
+ if (value == null) {
+ value = tabPanel.getSelectedTab();
+ }
+ boolean useFirstRenderedTab = value == null;
+ UITabPanel pane = tabPanel;
+ UITab firstRenderedTab = null;
+ UITab activeTab = null;
- if (tab.isRendered()) {
- if (firstRenderedTab == null) {
- firstRenderedTab = tab;
- }
+ for (Iterator iter = pane.getTabs(); iter.hasNext() && activeTab == null;)
+ {
+ UITab tab = (UITab) iter.next();
- if (useFirstRenderedTab) {
- activeTab = firstRenderedTab;
- } else if (value.equals(tab.getName())) {
- activeTab = tab;
- }
+ if (tab.isRendered()) {
+ if (firstRenderedTab == null) {
+ firstRenderedTab = tab;
+ }
- } else {
- if (!useFirstRenderedTab) {
- if (value.equals(tab.getName())) {
- if (firstRenderedTab != null) {
- activeTab = firstRenderedTab;
- } else {
- useFirstRenderedTab = true;
- }
- }
- }
- }
- }
+ if (useFirstRenderedTab) {
+ activeTab = firstRenderedTab;
+ } else if (value.equals(tab.getName())) {
+ activeTab = tab;
+ }
- if (activeTab == null) {
- throw new IllegalStateException("No active tabs!");
- } else {
- tabPanel.setValue(activeTab.getName());
- }
+ } else {
+ if (!useFirstRenderedTab) {
+ if (value.equals(tab.getName())) {
+ if (firstRenderedTab != null) {
+ activeTab = firstRenderedTab;
+ } else {
+ useFirstRenderedTab = true;
+ }
+ }
+ }
+ }
+ }
- ArrayList tabs = new ArrayList();
- boolean clientSide = UISwitchablePanel.CLIENT_METHOD.equals(pane.getSwitchType());
+ if (activeTab == null) {
+ throw new IllegalStateException("No active tabs!");
+ } else {
+ tabPanel.setValue(activeTab.getName());
+ }
- TabInfoCollector tabInfoCollector = getTabInfoCollector();
+ ArrayList tabs = new ArrayList();
+ boolean clientSide = UISwitchablePanel.CLIENT_METHOD.equals(pane.getSwitchType());
- for (Iterator iter = pane.getTabs(); iter.hasNext();) {
- UITab tab = (UITab) iter.next();
- boolean active = activeTab == tab;
- tab.setActive(active);
+ TabInfoCollector tabInfoCollector = getTabInfoCollector();
- if (tab.isRendered()) {
- if (!clientSide) {
- clientSide = UISwitchablePanel.CLIENT_METHOD.equals(tab.getSwitchType());
- }
+ for (Iterator iter = pane.getTabs(); iter.hasNext();) {
+ UITab tab = (UITab) iter.next();
+ boolean active = activeTab == tab;
+ tab.setActive(active);
- tab.encodeTab(context, active);
+ if (tab.isRendered()) {
+ if (!clientSide) {
+ clientSide = UISwitchablePanel.CLIENT_METHOD.equals(tab.getSwitchType());
+ }
- if (!tab.isDisabled()) {
- tabs.add(tabInfoCollector.collectTabInfo(context, tab));
- }
- }
- }
+ tab.encodeTab(context, active);
- // Store flag for exist client-side tabs.
- componentVariables.setVariable("clientSide", new Boolean(clientSide));
- componentVariables.setVariable("tabs", tabs);
- }
+ if (!tab.isDisabled()) {
+ tabs.add(tabInfoCollector.collectTabInfo(context, tab));
+ }
+ }
+ }
- public static String getActiveTabCellClass(UITab tab) {
- return TabClassBuilder.activeTabClassBuilder.buildTabClass(tab);
- }
+ // Store flag for exist client-side tabs.
+ componentVariables.setVariable("clientSide", new Boolean(clientSide));
+ componentVariables.setVariable("tabs", tabs);
+ }
- public static String getDisabledTabCellClass(UITab tab) {
- return TabClassBuilder.disabledTabClassBuilder.buildTabClass(tab);
- }
+ public static String getActiveTabCellClass(UITab tab) {
+ return TabClassBuilder.activeTabClassBuilder.buildTabClass(tab);
+ }
- public static String getInactiveTabCellClass(UITab tab) {
- return TabClassBuilder.inactiveTabClassBuilder.buildTabClass(tab);
- }
+ public static String getDisabledTabCellClass(UITab tab) {
+ return TabClassBuilder.disabledTabClassBuilder.buildTabClass(tab);
+ }
+ public static String getInactiveTabCellClass(UITab tab) {
+ return TabClassBuilder.inactiveTabClassBuilder.buildTabClass(tab);
+ }
- public static String getActiveTabClass(UITab tab) {
- return TabClassBuilder.activeTabClassBuilder.buildTabClass(tab);
- }
- public static String getDisabledTabClass(UITab tab) {
- return TabClassBuilder.disabledTabClassBuilder.buildTabClass(tab);
- }
+ public static String getActiveTabClass(UITab tab) {
+ return TabClassBuilder.activeTabClassBuilder.buildTabClass(tab);
+ }
- public static String getInactiveTabClass(UITab tab) {
- return TabClassBuilder.inactiveTabClassBuilder.buildTabClass(tab);
- }
+ public static String getDisabledTabClass(UITab tab) {
+ return TabClassBuilder.disabledTabClassBuilder.buildTabClass(tab);
+ }
- /**
- * Encode JavaScript function for switch tabs.
- *
- * @param templateContext
- * @throws IOException
- */
- public void encodeTabsScript(FacesContext context, UITabPanel pane) throws IOException {
- ComponentVariables variables = ComponentsVariableResolver.getVariables(this, pane);
- ArrayList tabs = (ArrayList) variables.getVariable("tabs");
- // TODO - create tab control function.
- getUtils().writeScript(context,pane,"RichFaces.panelTabs['"+pane.getClientId(context)+"']="+ScriptUtils.toScript(tabs)+";");
- }
+ public static String getInactiveTabClass(UITab tab) {
+ return TabClassBuilder.inactiveTabClassBuilder.buildTabClass(tab);
+ }
+ /**
+ * Encode JavaScript function for switch tabs.
+ *
+ * @param context
+ * @throws IOException
+ */
+ public void encodeTabsScript(FacesContext context, UITabPanel pane) throws IOException {
+ ComponentVariables variables = ComponentsVariableResolver.getVariables(this, pane);
+ ArrayList tabs = (ArrayList) variables.getVariable("tabs");
+ // TODO - create tab control function.
+ getUtils().writeScript(context, pane, "RichFaces.panelTabs['" + pane.getClientId(context) + "']=" + ScriptUtils.toScript(tabs) + ";");
+ }
+
/* public String encodeHeaderSpacing(FacesContext context, UITabPanel pane) throws IOException {
String headerSpacing = pane.getHeaderSpacing();
Double decoded = HtmlDimensions.decode(headerSpacing);
@@ -301,9 +303,7 @@
}
} */
- protected TabInfoCollector getTabInfoCollector() {
- return collector;
- }
-
-
+ protected TabInfoCollector getTabInfoCollector() {
+ return collector;
+ }
}
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabRendererBase.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabRendererBase.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/TabRendererBase.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,105 +21,102 @@
package org.richfaces.renderkit;
-import java.io.IOException;
+import org.ajax4jsf.framework.renderer.RendererBase;
+import org.richfaces.component.TabEncoder;
+import org.richfaces.component.UISwitchablePanel;
+import org.richfaces.component.UITab;
import javax.faces.FacesException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
+import java.io.IOException;
-import org.ajax4jsf.framework.renderer.RendererBase;
-import org.richfaces.component.TabEncoder;
-import org.richfaces.component.UISwitchablePanel;
-import org.richfaces.component.UITab;
-
-
/**
* @author Nick Belaevski - nbelaevski(a)exadel.com
- * created 12.01.2007
- *
+ * created 12.01.2007
*/
public class TabRendererBase extends RendererBase implements TabEncoder {
- private RendererBase tabHeaderRenderer;
+ private RendererBase tabHeaderRenderer;
- public TabRendererBase() {
- super();
-
- Package pkg = this.getClass().getPackage();
- try {
- tabHeaderRenderer = (RendererBase) Class.forName(pkg.getName() + ".TabHeaderRenderer").newInstance();
- } catch (InstantiationException e) {
- throw new FacesException(e);
- } catch (IllegalAccessException e) {
- throw new FacesException(e);
- } catch (ClassNotFoundException e) {
- throw new FacesException(e);
- }
- }
-
- /**
- * Encode this tab header in Panel switch pane.
- * @param context
- * @param tab
- * @param active
- * @throws IOException
- */
- public void encodeTab(FacesContext context, UITab tab, boolean active) throws IOException {
- tabHeaderRenderer.encodeBegin(context, tab);
- tabHeaderRenderer.encodeEnd(context, tab);
- }
-
- public String getTabDisplay(FacesContext context, UITab tab) {
- if (!tab.isActive()) {
- return "display: none;";
- }
-
- return "";
- }
+ public TabRendererBase() {
+ super();
- protected boolean shouldRenderTab(UITab tab) {
- String method = tab.getSwitchType();
- return (tab.isActive() || UISwitchablePanel.CLIENT_METHOD.equals(method));
- }
-
- public void encodeBegin(FacesContext context, UIComponent component)
- throws IOException {
+ Package pkg = this.getClass().getPackage();
+ try {
+ tabHeaderRenderer = (RendererBase) Class.forName(pkg.getName() + ".TabHeaderRenderer").newInstance();
+ } catch (InstantiationException e) {
+ throw new FacesException(e);
+ } catch (IllegalAccessException e) {
+ throw new FacesException(e);
+ } catch (ClassNotFoundException e) {
+ throw new FacesException(e);
+ }
+ }
- UITab tab = (UITab) component;
- if (shouldRenderTab(tab)) {
- super.encodeBegin(context, component);
- }
- }
-
- public void encodeEnd(FacesContext context, UIComponent component)
- throws IOException {
+ /**
+ * Encode this tab header in Panel switch pane.
+ *
+ * @param context
+ * @param tab
+ * @param active
+ * @throws IOException
+ */
+ public void encodeTab(FacesContext context, UITab tab, boolean active) throws IOException {
+ tabHeaderRenderer.encodeBegin(context, tab);
+ tabHeaderRenderer.encodeEnd(context, tab);
+ }
- UITab tab = (UITab) component;
- if (shouldRenderTab(tab)) {
- super.encodeEnd(context, component);
- }
- }
-
- public void encodeChildren(FacesContext context, UIComponent component) throws IOException {
+ public String getTabDisplay(FacesContext context, UITab tab) {
+ if (!tab.isActive()) {
+ return "display: none;";
+ }
- UITab tab = (UITab) component;
- if (shouldRenderTab(tab)) {
- if ((tab.getChildren()!=null) && (tab.getChildren().size()>0)){
- renderChildren(context,component);
- }
- else{
- ResponseWriter out = context.getResponseWriter();
- out.write(" ");
- }
- }
- }
+ return "";
+ }
- protected Class getComponentClass() {
- return UITab.class;
- }
+ protected boolean shouldRenderTab(UITab tab) {
+ String method = tab.getSwitchType();
+ return (tab.isActive() || UISwitchablePanel.CLIENT_METHOD.equals(method));
+ }
- public boolean getRendersChildren() {
- return true;
- }
+ public void encodeBegin(FacesContext context, UIComponent component)
+ throws IOException {
+
+ UITab tab = (UITab) component;
+ if (shouldRenderTab(tab)) {
+ super.encodeBegin(context, component);
+ }
+ }
+
+ public void encodeEnd(FacesContext context, UIComponent component)
+ throws IOException {
+
+ UITab tab = (UITab) component;
+ if (shouldRenderTab(tab)) {
+ super.encodeEnd(context, component);
+ }
+ }
+
+ public void encodeChildren(FacesContext context, UIComponent component) throws IOException {
+
+ UITab tab = (UITab) component;
+ if (shouldRenderTab(tab)) {
+ if ((tab.getChildren() != null) && (tab.getChildren().size() > 0)) {
+ renderChildren(context, component);
+ } else {
+ ResponseWriter out = context.getResponseWriter();
+ out.write(" ");
+ }
+ }
+ }
+
+ protected Class getComponentClass() {
+ return UITab.class;
+ }
+
+ public boolean getRendersChildren() {
+ return true;
+ }
}
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabGradientA.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabGradientA.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabGradientA.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -26,11 +26,10 @@
/**
* @author Nick Belaevski - nbelaevski(a)exadel.com
- * created 02.02.2007
- *
+ * created 02.02.2007
*/
public class TabGradientA extends BaseGradient {
- public TabGradientA() {
- super(10, 40, 14, "tabBackgroundColor", Skin.generalBackgroundColor);
- }
+ public TabGradientA() {
+ super(10, 40, 14, "tabBackgroundColor", Skin.generalBackgroundColor);
+ }
}
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabGradientB.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabGradientB.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabGradientB.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -26,11 +26,10 @@
/**
* @author Nick Belaevski - nbelaevski(a)exadel.com
- * created 02.02.2007
- *
+ * created 02.02.2007
*/
public class TabGradientB extends BaseGradient {
- public TabGradientB() {
- super(10, 40, 12, Skin.generalBackgroundColor, "tabBackgroundColor");
- }
+ public TabGradientB() {
+ super(10, 40, 12, Skin.generalBackgroundColor, "tabBackgroundColor");
+ }
}
Modified: trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabStripeImage.java
===================================================================
--- trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabStripeImage.java 2007-04-12 16:23:41 UTC (rev 387)
+++ trunk/richfaces/tabPanel/src/main/java/org/richfaces/renderkit/images/TabStripeImage.java 2007-04-12 16:24:47 UTC (rev 388)
@@ -21,15 +21,6 @@
package org.richfaces.renderkit.images;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.RenderingHints;
-import java.awt.geom.Rectangle2D;
-import java.util.Date;
-
-import javax.faces.context.FacesContext;
-
import org.ajax4jsf.framework.resource.GifRenderer;
import org.ajax4jsf.framework.resource.InternetResourceBuilder;
import org.ajax4jsf.framework.resource.Java2Dresource;
@@ -38,56 +29,60 @@
import org.ajax4jsf.framework.skin.SkinFactory;
import org.ajax4jsf.framework.util.HtmlColor;
+import javax.faces.context.FacesContext;
+import java.awt.*;
+import java.awt.geom.Rectangle2D;
+import java.util.Date;
+
/**
* @author Nick - mailto:nbelaevski@exadel.com
- * created 02.02.2007
- *
+ * created 02.02.2007
*/
public class TabStripeImage extends Java2Dresource {
- private int width;
- private int height;
+ private int width;
+ private int height;
- public TabStripeImage() {
- super();
+ public TabStripeImage() {
+ super();
- this.width = 1;
- this.height = 200;
-
- setRenderer(new GifRenderer());
- setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
- }
-
- protected Object getDataToStore(FacesContext context, Object data) {
- Skin skin = SkinFactory.getInstance().getSkin(context);
-
- String color = (String) skin.getParameter(context, "panelBorderColor");
- return new Integer(HtmlColor.decode(color).getRGB());
- }
+ this.width = 1;
+ this.height = 200;
- protected Dimension getDimensions(ResourceContext resourceContext) {
- return getDimensions(null, restoreData(resourceContext));
- }
+ setRenderer(new GifRenderer());
+ setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+ }
- public Dimension getDimensions(FacesContext facesContext, Object data) {
- return new Dimension(width, height);
- }
+ protected Object getDataToStore(FacesContext context, Object data) {
+ Skin skin = SkinFactory.getInstance().getSkin(context);
- protected void paint(ResourceContext context, Graphics2D graphics2D) {
- super.paint(context, graphics2D);
+ String color = (String) skin.getParameter(context, "panelBorderColor");
+ return new Integer(HtmlColor.decode(color).getRGB());
+ }
- graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
- RenderingHints.VALUE_ANTIALIAS_ON);
- graphics2D.setRenderingHint(RenderingHints.KEY_DITHERING,
- RenderingHints.VALUE_DITHER_ENABLE);
- graphics2D.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING,
- RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+ protected Dimension getDimensions(ResourceContext resourceContext) {
+ return getDimensions(null, restoreData(resourceContext));
+ }
- Integer tabData = (Integer) restoreData(context);
+ public Dimension getDimensions(FacesContext facesContext, Object data) {
+ return new Dimension(width, height);
+ }
- Dimension dimension = getDimensions(context);
- Rectangle2D region = new Rectangle2D.Double(0, 1, dimension.getWidth(), dimension.getHeight() - 1);
-
- graphics2D.setColor(new Color(tabData.intValue()));
- graphics2D.fill(region);
- }
+ protected void paint(ResourceContext context, Graphics2D graphics2D) {
+ super.paint(context, graphics2D);
+
+ graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+ RenderingHints.VALUE_ANTIALIAS_ON);
+ graphics2D.setRenderingHint(RenderingHints.KEY_DITHERING,
+ RenderingHints.VALUE_DITHER_ENABLE);
+ graphics2D.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING,
+ RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+
+ Integer tabData = (Integer) restoreData(context);
+
+ Dimension dimension = getDimensions(context);
+ Rectangle2D region = new Rectangle2D.Double(0, 1, dimension.getWidth(), dimension.getHeight() - 1);
+
+ graphics2D.setColor(new Color(tabData.intValue()));
+ graphics2D.fill(region);
+ }
}
19 years
JBoss Rich Faces SVN: r387 - in trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces: renderkit/html and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: A.Skokov
Date: 2007-04-12 12:23:41 -0400 (Thu, 12 Apr 2007)
New Revision: 387
Modified:
trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces/event/SimpleToggleEvent.java
trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces/renderkit/html/SimpleTogglePanelRenderer.java
Log:
checkstyle
Modified: trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces/event/SimpleToggleEvent.java
===================================================================
--- trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces/event/SimpleToggleEvent.java 2007-04-12 16:11:53 UTC (rev 386)
+++ trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces/event/SimpleToggleEvent.java 2007-04-12 16:23:41 UTC (rev 387)
@@ -33,16 +33,17 @@
*/
public class SimpleToggleEvent extends ActionEvent {
- private static final long serialVersionUID = 5582624805941635421L;
- private boolean _opened;
+ private static final long serialVersionUID = 5582624805941635421L;
+ private boolean _opened;
- /**
- * @param component
- */
- public SimpleToggleEvent(UIComponent source, boolean opened) {
- super(source);
- this._opened = opened;
- }
+ /**
+ * @param source
+ * @param opened
+ */
+ public SimpleToggleEvent(UIComponent source, boolean opened) {
+ super(source);
+ this._opened = opened;
+ }
/* (non-Javadoc)
* @see javax.faces.event.FacesEvent#isAppropriateListener(javax.faces.event.FacesListener)
@@ -58,17 +59,18 @@
((ISimpleToggleListener) listener).processToggle(this);
}
- /**
- * @return Returns the _state.
- */
- public boolean isIsOpen() {
- return _opened;
- }
+ /**
+ * @return Returns the _state.
+ */
+ public boolean isIsOpen() {
+ return _opened;
+ }
- /**
- * @param _switchToState The _state to set.
- */
- public void setIsOpen(boolean opened) {
- this._opened = opened;
- }
+ /**
+ *
+ * @param opened The state to set
+ */
+ public void setIsOpen(boolean opened) {
+ this._opened = opened;
+ }
}
\ No newline at end of file
Modified: trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces/renderkit/html/SimpleTogglePanelRenderer.java
===================================================================
--- trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces/renderkit/html/SimpleTogglePanelRenderer.java 2007-04-12 16:11:53 UTC (rev 386)
+++ trunk/richfaces/simpleTogglePanel/src/main/java/org/richfaces/renderkit/html/SimpleTogglePanelRenderer.java 2007-04-12 16:23:41 UTC (rev 387)
@@ -25,12 +25,10 @@
package org.richfaces.renderkit.html;
import org.ajax4jsf.framework.renderer.AjaxRendererUtils;
-import org.ajax4jsf.framework.renderer.RendererUtils;
import org.richfaces.component.UISimpleTogglePanel;
import org.richfaces.event.SimpleToggleEvent;
import javax.faces.component.UIComponent;
-import javax.faces.component.UIForm;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
@@ -38,8 +36,8 @@
import java.io.IOException;
import java.util.Map;
-
//public class SimpleTogglePanelRenderer extends AjaxCommandLinkRenderer {
+
public class SimpleTogglePanelRenderer extends org.ajax4jsf.framework.renderer.HeaderResourcesRendererBase {
//XXXX by nick - denis - seems there is a lot of code common to org.richfaces.renderkit.html.ToggleControlRenderer. Please commonize!
//private InternetResource[] _scripts = {new PrototypeScript(), getResource("scripts/simpleTogglePanel.js") };
@@ -54,143 +52,129 @@
//}
- public boolean getRendersChildren() {
- return true;
- }
+ public boolean getRendersChildren() {
+ return true;
+ }
- public void doDecode(FacesContext context, UIComponent component) {
+ public void doDecode(FacesContext context, UIComponent component) {
- super.doDecode(context, component);
+ super.doDecode(context, component);
+ ExternalContext exCtx = context.getExternalContext();
+ Map rqMap = exCtx.getRequestParameterMap();
+ Object clnId = rqMap.get(component.getClientId(context));
+ UISimpleTogglePanel panel = (UISimpleTogglePanel) component;
- ExternalContext exCtx = context.getExternalContext();
+ if (clnId != null) {
+ // enqueue event here for this component or for component with Id
+ // taken fro forId attribute
- Map rqMap = exCtx.getRequestParameterMap();
- Object clnId = rqMap.get(component.getClientId(context));
- UISimpleTogglePanel panel = (UISimpleTogglePanel)component;
+ String switchType = panel.getSwitchType();
+ if (!(UISimpleTogglePanel.CLIENT_SWITCH_TYPE.equals(switchType))) {
- if(clnId!=null) {
- // enqueue event here for this component or for component with Id
- // taken fro forId attribute
+ //xxxx by nick - denis - use constants, please!
+ if ((panel.isOpened() == UISimpleTogglePanel.EXPANDED)) {
+ panel.setOpened(UISimpleTogglePanel.COLLAPSED);
+ } else {
+ //xxxx by nick - denis - use constants, please!
+ panel.setOpened(UISimpleTogglePanel.EXPANDED);
+ }
+ } else {
+ panel.setOpened(new Boolean((String) clnId).booleanValue());
+ }
- String switchType = panel.getSwitchType();
- if(!(UISimpleTogglePanel.CLIENT_SWITCH_TYPE.equals(switchType))){
- //xxxx by nick - denis - use constants, please!
- if ((panel.isOpened()==UISimpleTogglePanel.EXPANDED)){
- panel.setOpened(UISimpleTogglePanel.COLLAPSED);
- }
- else{
- //xxxx by nick - denis - use constants, please!
- panel.setOpened(UISimpleTogglePanel.EXPANDED);
- }
+ SimpleToggleEvent event = new SimpleToggleEvent(panel, (panel.isOpened()));
+ if (panel.isImmediate()) {
+ event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
+ } else {
+ event.setPhaseId(PhaseId.INVOKE_APPLICATION);
+ }
+ event.queue();
- }
- else{
- panel.setOpened(new Boolean((String)clnId).booleanValue());
- }
+ //xxx by nick - denis - same as in ToggleControlRenderer
+ if (!UISimpleTogglePanel.AJAX_SWITCH_TYPE.equals(panel.getSwitchType()))
+ {
+ ActionEvent actionEvent = new ActionEvent(component);
+ component.queueEvent(actionEvent);
+ }
+ }
+ }
+ public String getdivdisplay(FacesContext context, UIComponent component) {
+ String Switch = Boolean.toString(((UISimpleTogglePanel) component).isOpened());
+ if (Switch == null || Switch.equals(Boolean.toString(UISimpleTogglePanel.EXPANDED)))
+ {
+ //xxxx by nick - denis - do not set "block" explicitly - that can break some elements, set "" for display. See Element.show() in prototype.js
+ return "";
+ }
+ return "none";
+ }
- SimpleToggleEvent event = new SimpleToggleEvent(panel, (panel.isOpened()));
- if (panel.isImmediate()) {
- event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
- } else {
- event.setPhaseId(PhaseId.INVOKE_APPLICATION);
- }
- event.queue();
+ public String getOnClick(FacesContext context, UIComponent component) {
+ UISimpleTogglePanel tgComp = (UISimpleTogglePanel) component;
- //xxx by nick - denis - same as in ToggleControlRenderer
- if(!UISimpleTogglePanel.AJAX_SWITCH_TYPE.equals(panel.getSwitchType())) {
- ActionEvent actionEvent = new ActionEvent(component);
- component.queueEvent(actionEvent);
- }
- }
+ String switchType = tgComp.getSwitchType();
+ StringBuffer onClick = new StringBuffer();
+ //String userOnClick = (String)component.getAttributes().get("onclick");
+ //if(userOnClick!=null) {
+ // onClick.append(userOnClick);
+ // if(!userOnClick.trim().endsWith(";")) {
+ // onClick.append("; ");
+ // }
+ //}
- }
- public String getdivdisplay(FacesContext context, UIComponent component) {
+ if (UISimpleTogglePanel.CLIENT_SWITCH_TYPE.equals(switchType)) {
+ // Client
+ String panelId = tgComp.getClientId(context);
+ onClick.append("SimpleTogglePanelManager.toggleOnClient('")
+ .append(panelId)
+ .append("');");
+ } else if (UISimpleTogglePanel.AJAX_SWITCH_TYPE.equals(switchType)) {
+ // Ajax
+ // writer.writeAttribute(HTML.onclick_ATTRIBUTE,AjaxRendererUtils.buildOnClick(tab,context),"ajaxOnclick");
+ onClick.append(AjaxRendererUtils.buildOnClick(component, context));
+ //return super.getOnClick(context, component);
+ } else {
+ // Server
- String Switch = Boolean.toString(((UISimpleTogglePanel)component).isOpened());
- if (Switch == null || Switch.equals(Boolean.toString(UISimpleTogglePanel.EXPANDED))) {
- //xxxx by nick - denis - do not set "block" explicitly - that can break some elements, set "" for display. See Element.show() in prototype.js
- return "";
- }
- return "none";
- }
- public String getOnClick(FacesContext context, UIComponent component) {
- UISimpleTogglePanel tgComp = (UISimpleTogglePanel)component;
+ onClick.append("SimpleTogglePanelManager.toggleOnServer('")
+ .append(component.getClientId(context))
+ .append("'")
- String switchType = tgComp.getSwitchType();
- StringBuffer onClick = new StringBuffer();
- //String userOnClick = (String)component.getAttributes().get("onclick");
- //if(userOnClick!=null) {
- // onClick.append(userOnClick);
- // if(!userOnClick.trim().endsWith(";")) {
- // onClick.append("; ");
- // }
- //}
+ .append(");");
+ //.append(tgComp.getSwitch()==null?"'0'":"'" + tgComp.getSwitch() + "'")
+ //.append("")
+ }
+ return onClick.toString();
+ }
+ private String getDivId(String panelId, String state) {
+ if (state != null) {
+ return panelId + "_" + state;
+ }
+ return null;
+ }
- if(UISimpleTogglePanel.CLIENT_SWITCH_TYPE.equals(switchType)) {
- // Client
- String panelId = tgComp.getClientId(context);
- onClick.append("SimpleTogglePanelManager.toggleOnClient('")
- .append(panelId)
- .append("');");
- } else if(UISimpleTogglePanel.AJAX_SWITCH_TYPE.equals(switchType)) {
- // Ajax
- // writer.writeAttribute(HTML.onclick_ATTRIBUTE,AjaxRendererUtils.buildOnClick(tab,context),"ajaxOnclick");
- onClick.append(AjaxRendererUtils.buildOnClick(component,context));
- //return super.getOnClick(context, component);
- } else {
- // Server
+ protected String getValueAsString(FacesContext context, UISimpleTogglePanel Panel) {
+ return getUtils().getValueAsString(context, Panel);
+ }
-
- onClick.append("SimpleTogglePanelManager.toggleOnServer('")
- .append(component.getClientId(context))
- .append("'")
-
-
- .append(");");
- //.append(tgComp.getSwitch()==null?"'0'":"'" + tgComp.getSwitch() + "'")
- //.append("")
- }
- return onClick.toString();
- }
-
- private String getDivId(String panelId, String state) {
- if(state!=null) {
- return panelId + "_" + state;
- }
- return null;
- }
-
-
- protected String getValueAsString(FacesContext context, UISimpleTogglePanel Panel) {
- return getUtils().getValueAsString(context, Panel);
- }
-
-
- public void encodeChildren(FacesContext context, UIComponent component) throws IOException {
- // TODO Auto-generated method stub
- UISimpleTogglePanel comp=(UISimpleTogglePanel)component;
- //xxxx by nick - denis - use constants, please!
- if(!(((comp.getSwitchType()==null) || (comp.getSwitchType().equals(UISimpleTogglePanel.CLIENT_SWITCH_TYPE)!=true)) && (comp.isOpened()==UISimpleTogglePanel.COLLAPSED) )){
- super.encodeChildren(context, component);
- }
- }
-
-// private String getFormId(FacesContext context,UIComponent component) {
-// while (component != null && !(component instanceof UIForm)) {
-// component = component.getParent();
-// }
-// return component != null ? component.getClientId(context) : null;
-// }
+ public void encodeChildren(FacesContext context, UIComponent component) throws IOException {
+ // TODO Auto-generated method stub
+ UISimpleTogglePanel comp = (UISimpleTogglePanel) component;
+ //xxxx by nick - denis - use constants, please!
+ if (!(((comp.getSwitchType() == null) || (comp.getSwitchType().equals(UISimpleTogglePanel.CLIENT_SWITCH_TYPE) != true)) && (comp.isOpened() == UISimpleTogglePanel.COLLAPSED)))
+ {
+ super.encodeChildren(context, component);
+ }
+ }
}
\ No newline at end of file
19 years
JBoss Rich Faces SVN: r386 - in trunk/richfaces/separator/src: test/java/org/richfaces/component and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: A.Skokov
Date: 2007-04-12 12:11:53 -0400 (Thu, 12 Apr 2007)
New Revision: 386
Modified:
trunk/richfaces/separator/src/main/java/org/richfaces/renderkit/html/images/BevelSeparatorImage.java
trunk/richfaces/separator/src/main/java/org/richfaces/renderkit/html/images/SimpleSeparatorImage.java
trunk/richfaces/separator/src/test/java/org/richfaces/component/SeparatorComponentTest.java
Log:
test updated
Modified: trunk/richfaces/separator/src/main/java/org/richfaces/renderkit/html/images/BevelSeparatorImage.java
===================================================================
--- trunk/richfaces/separator/src/main/java/org/richfaces/renderkit/html/images/BevelSeparatorImage.java 2007-04-12 15:08:59 UTC (rev 385)
+++ trunk/richfaces/separator/src/main/java/org/richfaces/renderkit/html/images/BevelSeparatorImage.java 2007-04-12 16:11:53 UTC (rev 386)
@@ -21,18 +21,6 @@
package org.richfaces.renderkit.html.images;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.GradientPaint;
-import java.awt.Graphics2D;
-import java.awt.RenderingHints;
-import java.awt.Shape;
-import java.awt.geom.Rectangle2D;
-import java.io.Serializable;
-import java.util.Date;
-
-import javax.faces.context.FacesContext;
-
import org.ajax4jsf.framework.resource.GifRenderer;
import org.ajax4jsf.framework.resource.InternetResourceBuilder;
import org.ajax4jsf.framework.resource.Java2Dresource;
@@ -43,141 +31,153 @@
import org.ajax4jsf.framework.util.HtmlDimensions;
import org.richfaces.component.UISeparator;
+import javax.faces.context.FacesContext;
+import java.awt.*;
+import java.awt.geom.Rectangle2D;
+import java.io.Serializable;
+import java.util.Date;
+
/**
* @author Maksim Kaszynski, Filip Antonov
- *
*/
public class BevelSeparatorImage extends Java2Dresource {
-
- public BevelSeparatorImage() {
- setRenderer(new GifRenderer());
- setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
- }
-
- public Dimension getDimensions(FacesContext facesContext, Object data) {
- return calculateDimensions(getDataToStore(facesContext, data));
- }
- protected Dimension getDimensions(ResourceContext resourceContext) {
- return calculateDimensions(restoreData(resourceContext));
- }
-
- protected Dimension calculateDimensions(Object data) {
- return new Dimension(1, ((SeparatorData) data).getHeight());
- }
-
- protected void paint(ResourceContext context, Graphics2D g2d) {
- SeparatorData stored = (SeparatorData) restoreData(context);
- Color bg = new Color(stored.getBgColor());
- Color grad = new Color(stored.getGradColor());
- float [] grads = grad.getRGBComponents(null);
- int level3D = (stored.getLevel3D());
+
+ public BevelSeparatorImage() {
+ setRenderer(new GifRenderer());
+ setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+ }
+
+ public Dimension getDimensions(FacesContext facesContext, Object data) {
+ return calculateDimensions(getDataToStore(facesContext, data));
+ }
+
+ protected Dimension getDimensions(ResourceContext resourceContext) {
+ return calculateDimensions(restoreData(resourceContext));
+ }
+
+ protected Dimension calculateDimensions(Object data) {
+ return new Dimension(1, ((SeparatorData) data).getHeight());
+ }
+
+ protected void paint(ResourceContext context, Graphics2D g2d) {
+ SeparatorData stored = (SeparatorData) restoreData(context);
+ Color bg = new Color(stored.getBgColor());
+ Color grad = new Color(stored.getGradColor());
+ float [] grads = grad.getRGBComponents(null);
+ int level3D = (stored.getLevel3D());
Dimension dim = calculateDimensions(stored);
float height = (float) dim.getHeight();
float width = (float) dim.getWidth();
-
- g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
- g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
-
- Rectangle2D rect = new Rectangle2D.Double(0.0, 0.0, width, height);
- g2d.setColor(bg);
- g2d.fill(rect);
-
- if(level3D > 0){
- g2d.translate(0d, height / 18d);
- // Vertical cradient.
- float verticalOpacity = ((float)(level3D + 1)* 0.1f);
- if(verticalOpacity < 0) {
- verticalOpacity = 0;
- } else if(verticalOpacity > 1){
- verticalOpacity = 1;
- }
- g2d.setPaint(
- new GradientPaint(
- width / 2,
- 0f,
- new Color(
- grads[0],
- grads[1],
- grads[2],
- verticalOpacity),
- width / 2,
- height / 2,
- new Color(
- 1f,
- 1f,
- 1f,
- 0f)));
- g2d.fill(rect);
- verticalOpacity = ((float)(level3D - 1)* 0.1f);
- if(verticalOpacity < 0) {
- verticalOpacity = 0;
- } else if(verticalOpacity > 1){
- verticalOpacity = 1;
- }
- //XXX by nick - fantonov - get rid of get*() - store values in local var
- g2d.setPaint(new GradientPaint(width / 2, height /2, new Color(1f, 1f, 1f, 0f),
- width / 2, height * 0.75f, new Color(grads[0], grads[1], grads[2], verticalOpacity), true));
- Shape currentClip = g2d.getClip();
- Rectangle2D.Double clipRect = new Rectangle2D.Double(0, height /2, width * 2, height);
- g2d.setClip(clipRect);
- g2d.fill(rect);
- g2d.setClip(currentClip);
- }
-
- }
-
- protected Object getDataToStore(FacesContext context, Object data) {
- SeparatorData separatorData = new SeparatorData();
- Skin skin = SkinFactory.getInstance().getSkin(context);
-
- //XXX by nick - fantonov - ((UISeparator)data).getHeight() ?
- String tmp = (String) ((UISeparator) data).getHeight();
- separatorData.setHeight(HtmlDimensions.decode( tmp == null ? "6" : tmp ).intValue());
-
- tmp = (String) skin.getParameter(context, "interfaceLevel3D");
- separatorData.setLevel3D(HtmlDimensions.decode( tmp == null ? "5" : tmp ).intValue());
-
- tmp = (String) skin.getParameter(context, "headerBackgroundColor");
- separatorData.setBgColor(HtmlColor.decode( tmp == null ? "#4169E1" : tmp ).getRGB());
-
- tmp = (String) skin.getParameter(context, "overAllBackground");
- separatorData.setGradColor(HtmlColor.decode( tmp == null ? "#FFFFFF" : tmp ).getRGB());
-
- return separatorData;
- }
-
- protected static class SeparatorData implements Serializable{
- private static final long serialVersionUID = -6368074056069548706L;
- private int height;
- private int level3D;
- private int bgColor;
- private int gradColor;
-
- public int getBgColor() {
- return bgColor;
- }
- public void setBgColor(int bgColor) {
- this.bgColor = bgColor;
- }
- public int getGradColor() {
- return gradColor;
- }
- public void setGradColor(int gradColor) {
- this.gradColor = gradColor;
- }
- public int getHeight() {
- return height;
- }
- public void setHeight(int height) {
- this.height = height;
- }
- public int getLevel3D() {
- return level3D;
- }
- public void setLevel3D(int level3D) {
- this.level3D = level3D;
- }
- }
+ g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+ g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+ g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
+
+ Rectangle2D rect = new Rectangle2D.Double(0.0, 0.0, width, height);
+ g2d.setColor(bg);
+ g2d.fill(rect);
+
+ if (level3D > 0) {
+ g2d.translate(0d, height / 18d);
+ // Vertical cradient.
+ float verticalOpacity = ((float) (level3D + 1) * 0.1f);
+ if (verticalOpacity < 0) {
+ verticalOpacity = 0;
+ } else if (verticalOpacity > 1) {
+ verticalOpacity = 1;
+ }
+ g2d.setPaint(
+ new GradientPaint(
+ width / 2,
+ 0f,
+ new Color(
+ grads[0],
+ grads[1],
+ grads[2],
+ verticalOpacity),
+ width / 2,
+ height / 2,
+ new Color(
+ 1f,
+ 1f,
+ 1f,
+ 0f)));
+ g2d.fill(rect);
+ verticalOpacity = ((float) (level3D - 1) * 0.1f);
+ if (verticalOpacity < 0) {
+ verticalOpacity = 0;
+ } else if (verticalOpacity > 1) {
+ verticalOpacity = 1;
+ }
+ //XXX by nick - fantonov - get rid of get*() - store values in local var
+ g2d.setPaint(new GradientPaint(width / 2, height / 2, new Color(1f, 1f, 1f, 0f),
+ width / 2, height * 0.75f, new Color(grads[0], grads[1], grads[2], verticalOpacity), true));
+ Shape currentClip = g2d.getClip();
+ Rectangle2D.Double clipRect = new Rectangle2D.Double(0, height / 2, width * 2, height);
+ g2d.setClip(clipRect);
+ g2d.fill(rect);
+ g2d.setClip(currentClip);
+ }
+
+ }
+
+ protected Object getDataToStore(FacesContext context, Object data) {
+ SeparatorData separatorData = new SeparatorData();
+ Skin skin = SkinFactory.getInstance().getSkin(context);
+
+ //XXX by nick - fantonov - ((UISeparator)data).getHeight() ?
+ String tmp = (String) ((UISeparator) data).getHeight();
+ separatorData.setHeight(HtmlDimensions.decode(tmp == null ? "6" : tmp).intValue());
+
+ tmp = (String) skin.getParameter(context, "interfaceLevel3D");
+ separatorData.setLevel3D(HtmlDimensions.decode(tmp == null ? "5" : tmp).intValue());
+
+ tmp = (String) skin.getParameter(context, "headerBackgroundColor");
+ separatorData.setBgColor(HtmlColor.decode(tmp == null ? "#4169E1" : tmp).getRGB());
+
+ tmp = (String) skin.getParameter(context, "overAllBackground");
+ separatorData.setGradColor(HtmlColor.decode(tmp == null ? "#FFFFFF" : tmp).getRGB());
+
+ return separatorData;
+ }
+
+ protected static class SeparatorData implements Serializable {
+ private static final long serialVersionUID = -6368074056069548706L;
+ private int height;
+ private int level3D;
+ private int bgColor;
+ private int gradColor;
+
+ public int getBgColor() {
+ return bgColor;
+ }
+
+ public void setBgColor(int bgColor) {
+ this.bgColor = bgColor;
+ }
+
+ public int getGradColor() {
+ return gradColor;
+ }
+
+ public void setGradColor(int gradColor) {
+ this.gradColor = gradColor;
+ }
+
+ public int getHeight() {
+ return height;
+ }
+
+ public void setHeight(int height) {
+ this.height = height;
+ }
+
+ public int getLevel3D() {
+ return level3D;
+ }
+
+ public void setLevel3D(int level3D) {
+ this.level3D = level3D;
+ }
+ }
}
Modified: trunk/richfaces/separator/src/main/java/org/richfaces/renderkit/html/images/SimpleSeparatorImage.java
===================================================================
--- trunk/richfaces/separator/src/main/java/org/richfaces/renderkit/html/images/SimpleSeparatorImage.java 2007-04-12 15:08:59 UTC (rev 385)
+++ trunk/richfaces/separator/src/main/java/org/richfaces/renderkit/html/images/SimpleSeparatorImage.java 2007-04-12 16:11:53 UTC (rev 386)
@@ -21,16 +21,6 @@
package org.richfaces.renderkit.html.images;
-import java.awt.Color;
-import java.awt.Graphics2D;
-import java.awt.image.BufferedImage;
-import java.awt.image.RenderedImage;
-import java.io.Serializable;
-import java.util.Date;
-
-import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
-
import org.ajax4jsf.framework.resource.GifRenderer;
import org.ajax4jsf.framework.resource.InternetResourceBuilder;
import org.ajax4jsf.framework.resource.Java2Dresource;
@@ -41,123 +31,131 @@
import org.ajax4jsf.framework.util.HtmlDimensions;
import org.richfaces.component.UISeparator;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.awt.image.RenderedImage;
+import java.io.Serializable;
+import java.util.Date;
+
/**
* @author Konstantin Mishin, Filip Antonov
- *
*/
public class SimpleSeparatorImage extends Java2Dresource {
-
- //line type may be dotted, dashed, double or solid.
- private static final int LINE_TYPE_DOTTED = 1;
- private static final int LINE_TYPE_DASHED = 2;
- private static final int LINE_TYPE_DOUBLE = 3;
- private static final int LINE_TYPE_SOLID = 4;
-
- public SimpleSeparatorImage() {
- setRenderer(new GifRenderer());
- setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
- }
-
- protected RenderedImage getImage(ResourceContext context) {
- SimpleSeparatorData separatorData = (SimpleSeparatorData) restoreData(context);
- Color color = new Color(separatorData.getColor());
- int height = separatorData.getHeight();
- int lineType = separatorData.getLineType();
- if (height<=0) height = 1;
- Graphics2D g2d = null;
-
- //XXX by nick - fantonov - please use switch-case blocks here
- switch (lineType) {
- case LINE_TYPE_DOTTED:
- BufferedImage bufferedImage = new BufferedImage(3*height, height, BufferedImage.TYPE_INT_ARGB);
- g2d = (Graphics2D) bufferedImage.createGraphics();
- g2d.setColor(color);
- g2d.fillRect(0, 0, height, height);
-/* for (int i = 0; i < height; i++)
- for (int j = 0; j < height; j++)
- bufferedImage.setRGB(i, j, color); */
- return bufferedImage;
-
- case LINE_TYPE_DASHED:
- bufferedImage = new BufferedImage(4*height, height, BufferedImage.TYPE_INT_ARGB);
- g2d = (Graphics2D) bufferedImage.createGraphics();
- g2d.setColor(color);
- g2d.fillRect(0, 0, 3*height, height);
-/* for (int i = 0; i < height*3; i++)
- for (int j = 0; j < height; j++)
- bufferedImage.setRGB(i, j, color); */
- return bufferedImage;
-
- case LINE_TYPE_DOUBLE:
- bufferedImage = new BufferedImage(1, height, BufferedImage.TYPE_INT_ARGB);
- int lineHeight = Math.round((float) height/3);
- g2d = (Graphics2D) bufferedImage.createGraphics();
- g2d.setColor(color);
- g2d.fillRect(0, 0, 1, lineHeight);
- g2d.fillRect(0, height-lineHeight, 1, lineHeight);
+
+ //line type may be dotted, dashed, double or solid.
+ private static final int LINE_TYPE_DOTTED = 1;
+ private static final int LINE_TYPE_DASHED = 2;
+ private static final int LINE_TYPE_DOUBLE = 3;
+ private static final int LINE_TYPE_SOLID = 4;
+
+ public SimpleSeparatorImage() {
+ setRenderer(new GifRenderer());
+ setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+ }
+
+ protected RenderedImage getImage(ResourceContext context) {
+ SimpleSeparatorData separatorData = (SimpleSeparatorData) restoreData(context);
+ Color color = new Color(separatorData.getColor());
+ int height = separatorData.getHeight();
+ int lineType = separatorData.getLineType();
+ if (height <= 0) height = 1;
+ Graphics2D g2d = null;
+
+ //XXX by nick - fantonov - please use switch-case blocks here
+ switch (lineType) {
+ case LINE_TYPE_DOTTED:
+ BufferedImage bufferedImage = new BufferedImage(3 * height, height, BufferedImage.TYPE_INT_ARGB);
+ g2d = (Graphics2D) bufferedImage.createGraphics();
+ g2d.setColor(color);
+ g2d.fillRect(0, 0, height, height);
+ return bufferedImage;
+
+ case LINE_TYPE_DASHED:
+ bufferedImage = new BufferedImage(4 * height, height, BufferedImage.TYPE_INT_ARGB);
+ g2d = (Graphics2D) bufferedImage.createGraphics();
+ g2d.setColor(color);
+ g2d.fillRect(0, 0, 3 * height, height);
+ return bufferedImage;
+
+ case LINE_TYPE_DOUBLE:
+ bufferedImage = new BufferedImage(1, height, BufferedImage.TYPE_INT_ARGB);
+ int lineHeight = Math.round((float) height / 3);
+ g2d = (Graphics2D) bufferedImage.createGraphics();
+ g2d.setColor(color);
+ g2d.fillRect(0, 0, 1, lineHeight);
+ g2d.fillRect(0, height - lineHeight, 1, lineHeight);
// for (int i = 0; i < lineHeight; i++) bufferedImage.setRGB(0, i, color);
// for (int i = height-lineHeight; i < height; i++) bufferedImage.setRGB(0, i, color);
- return bufferedImage;
-
- case LINE_TYPE_SOLID:
- bufferedImage = new BufferedImage(1, height, BufferedImage.TYPE_INT_ARGB);
- g2d = (Graphics2D) bufferedImage.createGraphics();
- g2d.setColor(color);
- g2d.fillRect(0, 0, 1, height);
+ return bufferedImage;
+
+ case LINE_TYPE_SOLID:
+ bufferedImage = new BufferedImage(1, height, BufferedImage.TYPE_INT_ARGB);
+ g2d = (Graphics2D) bufferedImage.createGraphics();
+ g2d.setColor(color);
+ g2d.fillRect(0, 0, 1, height);
// for (int i = 0; i < height; i++) bufferedImage.setRGB(0, i, color);
- return bufferedImage;
- }
- return null;
- }
-
- protected Object getDataToStore(FacesContext context, Object data) {
- SimpleSeparatorData separatorData = new SimpleSeparatorData();
- Skin skin = SkinFactory.getInstance().getSkin(context);
-
- String tmp = (String) ((UIComponent) data).getAttributes().get("height");
- separatorData.setHeight(HtmlDimensions.decode( tmp == null ? "6" : tmp ).intValue());
-
- tmp = (String) skin.getParameter(context, "headerBackgroundColor");
- separatorData.setColor(HtmlColor.decode( tmp == null ? "#4169E1" : tmp ).getRGB());
-
- //XXX by nick - fantonov - ((UISeparator)data).getLineType() ?
- tmp = (String) ((UISeparator)data).getLineType();
- int lineType = LINE_TYPE_SOLID;
- if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DOTTED)) {lineType = LINE_TYPE_DOTTED;}
- else if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DASHED)) {lineType = LINE_TYPE_DASHED;}
- else if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DOUBLE) && separatorData.getHeight() > 2)
- {lineType = LINE_TYPE_DOUBLE;}
- separatorData.setLineType(lineType);
- return separatorData;
- }
-
- protected static class SimpleSeparatorData implements Serializable{
-
- /**
- *
- */
- private static final long serialVersionUID = -4420043779436390358L;
- private int height;
- private int color;
- private int lineType;
-
- public int getHeight() {
- return height;
- }
- public void setHeight(int height) {
- this.height = height;
- }
- public int getColor() {
- return color;
- }
- public void setColor(int color) {
- this.color = color;
- }
- public int getLineType() {
- return lineType;
- }
- public void setLineType(int lineType) {
- this.lineType = lineType;
- }
- }
+ return bufferedImage;
+ }
+ return null;
+ }
+
+ protected Object getDataToStore(FacesContext context, Object data) {
+ SimpleSeparatorData separatorData = new SimpleSeparatorData();
+ Skin skin = SkinFactory.getInstance().getSkin(context);
+
+ String tmp = (String) ((UIComponent) data).getAttributes().get("height");
+ separatorData.setHeight(HtmlDimensions.decode(tmp == null ? "6" : tmp).intValue());
+
+ tmp = (String) skin.getParameter(context, "headerBackgroundColor");
+ separatorData.setColor(HtmlColor.decode(tmp == null ? "#4169E1" : tmp).getRGB());
+
+ //XXX by nick - fantonov - ((UISeparator)data).getLineType() ?
+ tmp = (String) ((UISeparator) data).getLineType();
+ int lineType = LINE_TYPE_SOLID;
+ if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DOTTED)) {
+ lineType = LINE_TYPE_DOTTED;
+ } else if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DASHED)) {
+ lineType = LINE_TYPE_DASHED;
+ } else
+ if (tmp.equalsIgnoreCase(UISeparator.LINE_TYPE_DOUBLE) && separatorData.getHeight() > 2)
+ {
+ lineType = LINE_TYPE_DOUBLE;
+ }
+ separatorData.setLineType(lineType);
+ return separatorData;
+ }
+
+ protected static class SimpleSeparatorData implements Serializable {
+
+ private static final long serialVersionUID = -4420043779436390358L;
+ private int height;
+ private int color;
+ private int lineType;
+
+ public int getHeight() {
+ return height;
+ }
+
+ public void setHeight(int height) {
+ this.height = height;
+ }
+
+ public int getColor() {
+ return color;
+ }
+
+ public void setColor(int color) {
+ this.color = color;
+ }
+
+ public int getLineType() {
+ return lineType;
+ }
+
+ public void setLineType(int lineType) {
+ this.lineType = lineType;
+ }
+ }
}
Modified: trunk/richfaces/separator/src/test/java/org/richfaces/component/SeparatorComponentTest.java
===================================================================
--- trunk/richfaces/separator/src/test/java/org/richfaces/component/SeparatorComponentTest.java 2007-04-12 15:08:59 UTC (rev 385)
+++ trunk/richfaces/separator/src/test/java/org/richfaces/component/SeparatorComponentTest.java 2007-04-12 16:11:53 UTC (rev 386)
@@ -23,13 +23,19 @@
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.Page;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+import org.ajax4jsf.framework.resource.InternetResourceBuilder;
+import org.ajax4jsf.framework.resource.ResourceBuilderImpl;
+import org.ajax4jsf.framework.resource.InternetResource;
+import org.ajax4jsf.framework.util.image.ImageInfo;
import org.richfaces.renderkit.html.SeparatorRendererBase;
import javax.faces.component.UIComponent;
import javax.faces.component.UIOutput;
import javax.faces.component.html.HtmlForm;
import javax.faces.component.html.HtmlOutputText;
+import javax.servlet.http.HttpServletResponse;
/**
* Unit test for Separator component.
@@ -105,4 +111,34 @@
String styleAttr = div2.getAttributeValue("style");
assertTrue(styleAttr.contains("org.richfaces.renderkit.html.images.BevelSeparatorImage"));
}
+
+ public void testRenderImage() throws Exception {
+ InternetResourceBuilder builder = ResourceBuilderImpl.getInstance();
+
+ ui.setLineType(UISeparator.LINE_TYPE_BEVEL);
+ renderView();
+ InternetResource resource = builder.getResource("org.richfaces.renderkit.html.images.BevelSeparatorImage");
+ assertNotNull(resource);
+ String uri = "http:" + resource.getUri(facesContext, ui);
+ Page page = webClient.getPage(uri);
+ assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
+ ImageInfo info = new ImageInfo();
+ info.setInput(page.getWebResponse().getContentAsStream());
+ //image recognizable?
+ assertTrue(info.check());
+ assertEquals(ImageInfo.FORMAT_GIF, info.getFormat());
+
+ ui.setLineType(UISeparator.LINE_TYPE_SOLID);
+ renderView();
+ resource = builder.getResource("org.richfaces.renderkit.html.images.SimpleSeparatorImage");
+ assertNotNull(resource);
+ uri = "http:" + resource.getUri(facesContext, ui);
+ page = webClient.getPage(uri);
+ assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
+ info = new ImageInfo();
+ info.setInput(page.getWebResponse().getContentAsStream());
+ //image recognizable?
+ assertTrue(info.check());
+ assertEquals(ImageInfo.FORMAT_GIF, info.getFormat());
+ }
}
19 years
JBoss Rich Faces SVN: r385 - trunk/richfaces/menu-components/src/main/templates/org/richfaces.
by richfaces-svn-commits@lists.jboss.org
Author: a.izobov
Date: 2007-04-12 11:08:59 -0400 (Thu, 12 Apr 2007)
New Revision: 385
Modified:
trunk/richfaces/menu-components/src/main/templates/org/richfaces/htmlMenuGroup.jspx
Log:
id for folder div added
Modified: trunk/richfaces/menu-components/src/main/templates/org/richfaces/htmlMenuGroup.jspx
===================================================================
--- trunk/richfaces/menu-components/src/main/templates/org/richfaces/htmlMenuGroup.jspx 2007-04-12 15:06:39 UTC (rev 384)
+++ trunk/richfaces/menu-components/src/main/templates/org/richfaces/htmlMenuGroup.jspx 2007-04-12 15:08:59 UTC (rev 385)
@@ -57,7 +57,7 @@
</span>
<a id="ref#{clientId}:anchor" class="dr-menu-label rich-menu-item-label" href="#">#{component.attributes['value']}</a>
- <div id="#{clientId}" class="dr-menu-node rich-menu-item-folder"/>
+ <div id="ref#{clientId}:folder" class="dr-menu-node rich-menu-item-folder"/>
</div>
@@ -89,7 +89,7 @@
<span class="dr-menu-label dr-menu-label-disabled rich-menu-item-label-disabled">#{component.attributes['value']}</span>
- <div class="dr-menu-node rich-menu-item-folder-disabled"/>
+ <div id="ref#{clientId}:folder" class="dr-menu-node rich-menu-item-folder-disabled"/>
</div>
<jsp:scriptlet><![CDATA[}]]></jsp:scriptlet>
19 years
JBoss Rich Faces SVN: r384 - trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css.
by richfaces-svn-commits@lists.jboss.org
Author: a.izobov
Date: 2007-04-12 11:06:39 -0400 (Thu, 12 Apr 2007)
New Revision: 384
Modified:
trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss
Log:
changing in reposition menu and submenu
Modified: trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss
===================================================================
--- trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss 2007-04-12 15:04:22 UTC (rev 383)
+++ trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/css/dropdownmenu.xcss 2007-04-12 15:06:39 UTC (rev 384)
@@ -29,6 +29,7 @@
font-size : 11px;
width : 75px;
height : 18px;
+ position: relative;
}
.dr-menu-label-unselect {
border : 1px solid transparent;
19 years
JBoss Rich Faces SVN: r383 - trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts.
by richfaces-svn-commits@lists.jboss.org
Author: a.izobov
Date: 2007-04-12 11:04:22 -0400 (Thu, 12 Apr 2007)
New Revision: 383
Modified:
trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js
Log:
changing in reposition menu and submenu
Modified: trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js
===================================================================
--- trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js 2007-04-12 09:42:23 UTC (rev 382)
+++ trunk/richfaces/dropdown-menu/src/main/resources/org/richfaces/renderkit/html/scripts/menu.js 2007-04-12 15:04:22 UTC (rev 383)
@@ -452,7 +452,13 @@
var windowHeight = win.height;
var windowWidth = win.width;
- var screenOffset = Position.cumulativeOffset(this.element);
+
+// var screenOffset = Position.cumulativeOffset(this.element);
+// if (Element.getStyle(this.element, 'position') == 'absolute') {
+// screenOffset[0] = 0;
+// screenOffset[1] = 0;
+// }
+ var screenOffset = Position.positionedOffset(this.element);
var dim = Element.getDimensions(this.element);
// parent element
@@ -502,8 +508,8 @@
if (!foundPos) {
layerPos = this.calcPosition(listPos[0].jointPoint, listPos[0].direction)
}
- this.layer.style.left = layerPos.left + hOffset + "px";
- this.layer.style.top = layerPos.top + vOffset + "px";
+ this.layer.style.left = layerPos.left + hOffset - this.left + "px";
+ this.layer.style.top = layerPos.top + vOffset - this.top + "px";
Exadel.Menu.Layers.LMPopUp(this.layer.id, false);
Exadel.Menu.Layers.clearLMTO();
@@ -517,6 +523,9 @@
this.event = e;
this.element = Event.findElement(e, 'div');
+ if (this.element.id.indexOf(":folder") == (this.element.id.length -7) ) {
+ this.element = this.element.parentNode;
+ }
this.layer = $(layer);
this.show = function() {
@@ -532,7 +541,12 @@
var windowHeight = body.height;
var windowWidth = body.width;
var scrolls = {top:0, left:0};
- var screenOffset = Position.cumulativeOffset(this.element);
+ var screenOffset = Position.positionedOffset(this.element);
+ var screenOffsetParent = Position.positionedOffset(this.element.parentNode.parentNode);
+ screenOffset[0]+=screenOffsetParent[0];
+ screenOffset[1]+=screenOffsetParent[1];
+ var cumulativeOffset = Position.cumulativeOffset(this.element);
+ var labelOffset = [cumulativeOffset[0] - screenOffset[0], cumulativeOffset[1] - screenOffset[1]];
var dim = Element.getDimensions(this.element);
var top = screenOffset[1] + scrolls.top;
var bottom = top + dim.height;
@@ -551,35 +565,37 @@
var layerTop = top;
if (dir == 0) {
- if (layerLeft + layerdim.width >= windowWidth) {
- var invisibleRight = layerLeft + layerdim.width - windowWidth;
+ if (layerLeft + layerdim.width + labelOffset[0] >= windowWidth) {
+ var invisibleRight = layerLeft + layerdim.width + labelOffset[0] - windowWidth;
layerLeft = left - layerdim.width;
}
- if (layerLeft < 0) {
- if (Math.abs(layerLeft) > invisibleRight) {
+ if (layerLeft + labelOffset[0] < 0) {
+ if (Math.abs(layerLeft + labelOffset[0]) > invisibleRight) {
layerLeft = right;
}
}
- if (layerTop + layerdim.height >= windowHeight) {
- var invisibleBottom = layerTop + layerdim.height - windowHeight;
- var items = this.layer.firstChild.childNodes;
- if (items.length > 0) {
- var lastItem = items[items.length-1];
- var layerOffset = Position.cumulativeOffset(this.layer);
- var itemOffset = Position.cumulativeOffset(lastItem);
- layerTop = top -(itemOffset[1]-layerOffset[1]);
- if (layerTop < 0) {
- if (Math.abs(layerTop) > invisibleBottom) layerTop = top;
- }
- }
-
- }
} else if (dir == 1) {
layerLeft = left - layerdim.width;
}
+ if (layerTop + layerdim.height + labelOffset[1] >= windowHeight) {
+ var invisibleBottom = layerTop + layerdim.height + labelOffset[1] - windowHeight;
+ var items = this.layer.firstChild.childNodes;
+ if (items.length > 0) {
+ var lastItem = items[items.length-1];
+// var layerOffset = Position.cumulativeOffset(this.layer);
+ var itemOffset = Position.positionedOffset(lastItem);
+// layerTop = top -(itemOffset[1]-layerOffset[1]);
+ layerTop = top - itemOffset[1];
+ if (layerTop < 0) {
+ if (Math.abs(layerTop) > invisibleBottom) layerTop = top;
+ }
+ }
+
+ }
+
/* if (layerLeft + layerdim.width >= windowWidth) {
layerLeft = left - layerdim.width + Exadel.Menu.Layers.shadowWidth;
}
19 years
JBoss Rich Faces SVN: r382 - trunk/richfaces/common/src/test/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-04-12 05:42:23 -0400 (Thu, 12 Apr 2007)
New Revision: 382
Modified:
trunk/richfaces/common/src/test/java/org/richfaces/renderkit/InputRendererBaseTest.java
Log:
Extra a4j import removed
Modified: trunk/richfaces/common/src/test/java/org/richfaces/renderkit/InputRendererBaseTest.java
===================================================================
--- trunk/richfaces/common/src/test/java/org/richfaces/renderkit/InputRendererBaseTest.java 2007-04-12 09:38:30 UTC (rev 381)
+++ trunk/richfaces/common/src/test/java/org/richfaces/renderkit/InputRendererBaseTest.java 2007-04-12 09:42:23 UTC (rev 382)
@@ -30,7 +30,6 @@
import javax.faces.convert.Converter;
import javax.faces.convert.IntegerConverter;
-import org.ajax4jsf.ajax.ActionListenerTest.Bean;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
import junit.framework.TestCase;
19 years
JBoss Rich Faces SVN: r381 - in trunk/richfaces: common/src/main/java/org/richfaces/renderkit and 5 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-04-12 05:38:30 -0400 (Thu, 12 Apr 2007)
New Revision: 381
Added:
trunk/richfaces/common/src/test/java/org/richfaces/renderkit/InputRendererBaseTest.java
Modified:
trunk/richfaces/assembly/
trunk/richfaces/common/src/main/java/org/richfaces/renderkit/AttributeParametersEncoder.java
trunk/richfaces/common/src/test/java/org/richfaces/renderkit/CompositeRendererTest.java
trunk/richfaces/inputnumber-slider/
trunk/richfaces/inputnumber-spinner/
trunk/richfaces/paint2D/
trunk/richfaces/spacer/
Log:
AttributeParametersEncoder.java refactored - extra method removed, test updated
InputRendererBaseTest.java added
Property changes on: trunk/richfaces/assembly
___________________________________________________________________
Name: svn:ignore
- target
+ target
.classpath
.project
.settings
Modified: trunk/richfaces/common/src/main/java/org/richfaces/renderkit/AttributeParametersEncoder.java
===================================================================
--- trunk/richfaces/common/src/main/java/org/richfaces/renderkit/AttributeParametersEncoder.java 2007-04-12 09:33:50 UTC (rev 380)
+++ trunk/richfaces/common/src/main/java/org/richfaces/renderkit/AttributeParametersEncoder.java 2007-04-12 09:38:30 UTC (rev 381)
@@ -33,5 +33,4 @@
*/
public interface AttributeParametersEncoder {
public void doEncode(FacesContext context, UIComponent component) throws IOException;
- public String doEncodeAsString(FacesContext context, UIComponent component) throws IOException;
}
Modified: trunk/richfaces/common/src/test/java/org/richfaces/renderkit/CompositeRendererTest.java
===================================================================
--- trunk/richfaces/common/src/test/java/org/richfaces/renderkit/CompositeRendererTest.java 2007-04-12 09:33:50 UTC (rev 380)
+++ trunk/richfaces/common/src/test/java/org/richfaces/renderkit/CompositeRendererTest.java 2007-04-12 09:38:30 UTC (rev 381)
@@ -489,10 +489,4 @@
context.getResponseWriter().writeAttribute("test" + attributeName, component.getAttributes().get(attributeName)
, null);
}
-
- public String doEncodeAsString(FacesContext context, UIComponent component)
- throws IOException {
- return "test" + attributeName + "=" + component.getAttributes().get(attributeName) + ";";
- }
-
}
Added: trunk/richfaces/common/src/test/java/org/richfaces/renderkit/InputRendererBaseTest.java
===================================================================
--- trunk/richfaces/common/src/test/java/org/richfaces/renderkit/InputRendererBaseTest.java (rev 0)
+++ trunk/richfaces/common/src/test/java/org/richfaces/renderkit/InputRendererBaseTest.java 2007-04-12 09:38:30 UTC (rev 381)
@@ -0,0 +1,192 @@
+/**
+ * License Agreement.
+ *
+ * JBoss RichFaces 3.0 - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007 Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+package org.richfaces.renderkit;
+
+import java.util.List;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIForm;
+import javax.faces.component.UIInput;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+import javax.faces.convert.IntegerConverter;
+
+import org.ajax4jsf.ajax.ActionListenerTest.Bean;
+import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Nick - mailto:nbelaevski@exadel.com
+ * created 12.04.2007
+ *
+ */
+public class InputRendererBaseTest extends AbstractAjax4JsfTestCase {
+
+ private static final String TYPE = "test.Type";
+
+ private UIInput input;
+
+ public InputRendererBaseTest(String name) {
+ super(name);
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ public void setUp() throws Exception {
+ super.setUp();
+
+ List children = facesContext.getViewRoot().getChildren();
+ UIComponent form = application.createComponent(UIForm.COMPONENT_TYPE);
+ children.add(form);
+ input = (UIInput) createComponent(TYPE, UIInput.class.getName(), "test.Renderer",
+ InputRendererBase.class, null);
+ form.getChildren().add(input);
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#tearDown()
+ */
+ public void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testDoDecode() throws Exception {
+ externalContext.addRequestParameterMap(
+ input.getClientId(facesContext),
+ "12;true");
+
+ assertNull(input.getSubmittedValue());
+ input.decode(facesContext);
+ assertEquals("12;true", input.getSubmittedValue());
+ assertTrue(input.isValid());
+ }
+
+ public void testDoSkipDecode() throws Exception {
+ externalContext.addRequestParameterMap(
+ input.getClientId(facesContext) + ":aaa",
+ "12;true");
+
+ assertNull(input.getSubmittedValue());
+ input.decode(facesContext);
+ assertNull(input.getSubmittedValue());
+ assertTrue(input.isValid());
+ }
+
+ public void testGetConvertedValue() throws Exception {
+ input.setConverter(new InputRendererBaseMockConverter());
+ input.setSubmittedValue("12;true");
+
+ assertTrue(input.isValid());
+ input.validate(facesContext);
+
+ InputRendererBaseMockConverterBean value =
+ (InputRendererBaseMockConverterBean) input.getValue();
+
+ assertEquals(12, value.getFirst());
+ assertEquals(true, value.getSecond());
+ }
+
+ public void testGetInputValue() throws Exception {
+ InputRendererBaseMockConverterBean value =
+ new InputRendererBaseMockConverterBean();
+
+ value.setFirst(44);
+ value.setSecond(true);
+
+ input.setValue(value);
+ input.setConverter(new InputRendererBaseMockConverter());
+
+ String strValue = new InputRendererBase().getInputValue(facesContext, input);
+ assertEquals("44;true", strValue);
+
+ input.setValue(null);
+ strValue = new InputRendererBase().getInputValue(facesContext, input);
+ assertEquals("", strValue);
+
+ input.setValue(value);
+ input.setSubmittedValue("444");
+ strValue = new InputRendererBase().getInputValue(facesContext, input);
+ assertEquals("444", strValue);
+
+ input.setSubmittedValue(null);
+ input.setValue(value);
+ input.setConverter(null);
+ strValue = new InputRendererBase().getInputValue(facesContext, input);
+ assertEquals("true:44", strValue);
+
+ input.setValue(null);
+ input.setConverter(null);
+ strValue = new InputRendererBase().getInputValue(facesContext, input);
+ assertEquals("", strValue);
+ }
+}
+
+class InputRendererBaseMockConverterBean {
+
+ int first;
+ boolean second;
+ public int getFirst() {
+ return first;
+ }
+ public void setFirst(int first) {
+ this.first = first;
+ }
+ public boolean getSecond() {
+ return second;
+ }
+ public void setSecond(boolean second) {
+ this.second = second;
+ }
+
+ public String toString() {
+ return second + ":" + first;
+ }
+}
+
+class InputRendererBaseMockConverter implements Converter {
+
+ /* (non-Javadoc)
+ * @see javax.faces.convert.Converter#getAsObject(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.String)
+ */
+ public Object getAsObject(FacesContext context, UIComponent comp, String str) {
+ InputRendererBaseMockConverterBean bean = new InputRendererBaseMockConverterBean();
+ String[] values = str.split(";");
+ bean.setFirst(Integer.parseInt(values[0]));
+ bean.setSecond(Boolean.valueOf(values[1]).booleanValue());
+ return bean;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.faces.convert.Converter#getAsString(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
+ */
+ public String getAsString(FacesContext context, UIComponent comp, Object value) {
+ if (value == null) {
+ return null;
+ }
+
+ InputRendererBaseMockConverterBean bean = (InputRendererBaseMockConverterBean) value;
+ return String.valueOf(bean.getFirst())+";"+String.valueOf(bean.getSecond());
+ }
+
+}
Property changes on: trunk/richfaces/inputnumber-slider
___________________________________________________________________
Name: svn:ignore
- target
.settings
.classpath
.project
+ target
.settings
.classpath
.project
.clover
Property changes on: trunk/richfaces/inputnumber-spinner
___________________________________________________________________
Name: svn:ignore
- target
.settings
.classpath
.project
+ target
.settings
.classpath
.project
.clover
Property changes on: trunk/richfaces/paint2D
___________________________________________________________________
Name: svn:ignore
- target
.settings
.classpath
.project
+ target
.settings
.classpath
.project
.clover
Property changes on: trunk/richfaces/spacer
___________________________________________________________________
Name: svn:ignore
- target
.settings
.classpath
.project
+ target
.settings
.classpath
.project
.clover
19 years
JBoss Rich Faces SVN: r380 - trunk/richfaces/menu-components/src/test/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: F.antonov
Date: 2007-04-12 05:33:50 -0400 (Thu, 12 Apr 2007)
New Revision: 380
Modified:
trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java
Log:
MenuItem test cases development.
Modified: trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java
===================================================================
--- trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java 2007-04-12 09:22:43 UTC (rev 379)
+++ trunk/richfaces/menu-components/src/test/java/org/richfaces/component/MenuItemComponentTest.java 2007-04-12 09:33:50 UTC (rev 380)
@@ -31,228 +31,248 @@
import javax.faces.component.html.HtmlForm;
import javax.faces.component.html.HtmlOutputText;
import javax.faces.event.PhaseId;
+import javax.servlet.http.HttpServletResponse;
import org.richfaces.component.html.HtmlMenuItem;
+import com.gargoylesoftware.htmlunit.Page;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlScript;
+import org.ajax4jsf.framework.resource.InternetResource;
+import org.ajax4jsf.framework.resource.InternetResourceBuilder;
+import org.ajax4jsf.framework.resource.ResourceBuilderImpl;
+import org.ajax4jsf.framework.util.image.ImageInfo;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
import org.ajax4jsf.tests.MockViewRoot;
import org.apache.commons.collections.Buffer;
import org.apache.commons.lang.StringUtils;
-
-
/**
* Unit test for MenuItem Component.
*/
-public class MenuItemComponentTest
- extends AbstractAjax4JsfTestCase
-{
- private static Set javaScripts = new HashSet();
-
- static {
+public class MenuItemComponentTest extends AbstractAjax4JsfTestCase {
+ private static Set javaScripts = new HashSet();
+
+ static {
javaScripts.add("prototype.js");
javaScripts.add("AjaxScript");
javaScripts.add("CommandScript");
- }
-
- private UIMenuItem menuItem;
- private UIForm form;
-
+ }
+
+ private UIMenuItem menuItem;
+
+ private UIForm form;
+
/**
* Create the test case
- *
- * @param testName name of the test case
+ *
+ * @param testName
+ * name of the test case
*/
- public MenuItemComponentTest( String testName )
- {
- super( testName );
+ public MenuItemComponentTest(String testName) {
+ super(testName);
}
-
+
public void setUp() throws Exception {
- super.setUp();
-
- form = new HtmlForm();
+ super.setUp();
+
+ form = new HtmlForm();
form.setId("form");
facesContext.getViewRoot().getChildren().add(form);
- menuItem = (UIMenuItem) application.createComponent(HtmlMenuItem.COMPONENT_TYPE);
- menuItem.setId("menuItem");
- menuItem.setValue("Menu Item");
-
- form.getChildren().add(menuItem);
+ menuItem = (UIMenuItem) application
+ .createComponent(HtmlMenuItem.COMPONENT_TYPE);
+ menuItem.setId("menuItem");
+ menuItem.setValue("Menu Item");
+
+ form.getChildren().add(menuItem);
}
public void tearDown() throws Exception {
- super.tearDown();
- menuItem = null;
- form = null;
+ super.tearDown();
+ menuItem = null;
+ form = null;
}
/**
* MenuItem rendering test.
*/
- public void testMenuItemRender() throws Exception
- {
- menuItem.setMode(MenuComponent.MODE_NONE);
- HtmlPage page = renderView();
+ public void testMenuItemRender() throws Exception {
+ menuItem.setMode(MenuComponent.MODE_NONE);
+ HtmlPage page = renderView();
assertNotNull(page);
- //System.out.println(page.asXml());
- HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
+ // System.out.println(page.asXml());
+ HtmlElement div = page.getHtmlElementById(menuItem
+ .getClientId(facesContext));
assertNotNull(div);
assertEquals("div", div.getNodeName());
}
-
+
/**
* MenuItem facet test.
*/
- public void testMenuItemIconFacet() throws Exception
- {
- UIComponent text = createComponent(HtmlOutputText.COMPONENT_TYPE, HtmlOutputText.class.getName(), null, null , null);
- menuItem.getFacets().put("iconDisabled", text);
- HtmlPage page = renderView();
+ public void testMenuItemIconFacet() throws Exception {
+ UIComponent text = createComponent(HtmlOutputText.COMPONENT_TYPE,
+ HtmlOutputText.class.getName(), null, null, null);
+ menuItem.getFacets().put("iconDisabled", text);
+ HtmlPage page = renderView();
assertNotNull(page);
- //System.out.println(page.asXml());
- HtmlElement span = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":icon");
+ // System.out.println(page.asXml());
+ HtmlElement span = page.getHtmlElementById(menuItem
+ .getClientId(facesContext)
+ + ":icon");
assertEquals("span", span.getNodeName());
assertNotNull(span);
}
-
+
/**
* Test for MenuItem disabled component.
*/
- public void testDisabledMenuItem() throws Exception
- {
- menuItem.setDisabled(true);
- menuItem.getAttributes().put("iconDisabled", "menuItemIconDisabled");
- HtmlPage page = renderView();
+ public void testDisabledMenuItem() throws Exception {
+ menuItem.setDisabled(true);
+ menuItem.getAttributes().put("iconDisabled", "menuItemIconDisabled");
+ HtmlPage page = renderView();
assertNotNull(page);
- System.out.println(page.asXml());
-
- HtmlElement span = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":disabled");
+ // System.out.println(page.asXml());
+
+ HtmlElement span = page.getHtmlElementById(menuItem
+ .getClientId(facesContext)
+ + ":disabled");
assertNotNull(span);
- assertEquals("span", span.getNodeName());
+ assertEquals("span", span.getNodeName());
String classAttr = span.getAttributeValue("class");
- assertTrue(classAttr.contains("dr-menu-label dr-menu-label-disabled rich-menu-item-label rich-menu-item-label-disabled"));
-
- span = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":icon");
+ assertTrue(classAttr
+ .contains("dr-menu-label dr-menu-label-disabled rich-menu-item-label rich-menu-item-label-disabled"));
+
+ span = page.getHtmlElementById(menuItem.getClientId(facesContext)
+ + ":icon");
assertNotNull(span);
- assertEquals("span", span.getNodeName());
+ assertEquals("span", span.getNodeName());
classAttr = span.getAttributeValue("class");
- assertTrue(classAttr.contains("dr-menu-icon rich-menu-item-icon dr-menu-icon-disabled rich-menu-item-icon-disabled"));
-
- HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
+ assertTrue(classAttr
+ .contains("dr-menu-icon rich-menu-item-icon dr-menu-icon-disabled rich-menu-item-icon-disabled"));
+
+ HtmlElement div = page.getHtmlElementById(menuItem
+ .getClientId(facesContext));
assertNotNull(div);
- assertEquals("div", div.getNodeName());
+ assertEquals("div", div.getNodeName());
classAttr = div.getAttributeValue("class");
- assertTrue(classAttr.contains("dr-menu-item dr-menu-item-disabled rich-menu-item rich-menu-item-disabled"));
+ assertTrue(classAttr
+ .contains("dr-menu-item dr-menu-item-disabled rich-menu-item rich-menu-item-disabled"));
classAttr = div.getAttributeValue("onmouseout");
assertEquals(0, classAttr.length());
classAttr = div.getAttributeValue("onmouseover");
assertEquals(0, classAttr.length());
}
-
+
/**
* Test for enabled MenuItem component in "server" mode.
- */
- public void testEnabledMenuItemServerMode() throws Exception
- {
- assertEquals(false, menuItem.isDisabled());
- menuItem.getAttributes().put("iconClass", "iconClass");
- menuItem.setMode(MenuComponent.MODE_SERVER);
- menuItem.getAttributes().put("target", "target");
- menuItem.getAttributes().put("selectStyle", "menuItemSelectStyle");
- HtmlPage page = renderView();
+ */
+ public void testEnabledMenuItemServerMode() throws Exception {
+ assertEquals(false, menuItem.isDisabled());
+ menuItem.getAttributes().put("iconClass", "iconClass");
+ menuItem.setMode(MenuComponent.MODE_SERVER);
+ menuItem.getAttributes().put("target", "target");
+ menuItem.getAttributes().put("selectStyle", "menuItemSelectStyle");
+ HtmlPage page = renderView();
assertNotNull(page);
- System.out.println(page.asXml());
-
- HtmlElement anchor = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":anchor");
+ // System.out.println(page.asXml());
+
+ HtmlElement anchor = page.getHtmlElementById(menuItem
+ .getClientId(facesContext)
+ + ":anchor");
assertNotNull(anchor);
- assertEquals("a", anchor.getNodeName());
+ assertEquals("a", anchor.getNodeName());
String classAttr = anchor.getAttributeValue("class");
assertTrue(classAttr.contains("dr-menu-label rich-menu-item-label"));
-
- HtmlElement span = page.getHtmlElementById(menuItem.getClientId(facesContext) + ":icon");
+
+ HtmlElement span = page.getHtmlElementById(menuItem
+ .getClientId(facesContext)
+ + ":icon");
assertNotNull(span);
- assertEquals("span", span.getNodeName());
+ assertEquals("span", span.getNodeName());
classAttr = span.getAttributeValue("class");
assertTrue(classAttr.contains("dr-menu-icon rich-menu-item-icon"));
- assertTrue(classAttr.contains((String) menuItem.getAttributes().get("iconClass")));
-
- HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
+ assertTrue(classAttr.contains((String) menuItem.getAttributes().get(
+ "iconClass")));
+
+ HtmlElement div = page.getHtmlElementById(menuItem
+ .getClientId(facesContext));
assertNotNull(div);
- assertEquals("div", div.getNodeName());
+ assertEquals("div", div.getNodeName());
classAttr = div.getAttributeValue("class");
- assertTrue(classAttr.contains("dr-menu-item dr-menu-item-enabled rich-menu-item rich-menu-item-enabled"));
+ assertTrue(classAttr
+ .contains("dr-menu-item dr-menu-item-enabled rich-menu-item rich-menu-item-enabled"));
classAttr = div.getAttributeValue("onclick");
assertNotNull(classAttr);
assertTrue(classAttr.length() > 0);
classAttr = div.getAttributeValue("onmouseover");
- assertTrue(classAttr.contains("menuItemSelectStyle"));
+ assertTrue(classAttr.contains("menuItemSelectStyle"));
}
-
+
/**
* Test for enabled MenuItem component in "ajax" mode.
- */
- public void testEnabledMenuItemAJAXMode() throws Exception
- {
- menuItem.setMode(MenuComponent.MODE_AJAX);
- menuItem.getAttributes().put("style", "menuItemStyle");
- HtmlPage page = renderView();
+ */
+ public void testEnabledMenuItemAJAXMode() throws Exception {
+ menuItem.setMode(MenuComponent.MODE_AJAX);
+ menuItem.getAttributes().put("style", "menuItemStyle");
+ HtmlPage page = renderView();
assertNotNull(page);
- //System.out.println(page.asXml());
-
- HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
- assertNotNull(div);
+ // System.out.println(page.asXml());
+
+ HtmlElement div = page.getHtmlElementById(menuItem
+ .getClientId(facesContext));
+ assertNotNull(div);
String classAttr = div.getAttributeValue("onclick");
assertTrue(classAttr.contains("AJAX"));
classAttr = div.getAttributeValue("style");
- assertTrue(classAttr.contains("menuItemStyle"));
+ assertTrue(classAttr.contains("menuItemStyle"));
}
-
+
/**
* Test for enabled MenuItem component in "none" mode.
- */
- public void testEnabledMenuItemNoneMode() throws Exception
- {
- menuItem.setMode(MenuComponent.MODE_NONE);
- HtmlPage page = renderView();
+ */
+ public void testEnabledMenuItemNoneMode() throws Exception {
+ menuItem.setMode(MenuComponent.MODE_NONE);
+ HtmlPage page = renderView();
assertNotNull(page);
- //System.out.println(page.asXml());
-
- HtmlElement div = page.getHtmlElementById(menuItem.getClientId(facesContext));
+ // System.out.println(page.asXml());
+
+ HtmlElement div = page.getHtmlElementById(menuItem
+ .getClientId(facesContext));
assertNotNull(div);
String classAttr = div.getAttributeValue("onclick");
assertNotNull(classAttr);
- assertTrue(classAttr.length() > 0);
+ assertTrue(classAttr.length() > 0);
}
-
+
/**
* CSS link test.
- */
+ */
public void testRenderStyle() throws Exception {
HtmlPage page = renderView();
assertNotNull(page);
List links = page.getDocumentElement().getHtmlElementsByTagName("link");
- //Assert.assertEquals(1, links.size());
+ // assertEquals(1, links.size());
assertNotNull(links);
HtmlElement link = (HtmlElement) links.get(0);
- assertTrue(link.getAttributeValue("href").contains("org/richfaces/renderkit/html/css/menucomponents.xcss"));
+ assertTrue(link.getAttributeValue("href").contains(
+ "org/richfaces/renderkit/html/css/menucomponents.xcss"));
}
-
+
/**
* Scripts link test.
- */
+ */
public void testRenderScript() throws Exception {
- HtmlPage page = renderView();
+ HtmlPage page = renderView();
assertNotNull(page);
- System.out.println(page.asXml());
-
- List scripts = page.getDocumentElement().getHtmlElementsByTagName("script");
+ // System.out.println(page.asXml());
+
+ List scripts = page.getDocumentElement().getHtmlElementsByTagName(
+ "script");
for (Iterator it = scripts.iterator(); it.hasNext();) {
HtmlScript item = (HtmlScript) it.next();
String srcAttr = item.getSrcAttribute();
@@ -272,39 +292,62 @@
}
}
}
-
+
/**
* DoDecode method trst. Component in "AJAX" mode. Immediate is true.
- */
+ */
public void testMenuItemDoDecodeAJAXMode() throws Exception {
-
- menuItem.setImmediate(true);
- menuItem.setMode(MenuComponent.MODE_AJAX);
-
- externalContext.getRequestParameterMap().put(menuItem.getClientId(facesContext), "Action");
- menuItem.decode(facesContext);
-
- MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
- Buffer events = mockViewRoot.getEventsQueue(facesContext, PhaseId.APPLY_REQUEST_VALUES);
- assertNotNull(events);
- assertEquals(1, events.size());
+
+ menuItem.setImmediate(true);
+ menuItem.setMode(MenuComponent.MODE_AJAX);
+
+ externalContext.getRequestParameterMap().put(
+ menuItem.getClientId(facesContext), "Action");
+ menuItem.decode(facesContext);
+
+ MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
+ Buffer events = mockViewRoot.getEventsQueue(facesContext,
+ PhaseId.APPLY_REQUEST_VALUES);
+ assertNotNull(events);
+ assertEquals(1, events.size());
}
-
+
/**
* DoDecode method trst. Component in "server" mode. Immediate is false.
- */
+ */
public void testMenuItemDoDecodeServerMode() throws Exception {
-
- menuItem.setImmediate(false);
- menuItem.setMode(MenuComponent.MODE_SERVER);
-
- externalContext.getRequestParameterMap().put(menuItem.getClientId(facesContext) + ":hidden", "Action");
- menuItem.decode(facesContext);
-
- MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
- Buffer events = mockViewRoot.getEventsQueue(facesContext, PhaseId.INVOKE_APPLICATION);
- assertNotNull(events);
- assertEquals(1, events.size());
+
+ menuItem.setImmediate(false);
+ menuItem.setMode(MenuComponent.MODE_SERVER);
+
+ externalContext.getRequestParameterMap().put(
+ menuItem.getClientId(facesContext) + ":hidden", "Action");
+ menuItem.decode(facesContext);
+
+ MockViewRoot mockViewRoot = (MockViewRoot) facesContext.getViewRoot();
+ Buffer events = mockViewRoot.getEventsQueue(facesContext,
+ PhaseId.INVOKE_APPLICATION);
+ assertNotNull(events);
+ assertEquals(1, events.size());
}
-
+
+ /**
+ * Test accessibility of static image resource.
+ */
+ public void testMenuItemDefaultIconImage() throws Exception {
+
+ renderView();
+ InternetResourceBuilder builder = ResourceBuilderImpl.getInstance();
+ String iconImage = "org/richfaces/renderkit/html/images/spacer.gif";
+ InternetResource resource = builder.getResource(iconImage);
+ assertNotNull(resource);
+ String uri = "http:" + resource.getUri(facesContext, null);
+ Page page = webClient.getPage(uri);
+ assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
+ ImageInfo info = new ImageInfo();
+ info.setInput(page.getWebResponse().getContentAsStream());
+ assertTrue(info.check());
+ assertEquals(ImageInfo.FORMAT_GIF, info.getFormat());
+ }
+
}
19 years