aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2012-04-16 14:06:39 +0300
committerArtur Signell <artur@vaadin.com>2012-04-16 14:06:39 +0300
commit06731bd1890ca744f534bdb8b1d6c2465bacba60 (patch)
tree385a12f7e6acb60c5cf830fe57f7401523378dfe /src
parente110414f3d1946c2ff313367ea8752aeece3469c (diff)
downloadvaadin-framework-06731bd1890ca744f534bdb8b1d6c2465bacba60.tar.gz
vaadin-framework-06731bd1890ca744f534bdb8b1d6c2465bacba60.zip
Changed getStyleNames to be non static so it can be overridden
Diffstat (limited to 'src')
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/AbstractComponentConnector.java48
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/AbstractFieldConnector.java18
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/datefield/PopupDateFieldConnector.java3
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
+ "-"