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 2009/11/06 18:15:58 UTC
svn commit: r833476 - in /myfaces/tobago/trunk:
core/src/main/java/org/apache/myfaces/tobago/renderkit/html/
core/src/main/java/org/apache/myfaces/tobago/webapp/
theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/stand...
Author: lofwyr
Date: Fri Nov 6 17:15:57 2009
New Revision: 833476
URL: http://svn.apache.org/viewvc?rev=833476&view=rev
Log:
TOBAGO-818, TOBAGO-819: Using CSS with <ol><li> instead of <div> + <br> for inner layouting.
Modified:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlConstants.java
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterImpl.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectManyCheckboxRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectOneRadioRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/style/style.css
myfaces/tobago/trunk/theme/speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/style/style.css
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlConstants.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlConstants.java?rev=833476&r1=833475&r2=833476&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlConstants.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlConstants.java Fri Nov 6 17:15:57 2009
@@ -18,44 +18,45 @@
*/
public final class HtmlConstants {
- public static final String LABEL = "label";
- public static final String TABLE = "table";
- public static final String FIELDSET = "fieldset";
- public static final String STYLE = "style";
- public static final String LEGEND = "legend";
- public static final String DIV = "div";
- public static final String BR = "br";
+ public static final String A = "a";
+ public static final String AREA = "area";
public static final String B = "b";
- public static final String U = "u";
- public static final String SPAN = "span";
- public static final String IMG = "img";
- public static final String TR = "tr";
- public static final String TH = "th";
- public static final String TD = "td";
+ public static final String BASE = "base";
+ public static final String BODY = "body";
+ public static final String BR = "br";
public static final String BUTTON = "button";
- public static final String INPUT = "input";
- public static final String SELECT = "select";
- public static final String OPTION = "option";
- public static final String A = "a";
- public static final String TEXTAREA = "textarea";
- public static final String COLGROUP = "colgroup";
public static final String COL = "col";
- public static final String UL = "ul";
- public static final String LI = "li";
- public static final String IFRAME = "iframe";
- public static final String HTML = "html";
+ public static final String COLGROUP = "colgroup";
+ public static final String DIV = "div";
+ public static final String FIELDSET = "fieldset";
+ public static final String FORM = "form";
public static final String HEAD = "head";
public static final String HR = "hr";
- public static final String TITLE = "title";
+ public static final String HTML = "html";
+ public static final String IFRAME = "iframe";
+ public static final String IMG = "img";
+ public static final String INPUT = "input";
+ public static final String LABEL = "label";
+ public static final String LEGEND = "legend";
+ public static final String LI = "li";
public static final String LINK = "link";
- public static final String BODY = "body";
- public static final String FORM = "form";
- public static final String SCRIPT = "script";
public static final String META = "meta";
+ public static final String OL = "ol";
public static final String OPTGROUP = "optgroup";
- public static final String AREA = "area";
+ public static final String OPTION = "option";
public static final String PARAM = "param";
- public static final String BASE = "base";
+ public static final String SCRIPT = "script";
+ public static final String SELECT = "select";
+ public static final String SPAN = "span";
+ public static final String STYLE = "style";
+ public static final String TABLE = "table";
+ public static final String TD = "td";
+ public static final String TEXTAREA = "textarea";
+ public static final String TH = "th";
+ public static final String TITLE = "title";
+ public static final String TR = "tr";
+ public static final String U = "u";
+ public static final String UL = "ul";
private HtmlConstants() {
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterImpl.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterImpl.java?rev=833476&r1=833475&r2=833476&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterImpl.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/webapp/TobagoResponseWriterImpl.java Fri Nov 6 17:15:57 2009
@@ -29,6 +29,7 @@
import org.apache.myfaces.tobago.renderkit.css.Style;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.renderkit.html.HtmlConstants;
+import org.apache.myfaces.tobago.renderkit.html.StyleClasses;
import org.apache.myfaces.tobago.util.HtmlWriterUtils;
import org.apache.myfaces.tobago.util.XmlUtils;
@@ -393,7 +394,7 @@
}
public void writeClassAttribute() throws IOException {
- Object clazz = component.getAttributes().get(Attributes.STYLE_CLASS);
+ StyleClasses clazz = (StyleClasses) component.getAttributes().get(Attributes.STYLE_CLASS);
if (clazz != null) {
writeAttribute(HtmlAttributes.CLASS, clazz.toString(), false);
}
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectManyCheckboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectManyCheckboxRenderer.java?rev=833476&r1=833475&r2=833476&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectManyCheckboxRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectManyCheckboxRenderer.java Fri Nov 6 17:15:57 2009
@@ -55,27 +55,28 @@
String id = select.getClientId(facesContext);
List<SelectItem> items = RenderUtil.getItemsToRender(select);
- boolean inline = select.isInline();
String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, select);
boolean disabled = select.isDisabled();
boolean readonly = select.isReadonly();
Style style = new Style(facesContext, select);
+ // fixme: use CSS, not the Style Attribute for "display"
+ style.setDisplay(null);
- // todo: use <ol><li> ... instead of <div> + <br/>
- writer.startElement(HtmlConstants.DIV, select);
+ writer.startElement(HtmlConstants.OL, select);
writer.writeStyleAttribute(style);
+ writer.writeClassAttribute();
if (title != null) {
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
}
-
+
Object[] values = select.getSelectedValues();
List<String> clientIds = new ArrayList<String>();
for (SelectItem item : items) {
String itemId = id + NamingContainer.SEPARATOR_CHAR + NamingContainer.SEPARATOR_CHAR + item.getValue().toString();
clientIds.add(itemId);
+ writer.startElement(HtmlConstants.LI, select);
writer.startElement(HtmlConstants.INPUT, select);
writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.CHECKBOX, false);
- writer.writeClassAttribute();
boolean checked = RenderUtil.contains(values, item.getValue());
writer.writeAttribute(HtmlAttributes.CHECKED, checked);
writer.writeNameAttribute(id);
@@ -96,18 +97,15 @@
String label = item.getLabel();
if (label != null) {
writer.startElement(HtmlConstants.LABEL, select);
- writer.writeClassAttribute();
writer.writeAttribute(HtmlAttributes.FOR, itemId, false);
writer.writeText(label);
writer.endElement(HtmlConstants.LABEL);
}
- if (!inline) {
- writer.startElement(HtmlConstants.BR, null);
- writer.endElement(HtmlConstants.BR);
- }
+
+ writer.endElement(HtmlConstants.LI);
}
- writer.endElement(HtmlConstants.DIV);
-
+ writer.endElement(HtmlConstants.OL);
+
HtmlRendererUtils.renderFocusId(facesContext, select);
HtmlRendererUtils.checkForCommandFacet(select, clientIds, facesContext, writer);
}
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectOneRadioRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectOneRadioRenderer.java?rev=833476&r1=833475&r2=833476&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectOneRadioRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectOneRadioRenderer.java Fri Nov 6 17:15:57 2009
@@ -70,10 +70,12 @@
boolean readonly = select.isReadonly();
Style style = new Style(facesContext, select);
boolean required = select.isRequired();
+ // fixme: use CSS, not the Style Attribute for "display"
+ style.setDisplay(null);
- // todo: use <ol><li> ... instead of <div> + <br/>
- writer.startElement(HtmlConstants.DIV, select);
+ writer.startElement(HtmlConstants.OL, select);
writer.writeStyleAttribute(style);
+ writer.writeClassAttribute();
if (title != null) {
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
}
@@ -83,9 +85,9 @@
for (SelectItem item : items) {
String itemId = id + NamingContainer.SEPARATOR_CHAR + NamingContainer.SEPARATOR_CHAR + item.getValue().toString();
clientIds.add(itemId);
+ writer.startElement(HtmlConstants.LI, select);
writer.startElement(HtmlConstants.INPUT, select);
writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.RADIO, false);
- writer.writeClassAttribute();
boolean checked = item.getValue().equals(value);
writer.writeAttribute(HtmlAttributes.CHECKED, checked);
writer.writeNameAttribute(id);
@@ -94,7 +96,6 @@
writer.writeAttribute(HtmlAttributes.VALUE, formattedValue, true);
writer.writeAttribute(HtmlAttributes.DISABLED, item.isDisabled() || disabled);
writer.writeAttribute(HtmlAttributes.READONLY, readonly);
- HtmlRendererUtils.renderTip(select, writer);
if (!required || readonly) {
writer.writeAttribute(HtmlAttributes.ONCLICK,
"Tobago.selectOneRadioClick(this, '" + id + "'," + required + " , " + readonly + ")", false);
@@ -108,17 +109,14 @@
String label = item.getLabel();
if (label != null) {
writer.startElement(HtmlConstants.LABEL, select);
- writer.writeClassAttribute();
writer.writeAttribute(HtmlAttributes.FOR, itemId, false);
writer.writeText(label);
writer.endElement(HtmlConstants.LABEL);
}
- if (!inline) {
- writer.startElement(HtmlConstants.BR, null);
- writer.endElement(HtmlConstants.BR);
- }
+
+ writer.endElement(HtmlConstants.LI);
}
- writer.endElement(HtmlConstants.DIV);
+ writer.endElement(HtmlConstants.OL);
HtmlRendererUtils.renderFocusId(facesContext, select);
HtmlRendererUtils.checkForCommandFacet(select, clientIds, facesContext, writer);
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/style/style.css
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/style/style.css?rev=833476&r1=833475&r2=833476&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/style/style.css (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/resources/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/style/style.css Fri Nov 6 17:15:57 2009
@@ -288,56 +288,6 @@
vertical-align: middle;
}
-/* selectBooleanCheckbox --------------------------------------------------- */
-
-.tobago-selectBooleanCheckbox-default {
- background: transparent;
- margin-top: 2px;
- margin-bottom: 2px;
-}
-
-.tobago-selectBooleanCheckbox-disabled {
- color: #778899;
-}
-
-.tobago-selectBooleanCheckbox-error {
- border: 2px solid #ff0000;
-}
-
-/* selectOneListbox --------------------------------------------------- */
-
-.tobago-selectOneListbox-default {
- font-family: arial, helvetica, sans-serif;
- color: #000000;
-}
-
-.tobago-selectOneListbox-disabled {
- color: #778899;
- background: #bbccdd;
-}
-
-.tobago-selectOneListbox-readonly {
- background-color: #bbccdd;
-}
-
-/*.tobago-selectOneListbox-error {
- border: 1px solid #ff0000;
-}*/
-
-/* selectManyCheckbox ----------------------------------------------------------- */
-
-.tobago-selectManyCheckbox-default {
- background: transparent;
-}
-
-.tobago-selectManyCheckbox-disabled {
- color: #778899;
-}
-
-.tobago-selectManyCheckbox-error {
- border: 1px solid #FF0000;
-}
-
/* file -------------------------------------------------------------------- */
.tobago-file-default {
@@ -460,6 +410,43 @@
padding-left: 0px;
}
+/* selectBooleanCheckbox --------------------------------------------------- */
+
+.tobago-selectBooleanCheckbox-default {
+ background: transparent;
+ margin-top: 2px;
+ margin-bottom: 2px;
+}
+
+.tobago-selectBooleanCheckbox-disabled {
+ color: #778899;
+}
+
+.tobago-selectBooleanCheckbox-error {
+ border: 2px solid #ff0000;
+}
+
+/* selectManyCheckbox ----------------------------------------------------------- */
+
+.tobago-selectManyCheckbox-default {
+ background: transparent;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+.tobago-selectManyCheckbox-disabled {
+ color: #778899;
+}
+
+.tobago-selectManyCheckbox-inline, .tobago-selectManyCheckbox-inline li {
+ display: inline;
+}
+
+.tobago-selectManyCheckbox-error label {
+ border: 1px solid #FF0000;
+}
+
/* selectManyListbox ------------------------------------------------------- */
.tobago-selectManyListbox-default {
@@ -482,6 +469,67 @@
border-color: #ff0000;
}
+/* selectOneChoice --------------------------------------------------------- */
+
+.tobago-selectOneChoice-default {
+ font-family: arial, helvetica, sans-serif;
+ background: #ffffff;
+}
+
+.tobago-selectOneChoice-disabled {
+ background: #c0c0c0;
+}
+
+.tobago-selectOneChoice-error {
+ border-style: solid;
+ border-color: #ff0000;
+}
+
+.tobago-selectOneChoice-readonly {
+ background-color: #bbccdd;
+}
+
+/* selectOneListbox --------------------------------------------------- */
+
+.tobago-selectOneListbox-default {
+ font-family: arial, helvetica, sans-serif;
+ color: #000000;
+}
+
+.tobago-selectOneListbox-disabled {
+ color: #778899;
+ background: #bbccdd;
+}
+
+.tobago-selectOneListbox-readonly {
+ background-color: #bbccdd;
+}
+
+/*.tobago-selectOneListbox-error {
+ border: 1px solid #ff0000;
+}*/
+
+/* selectOneRadio ---------------------------------------------------------- */
+
+.tobago-selectOneRadio-default {
+ background: transparent;
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+
+.tobago-selectOneRadio-disabled {
+ color: #778899;
+}
+
+.tobago-selectOneRadio-inline, .tobago-selectOneRadio-inline li {
+ display: inline;
+}
+
+.tobago-selectOneRadio-error label {
+ border: 1px solid #FF0000;
+}
+
/* page -------------------------------------------------------------------- */
.tobago-page-default {
background: #bbccdd;
@@ -540,20 +588,6 @@
left: 0px;
}
-/* selectOneRadio ---------------------------------------------------------- */
-
-.tobago-selectOneRadio-default {
- background: transparent;
-}
-
-.tobago-selectOneRadio-disabled {
- color: #778899;
-}
-
-.tobago-selectOneRadio-error {
- border: 1px solid #FF0000;
-}
-
/* richTextEditor ---------------------------------------------------------- */
.tobago-richTextEditor-default {
@@ -614,26 +648,6 @@
overflow: auto;
}
-/* selectOneChoice --------------------------------------------------------- */
-
-.tobago-selectOneChoice-default {
- font-family: arial, helvetica, sans-serif;
- background: #ffffff;
-}
-
-.tobago-selectOneChoice-disabled {
- background: #c0c0c0;
-}
-
-.tobago-selectOneChoice-error {
- border-style: solid;
- border-color: #ff0000;
-}
-
-.tobago-selectOneChoice-readonly {
- background-color: #bbccdd;
-}
-
/* text -------------------------------------------------------------------- */
.tobago-out-default {
Modified: myfaces/tobago/trunk/theme/speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/style/style.css
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/style/style.css?rev=833476&r1=833475&r2=833476&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/style/style.css (original)
+++ myfaces/tobago/trunk/theme/speyside/src/main/resources/org/apache/myfaces/tobago/renderkit/html/speyside/standard/style/style.css Fri Nov 6 17:15:57 2009
@@ -613,12 +613,6 @@
/* selectOneRadio --------------------------------------------------------- */
-.tobago-selectOneRadio-default {
- border: 1px;
- font: 12px arial, helvetica, sans-serif;
- color: #000000;
-}
-
.tobago-selectOneRadio-disabled {
color: #808080;
}