diff options
author | Artur Signell <artur@vaadin.com> | 2012-04-16 14:06:39 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-04-16 14:06:39 +0300 |
commit | 06731bd1890ca744f534bdb8b1d6c2465bacba60 (patch) | |
tree | 385a12f7e6acb60c5cf830fe57f7401523378dfe /src | |
parent | e110414f3d1946c2ff313367ea8752aeece3469c (diff) | |
download | vaadin-framework-06731bd1890ca744f534bdb8b1d6c2465bacba60.tar.gz vaadin-framework-06731bd1890ca744f534bdb8b1d6c2465bacba60.zip |
Changed getStyleNames to be non static so it can be overridden
Diffstat (limited to 'src')
3 files changed, 34 insertions, 35 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/AbstractComponentConnector.java b/src/com/vaadin/terminal/gwt/client/ui/AbstractComponentConnector.java index e5d2fc14cc..2458a27eac 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/AbstractComponentConnector.java +++ b/src/com/vaadin/terminal/gwt/client/ui/AbstractComponentConnector.java @@ -108,8 +108,7 @@ public abstract class AbstractComponentConnector extends AbstractConnector } // Style names - String styleName = getStyleNames(getWidget().getStylePrimaryName(), - this); + String styleName = getStyleNames(getWidget().getStylePrimaryName()); getWidget().setStyleName(styleName); // Update tooltip @@ -223,32 +222,32 @@ public abstract class AbstractComponentConnector extends AbstractConnector /** * Generates the style name for the widget based on the given primary style - * name (typically returned by Widget.getPrimaryStyleName()) and the UIDL - * and shared state of the component. An additional "modified" style name - * can be added if the field parameter is set to true. + * name and the shared state. + * <p> + * This method can be overridden to provide additional style names for the + * component + * </p> * * @param primaryStyleName - * @param uidl - * @param state - * component shared state - * @param field - * @return + * The primary style name to use when generating the final style + * names + * @return The style names, settable using + * {@link Widget#setStyleName(String)} */ - protected static String getStyleNames(String primaryStyleName, - ComponentConnector connector) { - ComponentState state = connector.getState(); + protected String getStyleNames(String primaryStyleName) { + ComponentState state = getState(); - StringBuffer styleBuf = new StringBuffer(); + StringBuilder styleBuf = new StringBuilder(); styleBuf.append(primaryStyleName); styleBuf.append(" v-connector"); // Uses connector methods to enable connectors to take hierarchy or // multiple state variables into account - if (!connector.isEnabled()) { + if (!isEnabled()) { styleBuf.append(" "); styleBuf.append(ApplicationConnection.DISABLED_CLASSNAME); } - if (connector.isReadOnly()) { + if (isReadOnly()) { styleBuf.append(" "); styleBuf.append("v-readonly"); } @@ -266,23 +265,6 @@ public abstract class AbstractComponentConnector extends AbstractConnector } } - if (connector instanceof AbstractFieldConnector) { - // TODO Move to AbstractFieldConnector - AbstractFieldConnector afc = ((AbstractFieldConnector) connector); - if (afc.isModified()) { - // add modified classname to Fields - styleBuf.append(" "); - styleBuf.append(ApplicationConnection.MODIFIED_CLASSNAME); - } - - if (afc.isRequired()) { - // add required classname to required fields - styleBuf.append(" "); - styleBuf.append(primaryStyleName); - styleBuf.append(ApplicationConnection.REQUIRED_CLASSNAME_EXT); - } - } - // add error classname to components w/ error if (null != state.getErrorMessage()) { styleBuf.append(" "); diff --git a/src/com/vaadin/terminal/gwt/client/ui/AbstractFieldConnector.java b/src/com/vaadin/terminal/gwt/client/ui/AbstractFieldConnector.java index 5e629f2dc9..4be0f02c2a 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/AbstractFieldConnector.java +++ b/src/com/vaadin/terminal/gwt/client/ui/AbstractFieldConnector.java @@ -4,6 +4,7 @@ package com.vaadin.terminal.gwt.client.ui; import com.vaadin.terminal.gwt.client.AbstractFieldState; +import com.vaadin.terminal.gwt.client.ApplicationConnection; public abstract class AbstractFieldConnector extends AbstractComponentConnector { @@ -33,4 +34,21 @@ public abstract class AbstractFieldConnector extends AbstractComponentConnector return getState().isRequired() && !isReadOnly(); } + @Override + protected String getStyleNames(String primaryStyleName) { + String styleNames = super.getStyleNames(primaryStyleName); + + if (isModified()) { + // add modified classname to Fields + styleNames += " " + ApplicationConnection.MODIFIED_CLASSNAME; + } + + if (isRequired()) { + // add required classname to Fields + styleNames += " " + primaryStyleName + + ApplicationConnection.REQUIRED_CLASSNAME_EXT; + } + + return styleNames; + } } diff --git a/src/com/vaadin/terminal/gwt/client/ui/datefield/PopupDateFieldConnector.java b/src/com/vaadin/terminal/gwt/client/ui/datefield/PopupDateFieldConnector.java index 1e9de17476..1bcb40d549 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/datefield/PopupDateFieldConnector.java +++ b/src/com/vaadin/terminal/gwt/client/ui/datefield/PopupDateFieldConnector.java @@ -37,8 +37,7 @@ public class PopupDateFieldConnector extends TextualDateConnector { super.updateFromUIDL(uidl, client); - String popupStyleNames = getStyleNames( - VPopupCalendar.POPUP_PRIMARY_STYLE_NAME, this); + String popupStyleNames = getStyleNames(VPopupCalendar.POPUP_PRIMARY_STYLE_NAME); popupStyleNames += " " + VDateField.CLASSNAME + "-" |