You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2007/05/02 17:55:36 UTC
svn commit: r534522 - in /myfaces/tobago/trunk:
core/src/main/java/org/apache/myfaces/tobago/component/
core/src/main/java/org/apache/myfaces/tobago/renderkit/html/
core/src/test/java/org/apache/myfaces/tobago/renderkit/html/
theme/scarborough/src/main...
Author: lofwyr
Date: Wed May 2 08:55:35 2007
New Revision: 534522
URL: http://svn.apache.org/viewvc?view=rev&rev=534522
Log:
TOBAGO-737: Refatoring: New object StyleClasses to replace the string-replacement-stuff for ATTR_STYLE_CLASS
Modified:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/StyleClasses.java
myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/renderkit/html/StyleClassesUnitTest.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/GridLayoutRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/RichTextEditorRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/component/UIDatePicker.java Wed May 2 08:55:35 2007
@@ -239,7 +239,7 @@
image.setRendered(true);
image.setValue("image/date.gif");
image.getAttributes().put(ATTR_ALT, ""); //TODO: i18n
- StyleClasses.ensureStyleClasses(image).addClass("tobago-input-picker");
+ StyleClasses.ensureStyleClasses(image).addFullQualifiedClass("tobago-input-picker"); // XXX not a standard name
link.getChildren().add(image);
}
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java Wed May 2 08:55:35 2007
@@ -112,7 +112,8 @@
public static void createCssClass(FacesContext facesContext, UIComponent component) {
String rendererName = getRendererName(facesContext, component);
if (rendererName != null) {
- createClassAttribute(component, rendererName);
+ StyleClasses classes = StyleClasses.ensureStyleClasses(component);
+ classes.updateClassAttribute(rendererName, component);
}
}
@@ -297,7 +298,7 @@
*/
@Deprecated
public static void addCssClass(UIComponent component, String clazz) {
- StyleClasses.ensureStyleClasses(component).addClass(clazz);
+ StyleClasses.ensureStyleClasses(component).addFullQualifiedClass(clazz);
}
public static void layoutWidth(FacesContext facesContext, UIComponent component) {
@@ -403,11 +404,6 @@
}
}
- private static void createClassAttribute(UIComponent component, String name) {
- StyleClasses classes = StyleClasses.ensureStyleClasses(component);
- classes.updateClassAttribute(name, component);
- }
-
/**
* @deprecated Please use StyleClasses.ensureStyleClasses(component).updateClassAttribute(renderer, component);
*/
@@ -422,7 +418,7 @@
if (component instanceof SupportsMarkup) {
String[] markups = ((SupportsMarkup) component).getMarkup();
- for (String markup: markups) {
+ for (String markup : markups) {
Theme theme = ClientProperties.getInstance(FacesContext.getCurrentInstance().getViewRoot()).getTheme();
if (theme.getRenderersConfig().isMarkupSupported(rendererName, markup)) {
tobagoClass.append(StyleClasses.PREFIX).append(rendererName).append("-").append(subComponent)
@@ -441,7 +437,7 @@
for (String markup: markups) {
Theme theme = ClientProperties.getInstance(FacesContext.getCurrentInstance().getViewRoot()).getTheme();
if (theme.getRenderersConfig().isMarkupSupported(rendererName, markup)) {
- classes.addClass(StyleClasses.PREFIX + rendererName + "-markup-" + markup);
+ classes.addMarkupClass(rendererName, markup);
} else {
LOG.warn("Unknown markup='" + markup + "'");
}
@@ -449,21 +445,17 @@
}
}
- public static void addImageSources(
- FacesContext facesContext, ResponseWriter writer, String src, String id)
+ public static void addImageSources(FacesContext facesContext, ResponseWriter writer, String src, String id)
throws IOException {
StringBuilder buffer = new StringBuilder();
buffer.append("new Tobago.Image('");
buffer.append(id);
buffer.append("','");
- buffer.append(ResourceManagerUtil.getImageWithPath(
- facesContext, src, false));
+ buffer.append(ResourceManagerUtil.getImageWithPath(facesContext, src, false));
buffer.append("','");
- buffer.append(ResourceManagerUtil.getImageWithPath(
- facesContext, createSrc(src, "Disabled"), true));
+ buffer.append(ResourceManagerUtil.getImageWithPath(facesContext, createSrc(src, "Disabled"), true));
buffer.append("','");
- buffer.append(ResourceManagerUtil.getImageWithPath(
- facesContext, createSrc(src, "Hover"), true));
+ buffer.append(ResourceManagerUtil.getImageWithPath(facesContext, createSrc(src, "Hover"), true));
buffer.append("');");
writeJavascript(writer, buffer.toString());
}
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/StyleClasses.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/StyleClasses.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/StyleClasses.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/StyleClasses.java Wed May 2 08:55:35 2007
@@ -36,13 +36,9 @@
public class StyleClasses implements Serializable {
- public static final String PREFIX = "tobago-";
- public static final String SUFFIX_DEFAULT = "-default";
- public static final String SUFFIX_DISABLED = "-disabled";
- public static final String SUFFIX_READONLY = "-readonly";
- public static final String SUFFIX_INLINE = "-inline";
- public static final String SUFFIX_ERROR = "-error";
- public static final String SUFFIX_REQUIRED = "-required";
+ public static final char SEPERATOR = '-';
+ public static final String PREFIX = "tobago" + SEPERATOR;
+ public static final String MARKUP = SEPERATOR + "markup" + SEPERATOR;
private ListOrderedSet classes;
@@ -69,10 +65,66 @@
return new StyleClasses(ensureStyleClasses(component));
}
- public void addClass(String clazz) {
+ @Deprecated
+ public void addFullQualifiedClass(String clazz) {
classes.add(clazz);
}
+ public void addClass(String renderer, String sub) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(PREFIX);
+ builder.append(renderer);
+ builder.append(SEPERATOR);
+ builder.append(sub);
+ classes.add(builder.toString());
+ }
+
+ public void addMarkupClass(String renderer, String markup) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(PREFIX);
+ builder.append(renderer);
+ builder.append(MARKUP);
+ builder.append(markup);
+ classes.add(builder.toString());
+ }
+
+ public void addMarkupClass(String renderer, String sub, String markup) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(PREFIX);
+ builder.append(renderer);
+ builder.append(SEPERATOR);
+ builder.append(sub);
+ builder.append(MARKUP);
+ builder.append(markup);
+ classes.add(builder.toString());
+ }
+
+ public void addAspectClass(String renderer, Aspect aspect) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(PREFIX);
+ builder.append(renderer);
+ builder.append(aspect);
+ classes.add(builder.toString());
+ }
+
+ public void removeAspectClass(String renderer, Aspect aspect) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(PREFIX);
+ builder.append(renderer);
+ builder.append(aspect);
+ classes.remove(builder.toString());
+ }
+
+ public void addAspectClass(String renderer, String sub, Aspect aspect) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(PREFIX);
+ builder.append(renderer);
+ builder.append(SEPERATOR);
+ builder.append(sub);
+ builder.append(aspect);
+ classes.add(builder.toString());
+ }
+
public void addClasses(StyleClasses styleClasses) {
for (String clazz : (Iterable<String>) styleClasses.classes) {
classes.add(clazz);
@@ -96,24 +148,23 @@
// first remove old tobago-<rendererName>-<type> classes from class-attribute
removeTobagoClasses(rendererName);
- StringBuilder prefix = new StringBuilder(PREFIX).append(rendererName);
- addClass(prefix + SUFFIX_DEFAULT);
+ addAspectClass(rendererName, Aspect.DEFAULT);
if (ComponentUtil.getBooleanAttribute(component, ATTR_DISABLED)) {
- addClass(prefix + SUFFIX_DISABLED);
+ addAspectClass(rendererName, Aspect.DISABLED);
}
if (ComponentUtil.getBooleanAttribute(component, ATTR_READONLY)) {
- addClass(prefix + SUFFIX_READONLY);
+ addAspectClass(rendererName, Aspect.READONLY);
}
if (ComponentUtil.getBooleanAttribute(component, ATTR_INLINE)) {
- addClass(prefix + SUFFIX_INLINE);
+ addAspectClass(rendererName, Aspect.INLINE);
}
if (component instanceof UIInput) {
UIInput input = (UIInput) component;
if (ComponentUtil.isError(input)) {
- addClass(prefix + SUFFIX_ERROR);
+ addAspectClass(rendererName, Aspect.ERROR);
}
if (input.isRequired()) {
- addClass(prefix + SUFFIX_REQUIRED);
+ addAspectClass(rendererName, Aspect.REQUIRED);
}
}
@@ -131,5 +182,26 @@
}
}
return buffer.toString();
+ }
+
+ public enum Aspect {
+
+ DEFAULT,
+ DISABLED,
+ READONLY,
+ INLINE,
+ ERROR,
+ REQUIRED;
+
+ private String aspect;
+
+ Aspect() {
+ aspect = '-' + name().toLowerCase();
+ }
+
+ @Override
+ public String toString() {
+ return aspect;
+ }
}
}
Modified: myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/renderkit/html/StyleClassesUnitTest.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/renderkit/html/StyleClassesUnitTest.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/renderkit/html/StyleClassesUnitTest.java (original)
+++ myfaces/tobago/trunk/core/src/test/java/org/apache/myfaces/tobago/renderkit/html/StyleClassesUnitTest.java Wed May 2 08:55:35 2007
@@ -27,18 +27,18 @@
public void testRemoveOneMatch() {
StyleClasses c = new StyleClasses();
- c.addClass("bla");
- c.addClass("tobago-test-inline");
- c.addClass("blupp");
+ c.addFullQualifiedClass("bla");
+ c.addFullQualifiedClass("tobago-test-inline");
+ c.addFullQualifiedClass("blupp");
c.removeTobagoClasses("test");
assertEquals("bla blupp", c.toString());
}
public void testRemoveNoMatch() {
StyleClasses c = new StyleClasses();
- c.addClass("bla");
- c.addClass("tobago-test-inline");
- c.addClass("blupp");
+ c.addFullQualifiedClass("bla");
+ c.addFullQualifiedClass("tobago-test-inline");
+ c.addFullQualifiedClass("blupp");
c.removeTobagoClasses("no");
assertEquals("bla tobago-test-inline blupp", c.toString());
}
@@ -48,4 +48,29 @@
c.removeTobagoClasses("no");
assertEquals("", c.toString());
}
+
+ public void testAddMarkupClass() {
+ StyleClasses c = new StyleClasses();
+ c.addMarkupClass("myComponent", "big");
+ assertEquals("tobago-myComponent-markup-big", c.toString());
+ }
+
+ public void testAddMarkupClassSub() {
+ StyleClasses c = new StyleClasses();
+ c.addMarkupClass("myComponent", "mySub", "big");
+ assertEquals("tobago-myComponent-mySub-markup-big", c.toString());
+ }
+
+ public void testAddAspectClass() {
+ StyleClasses c = new StyleClasses();
+ c.addAspectClass("myComponent", StyleClasses.Aspect.DISABLED);
+ assertEquals("tobago-myComponent-disabled", c.toString());
+ }
+
+ public void testAddAspectClassSub() {
+ StyleClasses c = new StyleClasses();
+ c.addAspectClass("myComponent", "mySub", StyleClasses.Aspect.DISABLED);
+ assertEquals("tobago-myComponent-mySub-disabled", c.toString());
+ }
+
}
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/GridLayoutRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/GridLayoutRenderer.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/GridLayoutRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/GridLayoutRenderer.java Wed May 2 08:55:35 2007
@@ -296,10 +296,10 @@
int spanY = UIGridLayout.getSpanY(cell);
StyleClasses classes = StyleClasses.ensureStyleClassesCopy(layout);
if (rowIndex == 0) {
- classes.addClass("tobago-gridLayout-first-row");
+ classes.addClass("gridLayout", "first-row"); // XXX not a standard compliant name
}
if (columnIndex == 0) {
- classes.addClass("tobago-gridLayout-first-column");
+ classes.addClass("gridLayout", "first-column"); // XXX not a standard compliant name
}
int cellWidth = -1;
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java Wed May 2 08:55:35 2007
@@ -128,7 +128,7 @@
&& ComponentUtil.getBooleanAttribute(component, ATTR_REQUIRED)) {
StyleClasses styleClasses = StyleClasses.ensureStyleClasses(component);
String rendererName = HtmlRendererUtil.getRendererName(facesContext, component);
- styleClasses.removeClass(StyleClasses.PREFIX + rendererName + StyleClasses.SUFFIX_REQUIRED);
+ styleClasses.removeAspectClass(rendererName, StyleClasses.Aspect.REQUIRED);
}
writer.writeComponentClass();
if (renderAjaxSuggest) {
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java Wed May 2 08:55:35 2007
@@ -92,7 +92,7 @@
writer.writeIdAttribute(clientId);
StyleClasses styleClasses = StyleClasses.ensureStyleClasses(component);
if (ComponentUtil.getBooleanAttribute(component, ATTR_PAGE_MENU)) {
- styleClasses.addClass("tobago-menuBar-page-facet");
+ styleClasses.addClass("menuBar", "page-facet"); // XXX not a standard compliant name
} else {
writer.writeAttribute(HtmlAttributes.STYLE, null, ATTR_STYLE);
}
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/RichTextEditorRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/RichTextEditorRenderer.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/RichTextEditorRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/RichTextEditorRenderer.java Wed May 2 08:55:35 2007
@@ -112,7 +112,7 @@
TobagoResponseWriter writer = (TobagoResponseWriter) facesContext.getResponseWriter();
StyleClasses containerClasses = StyleClasses.ensureStyleClassesCopy(component);
- containerClasses.addClass("tobago-richTextEditor-container");
+ containerClasses.addClass("richTextEditor", "container");
writer.startElement(HtmlConstants.DIV, component);
writer.writeClassAttribute(containerClasses);
@@ -133,7 +133,7 @@
String content = getCurrentValue(facesContext, component);
StyleClasses bodyClasses = StyleClasses.ensureStyleClassesCopy(component);
- bodyClasses.addClass("tobago-richTextEditor-body");
+ bodyClasses.addClass("richTextEditor", "body");
if (previewState) {
writer.startElement(HtmlConstants.INPUT, component);
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java?view=diff&rev=534522&r1=534521&r2=534522
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java Wed May 2 08:55:35 2007
@@ -360,10 +360,10 @@
columnIndex++;
StyleClasses tdClass = new StyleClasses();
- tdClass.addClass("tobago-sheet-cell-td");
+ tdClass.addClass("sheet", "cell-td");// XXX not a standard compliant name
HtmlRendererUtil.addMarkupClass(column, "column", tdClass);
if (columnIndex == 0) {
- tdClass.addClass("tobago-sheet-cell-first-column");
+ tdClass.addClass("sheet", "cell-first-column");// XXX not a standard compliant name
}
StyleClasses cellClass = StyleClasses.ensureStyleClasses(column);
tdClass.addClasses(cellClass);