aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--WebContent/META-INF/MANIFEST.MF4
-rw-r--r--client/src/com/vaadin/client/ui/AbstractComponentConnector.java12
-rw-r--r--client/src/com/vaadin/client/ui/absolutelayout/VAbsoluteLayout.java4
-rw-r--r--client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java4
-rw-r--r--client/src/com/vaadin/client/ui/button/VButton.java13
-rw-r--r--client/src/com/vaadin/client/ui/combobox/ComboBoxConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/combobox/VFilterSelect.java2
-rw-r--r--client/src/com/vaadin/client/ui/csslayout/VCssLayout.java4
-rw-r--r--client/src/com/vaadin/client/ui/datefield/InlineDateFieldConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/datefield/TextualDateConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/embedded/EmbeddedConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/flash/VFlash.java4
-rw-r--r--client/src/com/vaadin/client/ui/gridlayout/VGridLayout.java4
-rw-r--r--client/src/com/vaadin/client/ui/image/VImage.java4
-rw-r--r--client/src/com/vaadin/client/ui/link/LinkConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/menubar/MenuBarConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/nativebutton/NativeButtonConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/HorizontalLayoutConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/VHorizontalLayout.java15
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/VOrderedLayout.java24
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/VVerticalLayout.java15
-rw-r--r--client/src/com/vaadin/client/ui/orderedlayout/VerticalLayoutConnector.java5
-rw-r--r--client/src/com/vaadin/client/ui/splitpanel/HorizontalSplitPanelConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/splitpanel/VerticalSplitPanelConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/table/TableConnector.java12
-rw-r--r--client/src/com/vaadin/client/ui/table/VScrollTable.java316
-rw-r--r--client/src/com/vaadin/client/ui/tabsheet/TabsheetConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/tree/TreeConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/treetable/TreeTableConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/twincolselect/TwinColSelectConnector.java6
-rw-r--r--client/src/com/vaadin/client/ui/twincolselect/VTwinColSelect.java2
-rw-r--r--client/src/com/vaadin/client/ui/video/VVideo.java2
-rw-r--r--server/src/com/vaadin/ui/AbstractComponent.java10
-rw-r--r--server/src/com/vaadin/ui/Component.java13
-rw-r--r--shared/src/com/vaadin/shared/ComponentState.java1
-rw-r--r--shared/src/com/vaadin/shared/ui/absolutelayout/AbsoluteLayoutState.java4
-rw-r--r--shared/src/com/vaadin/shared/ui/browserframe/BrowserFrameState.java4
-rw-r--r--shared/src/com/vaadin/shared/ui/button/ButtonState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/button/NativeButtonState.java7
-rw-r--r--shared/src/com/vaadin/shared/ui/checkbox/CheckBoxState.java5
-rw-r--r--shared/src/com/vaadin/shared/ui/combobox/ComboBoxState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/csslayout/CssLayoutState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/customlayout/CustomLayoutState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/datefield/InlineDateFieldState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/datefield/PopupDateFieldState.java7
-rw-r--r--shared/src/com/vaadin/shared/ui/datefield/TextualDateFieldState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/embedded/EmbeddedState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/flash/FlashState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/form/FormState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/gridlayout/GridLayoutState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/image/ImageState.java4
-rw-r--r--shared/src/com/vaadin/shared/ui/label/LabelState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/link/LinkState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/menubar/MenuBarState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/optiongroup/OptionGroupState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/orderedlayout/HorizontalLayoutState.java8
-rw-r--r--shared/src/com/vaadin/shared/ui/orderedlayout/VerticalLayoutState.java7
-rw-r--r--shared/src/com/vaadin/shared/ui/panel/PanelState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/slider/SliderState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/splitpanel/AbstractSplitPanelState.java1
-rw-r--r--shared/src/com/vaadin/shared/ui/splitpanel/HorizontalSplitPanelState.java8
-rw-r--r--shared/src/com/vaadin/shared/ui/splitpanel/VerticalSplitPanelState.java7
-rw-r--r--shared/src/com/vaadin/shared/ui/table/TableState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/tabsheet/TabsheetState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/textarea/TextAreaState.java3
-rw-r--r--shared/src/com/vaadin/shared/ui/textfield/AbstractTextFieldState.java4
-rw-r--r--shared/src/com/vaadin/shared/ui/tree/TreeState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/treetable/TreeTableState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java9
-rw-r--r--shared/src/com/vaadin/shared/ui/video/VideoState.java4
-rw-r--r--shared/src/com/vaadin/shared/ui/window/WindowState.java3
73 files changed, 605 insertions, 172 deletions
diff --git a/WebContent/META-INF/MANIFEST.MF b/WebContent/META-INF/MANIFEST.MF
index 58630c02ef..59499bce4a 100644
--- a/WebContent/META-INF/MANIFEST.MF
+++ b/WebContent/META-INF/MANIFEST.MF
@@ -1,2 +1,2 @@
-Manifest-Version: 1.0
-
+Manifest-Version: 1.0
+
diff --git a/client/src/com/vaadin/client/ui/AbstractComponentConnector.java b/client/src/com/vaadin/client/ui/AbstractComponentConnector.java
index b1d31370b3..6ff51b3766 100644
--- a/client/src/com/vaadin/client/ui/AbstractComponentConnector.java
+++ b/client/src/com/vaadin/client/ui/AbstractComponentConnector.java
@@ -72,8 +72,6 @@ public abstract class AbstractComponentConnector extends AbstractConnector
getConnection().getVTooltip().connectHandlersToWidget(getWidget());
- // Set the core 'v' style name for the widget
- getWidget().setStyleName(StyleConstants.UI_WIDGET, true);
}
/**
@@ -272,6 +270,16 @@ public abstract class AbstractComponentConnector extends AbstractConnector
ComponentState state = getState();
String primaryStyleName = getWidget().getStylePrimaryName();
+ if (state.primaryStyleName != null) {
+ /*
+ * We overwrite the widgets primary stylename if state defines a
+ * primary stylename. Clears all previous stylenames.
+ */
+ getWidget().setStylePrimaryName(state.primaryStyleName);
+ }
+
+ // Set the core 'v' style name for the widget
+ setWidgetStyleName(StyleConstants.UI_WIDGET, true);
// should be in AbstractFieldConnector ?
// add / remove read-only style name
diff --git a/client/src/com/vaadin/client/ui/absolutelayout/VAbsoluteLayout.java b/client/src/com/vaadin/client/ui/absolutelayout/VAbsoluteLayout.java
index 229ef7b676..1f5b58bef3 100644
--- a/client/src/com/vaadin/client/ui/absolutelayout/VAbsoluteLayout.java
+++ b/client/src/com/vaadin/client/ui/absolutelayout/VAbsoluteLayout.java
@@ -45,8 +45,8 @@ public class VAbsoluteLayout extends ComplexPanel {
public VAbsoluteLayout() {
setElement(Document.get().createDivElement());
- setStyleName(StyleConstants.UI_LAYOUT);
- addStyleName(CLASSNAME);
+ setStyleName(CLASSNAME);
+ addStyleName(StyleConstants.UI_LAYOUT);
marginElement = Document.get().createDivElement();
canvas.getStyle().setProperty("position", "relative");
canvas.getStyle().setProperty("overflow", "hidden");
diff --git a/client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java b/client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java
index da2c981a8d..aac8151d96 100644
--- a/client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java
+++ b/client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java
@@ -11,11 +11,13 @@ public class VBrowserFrame extends Widget {
protected Element altElement;
protected String altText;
+ public static final String CLASSNAME = "v-browserframe";
+
public VBrowserFrame() {
Element root = Document.get().createDivElement();
setElement(root);
- setStylePrimaryName("v-browserframe");
+ setStyleName(CLASSNAME);
createAltTextElement();
}
diff --git a/client/src/com/vaadin/client/ui/button/VButton.java b/client/src/com/vaadin/client/ui/button/VButton.java
index d4cd40e2e9..2486876856 100644
--- a/client/src/com/vaadin/client/ui/button/VButton.java
+++ b/client/src/com/vaadin/client/ui/button/VButton.java
@@ -97,19 +97,24 @@ public class VButton extends FocusWidget implements ClickHandler {
sinkEvents(Event.ONCLICK | Event.MOUSEEVENTS | Event.FOCUSEVENTS
| Event.KEYEVENTS);
- setStyleName(CLASSNAME);
-
// Add a11y role "button"
Accessibility.setRole(getElement(), Accessibility.ROLE_BUTTON);
- wrapper.setClassName(getStylePrimaryName() + "-wrap");
getElement().appendChild(wrapper);
- captionElement.setClassName(getStylePrimaryName() + "-caption");
wrapper.appendChild(captionElement);
+ setStyleName(CLASSNAME);
+
addClickHandler(this);
}
+ @Override
+ public void setStyleName(String style) {
+ super.setStyleName(style);
+ wrapper.setClassName(getStylePrimaryName() + "-wrap");
+ captionElement.setClassName(getStylePrimaryName() + "-caption");
+ }
+
public void setText(String text) {
captionElement.setInnerText(text);
}
diff --git a/client/src/com/vaadin/client/ui/combobox/ComboBoxConnector.java b/client/src/com/vaadin/client/ui/combobox/ComboBoxConnector.java
index bcab8e71fc..697ade43e7 100644
--- a/client/src/com/vaadin/client/ui/combobox/ComboBoxConnector.java
+++ b/client/src/com/vaadin/client/ui/combobox/ComboBoxConnector.java
@@ -27,6 +27,7 @@ import com.vaadin.client.ui.combobox.VFilterSelect.FilterSelectSuggestion;
import com.vaadin.client.ui.menubar.MenuItem;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.combobox.ComboBoxConstants;
+import com.vaadin.shared.ui.combobox.ComboBoxState;
import com.vaadin.shared.ui.combobox.FilteringMode;
import com.vaadin.ui.ComboBox;
@@ -246,6 +247,11 @@ public class ComboBoxConnector extends AbstractFieldConnector implements
}
@Override
+ public ComboBoxState getState() {
+ return (ComboBoxState) super.getState();
+ }
+
+ @Override
public void layout() {
VFilterSelect widget = getWidget();
if (widget.initDone) {
diff --git a/client/src/com/vaadin/client/ui/combobox/VFilterSelect.java b/client/src/com/vaadin/client/ui/combobox/VFilterSelect.java
index 203f982180..3e8cf396d7 100644
--- a/client/src/com/vaadin/client/ui/combobox/VFilterSelect.java
+++ b/client/src/com/vaadin/client/ui/combobox/VFilterSelect.java
@@ -835,7 +835,7 @@ public class VFilterSelect extends Composite implements Field, KeyDownHandler,
@Deprecated
public static final FilteringMode FILTERINGMODE_CONTAINS = FilteringMode.CONTAINS;
- private static final String CLASSNAME = "v-filterselect";
+ public static final String CLASSNAME = "v-filterselect";
private static final String STYLE_NO_INPUT = "no-input";
protected int pageLength = 10;
diff --git a/client/src/com/vaadin/client/ui/csslayout/VCssLayout.java b/client/src/com/vaadin/client/ui/csslayout/VCssLayout.java
index 17666cce13..212a6307be 100644
--- a/client/src/com/vaadin/client/ui/csslayout/VCssLayout.java
+++ b/client/src/com/vaadin/client/ui/csslayout/VCssLayout.java
@@ -33,8 +33,8 @@ public class VCssLayout extends FlowPanel {
*/
public VCssLayout() {
super();
- setStyleName(StyleConstants.UI_LAYOUT);
- addStyleName(CLASSNAME);
+ setStyleName(CLASSNAME);
+ addStyleName(StyleConstants.UI_LAYOUT);
}
/**
diff --git a/client/src/com/vaadin/client/ui/datefield/InlineDateFieldConnector.java b/client/src/com/vaadin/client/ui/datefield/InlineDateFieldConnector.java
index 2f2dd380d6..1800125402 100644
--- a/client/src/com/vaadin/client/ui/datefield/InlineDateFieldConnector.java
+++ b/client/src/com/vaadin/client/ui/datefield/InlineDateFieldConnector.java
@@ -23,6 +23,7 @@ import com.vaadin.client.UIDL;
import com.vaadin.client.ui.datefield.VCalendarPanel.FocusChangeListener;
import com.vaadin.client.ui.datefield.VCalendarPanel.TimeChangeListener;
import com.vaadin.shared.ui.Connect;
+import com.vaadin.shared.ui.datefield.InlineDateFieldState;
import com.vaadin.shared.ui.datefield.Resolution;
import com.vaadin.ui.InlineDateField;
@@ -111,4 +112,9 @@ public class InlineDateFieldConnector extends AbstractDateFieldConnector {
public VDateFieldCalendar getWidget() {
return (VDateFieldCalendar) super.getWidget();
}
+
+ @Override
+ public InlineDateFieldState getState() {
+ return (InlineDateFieldState) super.getState();
+ }
}
diff --git a/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java b/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java
index f5be276575..fbc7bcc88c 100644
--- a/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java
+++ b/client/src/com/vaadin/client/ui/datefield/PopupDateFieldConnector.java
@@ -24,6 +24,7 @@ import com.vaadin.client.UIDL;
import com.vaadin.client.ui.datefield.VCalendarPanel.FocusChangeListener;
import com.vaadin.client.ui.datefield.VCalendarPanel.TimeChangeListener;
import com.vaadin.shared.ui.Connect;
+import com.vaadin.shared.ui.datefield.PopupDateFieldState;
import com.vaadin.shared.ui.datefield.Resolution;
import com.vaadin.ui.DateField;
@@ -123,6 +124,11 @@ public class PopupDateFieldConnector extends TextualDateConnector {
}
@Override
+ public PopupDateFieldState getState() {
+ return (PopupDateFieldState) super.getState();
+ }
+
+ @Override
protected void setWidgetStyleName(String styleName, boolean add) {
super.setWidgetStyleName(styleName, add);
diff --git a/client/src/com/vaadin/client/ui/datefield/TextualDateConnector.java b/client/src/com/vaadin/client/ui/datefield/TextualDateConnector.java
index ef4b53f9f4..ececdb6775 100644
--- a/client/src/com/vaadin/client/ui/datefield/TextualDateConnector.java
+++ b/client/src/com/vaadin/client/ui/datefield/TextualDateConnector.java
@@ -19,6 +19,7 @@ package com.vaadin.client.ui.datefield;
import com.vaadin.client.ApplicationConnection;
import com.vaadin.client.UIDL;
import com.vaadin.shared.ui.datefield.Resolution;
+import com.vaadin.shared.ui.datefield.TextualDateFieldState;
public class TextualDateConnector extends AbstractDateFieldConnector {
@@ -59,4 +60,9 @@ public class TextualDateConnector extends AbstractDateFieldConnector {
public VTextualDate getWidget() {
return (VTextualDate) super.getWidget();
}
+
+ @Override
+ public TextualDateFieldState getState() {
+ return (TextualDateFieldState) super.getState();
+ }
}
diff --git a/client/src/com/vaadin/client/ui/embedded/EmbeddedConnector.java b/client/src/com/vaadin/client/ui/embedded/EmbeddedConnector.java
index 2a1b4dcc44..1b56a56fe8 100644
--- a/client/src/com/vaadin/client/ui/embedded/EmbeddedConnector.java
+++ b/client/src/com/vaadin/client/ui/embedded/EmbeddedConnector.java
@@ -39,6 +39,7 @@ import com.vaadin.shared.MouseEventDetails;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.embedded.EmbeddedConstants;
import com.vaadin.shared.ui.embedded.EmbeddedServerRpc;
+import com.vaadin.shared.ui.embedded.EmbeddedState;
import com.vaadin.ui.Embedded;
@Connect(Embedded.class)
@@ -221,6 +222,11 @@ public class EmbeddedConnector extends AbstractComponentConnector implements
return (VEmbedded) super.getWidget();
}
+ @Override
+ public EmbeddedState getState() {
+ return (EmbeddedState) super.getState();
+ }
+
protected final ClickEventHandler clickEventHandler = new ClickEventHandler(
this) {
diff --git a/client/src/com/vaadin/client/ui/flash/VFlash.java b/client/src/com/vaadin/client/ui/flash/VFlash.java
index 1f94f21056..0f91ff88e7 100644
--- a/client/src/com/vaadin/client/ui/flash/VFlash.java
+++ b/client/src/com/vaadin/client/ui/flash/VFlash.java
@@ -8,6 +8,8 @@ import com.vaadin.client.Util;
public class VFlash extends HTML {
+ public static final String CLASSNAME = "v-flash";
+
protected String source;
protected String altText;
protected String classId;
@@ -21,7 +23,7 @@ public class VFlash extends HTML {
protected String height;
public VFlash() {
- setStylePrimaryName("v-flash");
+ setStyleName(CLASSNAME);
}
public void setSource(String source) {
diff --git a/client/src/com/vaadin/client/ui/gridlayout/VGridLayout.java b/client/src/com/vaadin/client/ui/gridlayout/VGridLayout.java
index 1664a6568f..770499e9b5 100644
--- a/client/src/com/vaadin/client/ui/gridlayout/VGridLayout.java
+++ b/client/src/com/vaadin/client/ui/gridlayout/VGridLayout.java
@@ -71,8 +71,8 @@ public class VGridLayout extends ComplexPanel {
spacingStyle.setPosition(Position.ABSOLUTE);
getElement().appendChild(spacingMeasureElement);
- setStyleName(StyleConstants.UI_LAYOUT);
- addStyleName(CLASSNAME);
+ setStyleName(CLASSNAME);
+ addStyleName(StyleConstants.UI_LAYOUT);
}
private GridLayoutConnector getConnector() {
diff --git a/client/src/com/vaadin/client/ui/image/VImage.java b/client/src/com/vaadin/client/ui/image/VImage.java
index 51603a2e5f..b05357b547 100644
--- a/client/src/com/vaadin/client/ui/image/VImage.java
+++ b/client/src/com/vaadin/client/ui/image/VImage.java
@@ -4,7 +4,9 @@ import com.google.gwt.user.client.ui.Image;
public class VImage extends Image {
+ public static final String CLASSNAME = "v-image";
+
public VImage() {
- setStylePrimaryName("v-image");
+ setStylePrimaryName(CLASSNAME);
}
}
diff --git a/client/src/com/vaadin/client/ui/link/LinkConnector.java b/client/src/com/vaadin/client/ui/link/LinkConnector.java
index d7e5f0b25f..f970855769 100644
--- a/client/src/com/vaadin/client/ui/link/LinkConnector.java
+++ b/client/src/com/vaadin/client/ui/link/LinkConnector.java
@@ -27,6 +27,7 @@ import com.vaadin.client.ui.Icon;
import com.vaadin.shared.ui.BorderStyle;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.link.LinkConstants;
+import com.vaadin.shared.ui.link.LinkState;
import com.vaadin.ui.Link;
@Connect(Link.class)
@@ -49,6 +50,11 @@ public class LinkConnector extends AbstractComponentConnector implements
}
@Override
+ public LinkState getState() {
+ return (LinkState) super.getState();
+ }
+
+ @Override
public boolean delegateCaptionHandling() {
return false;
}
diff --git a/client/src/com/vaadin/client/ui/menubar/MenuBarConnector.java b/client/src/com/vaadin/client/ui/menubar/MenuBarConnector.java
index fcd1a3bdac..29030fbd7d 100644
--- a/client/src/com/vaadin/client/ui/menubar/MenuBarConnector.java
+++ b/client/src/com/vaadin/client/ui/menubar/MenuBarConnector.java
@@ -33,6 +33,7 @@ import com.vaadin.shared.ui.ComponentStateUtil;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.Connect.LoadStyle;
import com.vaadin.shared.ui.menubar.MenuBarConstants;
+import com.vaadin.shared.ui.menubar.MenuBarState;
@Connect(value = com.vaadin.ui.MenuBar.class, loadStyle = LoadStyle.LAZY)
public class MenuBarConnector extends AbstractComponentConnector implements
@@ -178,6 +179,11 @@ public class MenuBarConnector extends AbstractComponentConnector implements
}
@Override
+ public MenuBarState getState() {
+ return (MenuBarState) super.getState();
+ }
+
+ @Override
public void layout() {
getWidget().iLayout();
}
diff --git a/client/src/com/vaadin/client/ui/nativebutton/NativeButtonConnector.java b/client/src/com/vaadin/client/ui/nativebutton/NativeButtonConnector.java
index 75a4d3f893..6bcb2c8cbf 100644
--- a/client/src/com/vaadin/client/ui/nativebutton/NativeButtonConnector.java
+++ b/client/src/com/vaadin/client/ui/nativebutton/NativeButtonConnector.java
@@ -29,7 +29,7 @@ import com.vaadin.client.ui.Icon;
import com.vaadin.shared.communication.FieldRpc.FocusAndBlurServerRpc;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.button.ButtonServerRpc;
-import com.vaadin.shared.ui.button.ButtonState;
+import com.vaadin.shared.ui.button.NativeButtonState;
import com.vaadin.ui.NativeButton;
@Connect(NativeButton.class)
@@ -115,8 +115,8 @@ public class NativeButtonConnector extends AbstractComponentConnector implements
}
@Override
- public ButtonState getState() {
- return (ButtonState) super.getState();
+ public NativeButtonState getState() {
+ return (NativeButtonState) super.getState();
}
@Override
diff --git a/client/src/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java b/client/src/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java
index b6581a8c02..0c3c06a270 100644
--- a/client/src/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java
+++ b/client/src/com/vaadin/client/ui/optiongroup/OptionGroupConnector.java
@@ -26,6 +26,7 @@ import com.vaadin.client.UIDL;
import com.vaadin.shared.EventId;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.optiongroup.OptionGroupConstants;
+import com.vaadin.shared.ui.optiongroup.OptionGroupState;
import com.vaadin.ui.OptionGroup;
@Connect(OptionGroup.class)
@@ -77,4 +78,9 @@ public class OptionGroupConnector extends OptionGroupBaseConnector {
public VOptionGroup getWidget() {
return (VOptionGroup) super.getWidget();
}
+
+ @Override
+ public OptionGroupState getState() {
+ return (OptionGroupState) super.getState();
+ }
}
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/HorizontalLayoutConnector.java b/client/src/com/vaadin/client/ui/orderedlayout/HorizontalLayoutConnector.java
index aa33e99f45..e6829563f9 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/HorizontalLayoutConnector.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/HorizontalLayoutConnector.java
@@ -17,6 +17,7 @@ package com.vaadin.client.ui.orderedlayout;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.Connect.LoadStyle;
+import com.vaadin.shared.ui.orderedlayout.HorizontalLayoutState;
import com.vaadin.ui.HorizontalLayout;
/**
@@ -38,4 +39,9 @@ public class HorizontalLayoutConnector extends AbstractOrderedLayoutConnector {
return (VHorizontalLayout) super.getWidget();
}
+ @Override
+ public HorizontalLayoutState getState() {
+ return (HorizontalLayoutState) super.getState();
+ }
+
}
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/VHorizontalLayout.java b/client/src/com/vaadin/client/ui/orderedlayout/VHorizontalLayout.java
index f80db5113f..b1ebebe1a9 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/VHorizontalLayout.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/VHorizontalLayout.java
@@ -15,18 +15,27 @@
*/
package com.vaadin.client.ui.orderedlayout;
+import com.vaadin.client.StyleConstants;
+
/**
* Represents a layout where the children is ordered vertically
*/
public class VHorizontalLayout extends VOrderedLayout {
- private static final String CLASSNAME = "v-horizontallayout";
+ public static final String CLASSNAME = "v-horizontallayout";
/**
* Default constructor
*/
public VHorizontalLayout() {
- setVertical(false);
- addStyleName(CLASSNAME);
+ super(false);
+ setStyleName(CLASSNAME);
+ }
+
+ @Override
+ public void setStyleName(String style) {
+ super.setStyleName(style);
+ addStyleName(StyleConstants.UI_LAYOUT);
+ addStyleName("v-horizontal");
}
}
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/VOrderedLayout.java b/client/src/com/vaadin/client/ui/orderedlayout/VOrderedLayout.java
index a9397b39c2..e9cdc42b86 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/VOrderedLayout.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/VOrderedLayout.java
@@ -56,31 +56,9 @@ public class VOrderedLayout extends FlowPanel {
private LayoutManager layoutManager;
- /**
- * Constructor
- */
- public VOrderedLayout() {
- setStyleName(StyleConstants.UI_LAYOUT);
- setVertical(true);
- }
- /**
- * Does the layout order its children horizontally or vertically
- *
- * @param vertical
- * true to order the childer vertically, false to order them
- * horizontally
- *
- */
- protected void setVertical(boolean vertical) {
+ public VOrderedLayout(boolean vertical) {
this.vertical = vertical;
- if (vertical) {
- addStyleName("v-vertical");
- removeStyleName("v-horizontal");
- } else {
- addStyleName("v-horizontal");
- removeStyleName("v-vertical");
- }
}
/**
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/VVerticalLayout.java b/client/src/com/vaadin/client/ui/orderedlayout/VVerticalLayout.java
index 17de447b9a..bea85f7cee 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/VVerticalLayout.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/VVerticalLayout.java
@@ -15,18 +15,27 @@
*/
package com.vaadin.client.ui.orderedlayout;
+import com.vaadin.client.StyleConstants;
+
/**
* Represents a layout where the children is ordered vertically
*/
public class VVerticalLayout extends VOrderedLayout {
- private static final String CLASSNAME = "v-verticallayout";
+ public static final String CLASSNAME = "v-verticallayout";
/**
* Default constructor
*/
public VVerticalLayout() {
- setVertical(true);
- addStyleName(CLASSNAME);
+ super(true);
+ setStyleName(CLASSNAME);
+ }
+
+ @Override
+ public void setStyleName(String style) {
+ super.setStyleName(style);
+ addStyleName(StyleConstants.UI_LAYOUT);
+ addStyleName("v-vertical");
}
}
diff --git a/client/src/com/vaadin/client/ui/orderedlayout/VerticalLayoutConnector.java b/client/src/com/vaadin/client/ui/orderedlayout/VerticalLayoutConnector.java
index 13e9b3ecf7..d073e78c9c 100644
--- a/client/src/com/vaadin/client/ui/orderedlayout/VerticalLayoutConnector.java
+++ b/client/src/com/vaadin/client/ui/orderedlayout/VerticalLayoutConnector.java
@@ -17,6 +17,7 @@ package com.vaadin.client.ui.orderedlayout;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.Connect.LoadStyle;
+import com.vaadin.shared.ui.orderedlayout.VerticalLayoutState;
import com.vaadin.ui.VerticalLayout;
/**
@@ -38,4 +39,8 @@ public class VerticalLayoutConnector extends AbstractOrderedLayoutConnector {
return (VVerticalLayout) super.getWidget();
}
+ @Override
+ public VerticalLayoutState getState() {
+ return (VerticalLayoutState) super.getState();
+ }
}
diff --git a/client/src/com/vaadin/client/ui/splitpanel/HorizontalSplitPanelConnector.java b/client/src/com/vaadin/client/ui/splitpanel/HorizontalSplitPanelConnector.java
index c07bb59289..848e9068fe 100644
--- a/client/src/com/vaadin/client/ui/splitpanel/HorizontalSplitPanelConnector.java
+++ b/client/src/com/vaadin/client/ui/splitpanel/HorizontalSplitPanelConnector.java
@@ -17,6 +17,7 @@ package com.vaadin.client.ui.splitpanel;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.Connect.LoadStyle;
+import com.vaadin.shared.ui.splitpanel.HorizontalSplitPanelState;
import com.vaadin.ui.HorizontalSplitPanel;
@Connect(value = HorizontalSplitPanel.class, loadStyle = LoadStyle.EAGER)
@@ -27,4 +28,9 @@ public class HorizontalSplitPanelConnector extends AbstractSplitPanelConnector {
return (VSplitPanelHorizontal) super.getWidget();
}
+ @Override
+ public HorizontalSplitPanelState getState() {
+ return (HorizontalSplitPanelState) super.getState();
+ }
+
}
diff --git a/client/src/com/vaadin/client/ui/splitpanel/VerticalSplitPanelConnector.java b/client/src/com/vaadin/client/ui/splitpanel/VerticalSplitPanelConnector.java
index 7a4c4cbb93..2a57be7523 100644
--- a/client/src/com/vaadin/client/ui/splitpanel/VerticalSplitPanelConnector.java
+++ b/client/src/com/vaadin/client/ui/splitpanel/VerticalSplitPanelConnector.java
@@ -17,6 +17,7 @@ package com.vaadin.client.ui.splitpanel;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.Connect.LoadStyle;
+import com.vaadin.shared.ui.splitpanel.VerticalSplitPanelState;
import com.vaadin.ui.VerticalSplitPanel;
@Connect(value = VerticalSplitPanel.class, loadStyle = LoadStyle.EAGER)
@@ -27,4 +28,9 @@ public class VerticalSplitPanelConnector extends AbstractSplitPanelConnector {
return (VSplitPanelVertical) super.getWidget();
}
+ @Override
+ public VerticalSplitPanelState getState() {
+ return (VerticalSplitPanelState) super.getState();
+ }
+
}
diff --git a/client/src/com/vaadin/client/ui/table/TableConnector.java b/client/src/com/vaadin/client/ui/table/TableConnector.java
index a84a321653..e5e8cbb9ad 100644
--- a/client/src/com/vaadin/client/ui/table/TableConnector.java
+++ b/client/src/com/vaadin/client/ui/table/TableConnector.java
@@ -36,9 +36,9 @@ import com.vaadin.client.ui.AbstractComponentContainerConnector;
import com.vaadin.client.ui.PostLayoutListener;
import com.vaadin.client.ui.table.VScrollTable.ContextMenuDetails;
import com.vaadin.client.ui.table.VScrollTable.VScrollTableBody.VScrollTableRow;
-import com.vaadin.shared.AbstractFieldState;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.table.TableConstants;
+import com.vaadin.shared.ui.table.TableState;
@Connect(com.vaadin.ui.Table.class)
public class TableConnector extends AbstractComponentContainerConnector
@@ -212,10 +212,12 @@ public class TableConnector extends AbstractComponentContainerConnector
showSavedContextMenu(contextMenuBeforeUpdate);
if (!getWidget().isSelectable()) {
- getWidget().scrollBody.addStyleName(VScrollTable.CLASSNAME
+ getWidget().scrollBody.addStyleName(getWidget()
+ .getStylePrimaryName()
+ "-body-noselection");
} else {
- getWidget().scrollBody.removeStyleName(VScrollTable.CLASSNAME
+ getWidget().scrollBody.removeStyleName(getWidget()
+ .getStylePrimaryName()
+ "-body-noselection");
}
@@ -338,8 +340,8 @@ public class TableConnector extends AbstractComponentContainerConnector
}
@Override
- public AbstractFieldState getState() {
- return (AbstractFieldState) super.getState();
+ public TableState getState() {
+ return (TableState) super.getState();
}
/**
diff --git a/client/src/com/vaadin/client/ui/table/VScrollTable.java b/client/src/com/vaadin/client/ui/table/VScrollTable.java
index 633f60be23..fe0530cff1 100644
--- a/client/src/com/vaadin/client/ui/table/VScrollTable.java
+++ b/client/src/com/vaadin/client/ui/table/VScrollTable.java
@@ -35,6 +35,7 @@ import com.google.gwt.dom.client.Node;
import com.google.gwt.dom.client.NodeList;
import com.google.gwt.dom.client.Style;
import com.google.gwt.dom.client.Style.Display;
+import com.google.gwt.dom.client.Style.Overflow;
import com.google.gwt.dom.client.Style.Position;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.dom.client.Style.Visibility;
@@ -131,6 +132,8 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
ScrollHandler, VHasDropHandler, FocusHandler, BlurHandler, Focusable,
ActionOwner {
+ public static final String STYLENAME = "v-table";
+
public enum SelectMode {
NONE(0), SINGLE(1), MULTI(2);
private int id;
@@ -146,9 +149,6 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
private static final String ROW_HEADER_COLUMN_KEY = "0";
- public static final String CLASSNAME = "v-table";
- public static final String CLASSNAME_SELECTION_FOCUS = CLASSNAME + "-focus";
-
private static final double CACHE_RATE_DEFAULT = 2;
/**
@@ -516,12 +516,10 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
public VScrollTable() {
setMultiSelectMode(MULTISELECT_MODE_DEFAULT);
- scrollBodyPanel.addStyleName(CLASSNAME + "-body-wrapper");
scrollBodyPanel.addFocusHandler(this);
scrollBodyPanel.addBlurHandler(this);
scrollBodyPanel.addScrollHandler(this);
- scrollBodyPanel.addStyleName(CLASSNAME + "-body");
/*
* Firefox auto-repeat works correctly only if we use a key press
@@ -546,7 +544,7 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
}
}, ContextMenuEvent.getType());
- setStyleName(CLASSNAME);
+ setStyleName(STYLENAME);
add(tHead);
add(scrollBodyPanel);
@@ -555,6 +553,31 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
rowRequestHandler = new RowRequestHandler();
}
+ @Override
+ public void setStyleName(String style) {
+ scrollBodyPanel
+ .removeStyleName(getStylePrimaryName() + "-body-wrapper");
+ scrollBodyPanel.removeStyleName(getStylePrimaryName() + "-body");
+
+ if (scrollBody != null) {
+ scrollBody.removeStyleName(getStylePrimaryName()
+ + "-body-noselection");
+ }
+
+ super.setStyleName(style);
+
+ scrollBodyPanel.addStyleName(getStylePrimaryName() + "-body-wrapper");
+ scrollBodyPanel.addStyleName(getStylePrimaryName() + "-body");
+
+ tHead.updateStyleNames(getStylePrimaryName());
+ tFoot.updateStyleNames(getStylePrimaryName());
+
+ if (scrollBody != null) {
+ scrollBody.updateStyleNames(getStylePrimaryName());
+ }
+ }
+
+
public void init(ApplicationConnection client) {
this.client = client;
// Add a handler to clear saved context menu details when the menu
@@ -1941,7 +1964,8 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
private void announceScrollPosition() {
if (scrollPositionElement == null) {
scrollPositionElement = DOM.createDiv();
- scrollPositionElement.setClassName(CLASSNAME + "-scrollposition");
+ scrollPositionElement.setClassName(getStylePrimaryName()
+ + "-scrollposition");
scrollPositionElement.getStyle().setPosition(Position.ABSOLUTE);
scrollPositionElement.getStyle().setDisplay(Display.NONE);
getElement().appendChild(scrollPositionElement);
@@ -2180,24 +2204,15 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
public HeaderCell(String colId, String headerText) {
cid = colId;
- DOM.setElementProperty(colResizeWidget, "className", CLASSNAME
- + "-resizer");
-
setText(headerText);
- DOM.appendChild(td, colResizeWidget);
-
- DOM.setElementProperty(sortIndicator, "className", CLASSNAME
- + "-sort-indicator");
- DOM.appendChild(td, sortIndicator);
-
- DOM.setElementProperty(captionContainer, "className", CLASSNAME
- + "-caption-container");
+ td.appendChild(colResizeWidget);
// ensure no clipping initially (problem on column additions)
- DOM.setStyleAttribute(captionContainer, "overflow", "visible");
+ captionContainer.getStyle().setOverflow(Overflow.VISIBLE);
- DOM.appendChild(td, captionContainer);
+ td.appendChild(sortIndicator);
+ td.appendChild(captionContainer);
DOM.sinkEvents(td, Event.MOUSEEVENTS | Event.ONDBLCLICK
| Event.ONCONTEXTMENU | Event.TOUCHEVENTS);
@@ -2207,6 +2222,41 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
setAlign(ALIGN_LEFT);
}
+ protected void updateStyleNames(String primaryStyleName) {
+ colResizeWidget.setClassName(primaryStyleName + "-resizer");
+ sortIndicator.setClassName(primaryStyleName + "-sort-indicator");
+ captionContainer.setClassName(primaryStyleName
+ + "-caption-container");
+ if (sorted) {
+ if (sortAscending) {
+ setStyleName(primaryStyleName + "-header-cell-asc");
+ } else {
+ setStyleName(primaryStyleName + "-header-cell-desc");
+ }
+ } else {
+ setStyleName(primaryStyleName + "-header-cell");
+ }
+
+ final String ALIGN_PREFIX = primaryStyleName
+ + "-caption-container-align-";
+ captionContainer.removeClassName(ALIGN_PREFIX + "center");
+ captionContainer.removeClassName(ALIGN_PREFIX + "right");
+ captionContainer.removeClassName(ALIGN_PREFIX + "left");
+
+ switch (align) {
+ case ALIGN_CENTER:
+ captionContainer.addClassName(ALIGN_PREFIX + "center");
+ break;
+ case ALIGN_RIGHT:
+ captionContainer.addClassName(ALIGN_PREFIX + "right");
+ break;
+ default:
+ captionContainer.addClassName(ALIGN_PREFIX + "left");
+ break;
+ }
+
+ }
+
public void disableAutoWidthCalculation() {
definedWidth = true;
expandRatio = 0;
@@ -2280,15 +2330,7 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
private void setSorted(boolean sorted) {
this.sorted = sorted;
- if (sorted) {
- if (sortAscending) {
- this.setStyleName(CLASSNAME + "-header-cell-asc");
- } else {
- this.setStyleName(CLASSNAME + "-header-cell-desc");
- }
- } else {
- this.setStyleName(CLASSNAME + "-header-cell");
- }
+ updateStyleNames(VScrollTable.this.getStylePrimaryName());
}
/**
@@ -2342,7 +2384,7 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
floatingCopyOfHeaderCell = DOM
.getChild(floatingCopyOfHeaderCell, 2);
DOM.setElementProperty(floatingCopyOfHeaderCell, "className",
- CLASSNAME + "-header-drag");
+ VScrollTable.this.getStylePrimaryName() + "-header-drag");
// otherwise might wrap or be cut if narrow column
DOM.setStyleAttribute(floatingCopyOfHeaderCell, "width", "auto");
updateFloatingCopysPosition(DOM.getAbsoluteLeft(td),
@@ -2590,24 +2632,8 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
}
public void setAlign(char c) {
- final String ALIGN_PREFIX = CLASSNAME + "-caption-container-align-";
- if (align != c) {
- captionContainer.removeClassName(ALIGN_PREFIX + "center");
- captionContainer.removeClassName(ALIGN_PREFIX + "right");
- captionContainer.removeClassName(ALIGN_PREFIX + "left");
- switch (c) {
- case ALIGN_CENTER:
- captionContainer.addClassName(ALIGN_PREFIX + "center");
- break;
- case ALIGN_RIGHT:
- captionContainer.addClassName(ALIGN_PREFIX + "right");
- break;
- default:
- captionContainer.addClassName(ALIGN_PREFIX + "left");
- break;
- }
- }
align = c;
+ updateStyleNames(VScrollTable.this.getStylePrimaryName());
}
public char getAlign() {
@@ -2679,7 +2705,13 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
RowHeadersHeaderCell() {
super(ROW_HEADER_COLUMN_KEY, "");
- this.setStyleName(CLASSNAME + "-header-cell-rowheader");
+ updateStyleNames(VScrollTable.this.getStylePrimaryName());
+ }
+
+ @Override
+ protected void updateStyleNames(String primaryStyleName) {
+ super.updateStyleNames(primaryStyleName);
+ setStyleName(primaryStyleName + "-header-cell-rowheader");
}
@Override
@@ -2714,12 +2746,6 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
}
DOM.setStyleAttribute(hTableWrapper, "overflow", "hidden");
- DOM.setElementProperty(hTableWrapper, "className", CLASSNAME
- + "-header");
-
- // TODO move styles to CSS
- DOM.setElementProperty(columnSelector, "className", CLASSNAME
- + "-column-selector");
DOM.setStyleAttribute(columnSelector, "display", "none");
DOM.appendChild(table, headerTableBody);
@@ -2730,14 +2756,21 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
DOM.appendChild(div, columnSelector);
setElement(div);
- setStyleName(CLASSNAME + "-header-wrap");
-
DOM.sinkEvents(columnSelector, Event.ONCLICK);
availableCells.put(ROW_HEADER_COLUMN_KEY,
new RowHeadersHeaderCell());
}
+ protected void updateStyleNames(String primaryStyleName) {
+ hTableWrapper.setClassName(primaryStyleName + "-header");
+ columnSelector.setClassName(primaryStyleName + "-column-selector");
+ setStyleName(primaryStyleName + "-header-wrap");
+ for (HeaderCell c : availableCells.values()) {
+ c.updateStyleNames(primaryStyleName);
+ }
+ }
+
public void resizeCaptionContainer(HeaderCell cell) {
HeaderCell lastcell = getHeaderCell(visibleCells.size() - 1);
@@ -3004,15 +3037,17 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
private void focusSlot(int index) {
removeSlotFocus();
if (index > 0) {
- DOM.setElementProperty(
- DOM.getFirstChild(DOM.getChild(tr, index - 1)),
- "className", CLASSNAME + "-resizer " + CLASSNAME
- + "-focus-slot-right");
+ Element child = tr.getChild(index - 1).getFirstChild().cast();
+ child.setClassName(VScrollTable.this.getStylePrimaryName()
+ + "-resizer");
+ child.addClassName(VScrollTable.this.getStylePrimaryName()
+ + "-focus-slot-right");
} else {
- DOM.setElementProperty(
- DOM.getFirstChild(DOM.getChild(tr, index)),
- "className", CLASSNAME + "-resizer " + CLASSNAME
- + "-focus-slot-left");
+ Element child = tr.getChild(index).getFirstChild().cast();
+ child.setClassName(VScrollTable.this.getStylePrimaryName()
+ + "-resizer");
+ child.addClassName(VScrollTable.this.getStylePrimaryName()
+ + "-focus-slot-left");
}
focusedSlot = index;
}
@@ -3022,13 +3057,14 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
return;
}
if (focusedSlot == 0) {
- DOM.setElementProperty(
- DOM.getFirstChild(DOM.getChild(tr, focusedSlot)),
- "className", CLASSNAME + "-resizer");
+ Element child = tr.getChild(focusedSlot).getFirstChild().cast();
+ child.setClassName(VScrollTable.this.getStylePrimaryName()
+ + "-resizer");
} else if (focusedSlot > 0) {
- DOM.setElementProperty(
- DOM.getFirstChild(DOM.getChild(tr, focusedSlot - 1)),
- "className", CLASSNAME + "-resizer");
+ Element child = tr.getChild(focusedSlot - 1).getFirstChild()
+ .cast();
+ child.setClassName(VScrollTable.this.getStylePrimaryName()
+ + "-resizer");
}
focusedSlot = -1;
}
@@ -3228,9 +3264,6 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
setText(headerText);
- DOM.setElementProperty(captionContainer, "className", CLASSNAME
- + "-footer-container");
-
// ensure no clipping initially (problem on column additions)
DOM.setStyleAttribute(captionContainer, "overflow", "visible");
@@ -3242,6 +3275,13 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
| Event.ONCONTEXTMENU);
setElement(td);
+
+ updateStyleNames(VScrollTable.this.getStylePrimaryName());
+ }
+
+ protected void updateStyleNames(String primaryStyleName) {
+ captionContainer.setClassName(primaryStyleName
+ + "-footer-container");
}
/**
@@ -3555,8 +3595,6 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
public TableFooter() {
DOM.setStyleAttribute(hTableWrapper, "overflow", "hidden");
- DOM.setElementProperty(hTableWrapper, "className", CLASSNAME
- + "-footer");
DOM.appendChild(table, headerTableBody);
DOM.appendChild(headerTableBody, tr);
@@ -3565,10 +3603,18 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
DOM.appendChild(div, hTableWrapper);
setElement(div);
- setStyleName(CLASSNAME + "-footer-wrap");
-
availableCells.put(ROW_HEADER_COLUMN_KEY,
new RowHeadersFooterCell());
+
+ updateStyleNames(VScrollTable.this.getStylePrimaryName());
+ }
+
+ protected void updateStyleNames(String primaryStyleName) {
+ hTableWrapper.setClassName(primaryStyleName + "-footer");
+ setStyleName(primaryStyleName + "-footer-wrap");
+ for (FooterCell c : availableCells.values()) {
+ c.updateStyleNames(primaryStyleName);
+ }
}
@Override
@@ -3872,14 +3918,9 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
}
private void constructDOM() {
- DOM.setElementProperty(table, "className", CLASSNAME + "-table");
if (BrowserInfo.get().isIE()) {
table.setPropertyInt("cellSpacing", 0);
}
- DOM.setElementProperty(preSpacer, "className", CLASSNAME
- + "-row-spacer");
- DOM.setElementProperty(postSpacer, "className", CLASSNAME
- + "-row-spacer");
table.appendChild(tBodyElement);
DOM.appendChild(container, preSpacer);
@@ -3893,7 +3934,17 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
"translate3d(0,0,0)");
}
}
+ updateStyleNames(VScrollTable.this.getStylePrimaryName());
+ }
+ protected void updateStyleNames(String primaryStyleName) {
+ table.setClassName(primaryStyleName + "-table");
+ preSpacer.setClassName(primaryStyleName + "-row-spacer");
+ postSpacer.setClassName(primaryStyleName + "-row-spacer");
+ for (Widget w : renderedRows) {
+ VScrollTableRow row = (VScrollTableRow) w;
+ row.updateStyleNames(primaryStyleName);
+ }
}
public int getAvailableWidth() {
@@ -4367,6 +4418,8 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
if (rows.getLength() == 0) {
/* need to temporary add empty row and detect */
VScrollTableRow scrollTableRow = new VScrollTableRow();
+ scrollTableRow.updateStyleNames(VScrollTable.this
+ .getStylePrimaryName());
tBodyElement.appendChild(scrollTableRow.getElement());
detectExtrawidth();
tBodyElement.removeChild(scrollTableRow.getElement());
@@ -4450,9 +4503,10 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
private final TableRowElement rowElement;
private int index;
private Event touchStart;
- private static final String ROW_CLASSNAME_EVEN = CLASSNAME + "-row";
- private static final String ROW_CLASSNAME_ODD = CLASSNAME
- + "-row-odd";
+ // private static final String ROW_CLASSNAME_EVEN = CLASSNAME +
+ // "-row";
+ // private static final String ROW_CLASSNAME_ODD = CLASSNAME
+ // + "-row-odd";
private static final int TOUCH_CONTEXT_MENU_TIMEOUT = 500;
private Timer contextTouchTimeout;
private Timer dragTouchTimeout;
@@ -4461,6 +4515,7 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
private TooltipInfo tooltipInfo = null;
private Map<TableCellElement, TooltipInfo> cellToolTips = new HashMap<TableCellElement, TooltipInfo>();
private boolean isDragging = false;
+ private String rowStyle = null;
private VScrollTableRow(int rowKey) {
this.rowKey = rowKey;
@@ -4480,10 +4535,8 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
*/
getElement().getStyle().setProperty("visibility", "hidden");
- String rowStyle = uidl.getStringAttribute("rowstyle");
- if (rowStyle != null) {
- addStyleName(CLASSNAME + "-row-" + rowStyle);
- }
+ rowStyle = uidl.getStringAttribute("rowstyle");
+ updateStyleNames(VScrollTable.this.getStylePrimaryName());
String rowDescription = uidl.getStringAttribute("rowdescr");
if (rowDescription != null && !rowDescription.equals("")) {
@@ -4515,6 +4568,25 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
}
}
+ protected void updateStyleNames(String primaryStyleName) {
+
+ if (getStylePrimaryName().contains("odd")) {
+ setStyleName(primaryStyleName + "-row-odd");
+ } else {
+ setStyleName(primaryStyleName + "-row");
+ }
+
+ if (rowStyle != null) {
+ addStyleName(primaryStyleName + "-row-" + rowStyle);
+ }
+
+ for (int i = 0; i < rowElement.getChildCount(); i++) {
+ TableCellElement cell = (TableCellElement) rowElement
+ .getChild(i);
+ updateCellStyleNames(cell, primaryStyleName);
+ }
+ }
+
public TooltipInfo getTooltipInfo() {
return tooltipInfo;
}
@@ -4524,7 +4596,6 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
*/
public VScrollTableRow() {
this(0);
- addStyleName(CLASSNAME + "-row");
addCell(null, "_", 'b', "", true, false);
}
@@ -4635,12 +4706,16 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
//
// First remove any old styles so that both styles aren't
// applied when indexes are updated.
- removeStyleName(ROW_CLASSNAME_ODD);
- removeStyleName(ROW_CLASSNAME_EVEN);
+ String primaryStyleName = getStylePrimaryName();
+ if (primaryStyleName != null && !primaryStyleName.equals("")) {
+ removeStyleName(getStylePrimaryName());
+ }
if (!isOdd) {
- addStyleName(ROW_CLASSNAME_ODD);
+ addStyleName(VScrollTable.this.getStylePrimaryName()
+ + "-row-odd");
} else {
- addStyleName(ROW_CLASSNAME_EVEN);
+ addStyleName(VScrollTable.this.getStylePrimaryName()
+ + "-row");
}
}
@@ -4676,15 +4751,22 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
String style, boolean textIsHTML, boolean sorted,
String description, final TableCellElement td) {
final Element container = DOM.createDiv();
- String className = CLASSNAME + "-cell-content";
+ container.setClassName(VScrollTable.this.getStylePrimaryName()
+ + "-cell-wrapper");
+
+ td.setClassName(VScrollTable.this.getStylePrimaryName()
+ + "-cell-content");
+
if (style != null && !style.equals("")) {
- className += " " + CLASSNAME + "-cell-content-" + style;
+ td.addClassName(VScrollTable.this.getStylePrimaryName()
+ + "-cell-content-" + style);
}
+
if (sorted) {
- className += " " + CLASSNAME + "-cell-content-sorted";
+ td.addClassName(VScrollTable.this.getStylePrimaryName()
+ + "-cell-content-sorted");
}
- td.setClassName(className);
- container.setClassName(CLASSNAME + "-cell-wrapper");
+
if (textIsHTML) {
container.setInnerHTML(text);
} else {
@@ -4713,6 +4795,20 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
getElement().appendChild(td);
}
+ protected void updateCellStyleNames(TableCellElement td,
+ String primaryStyleName) {
+ Element container = td.getFirstChild().cast();
+ container.setClassName(primaryStyleName + "-cell-wrapper");
+
+ /*
+ * Replace old primary style name with new one
+ */
+ String className = td.getClassName();
+ String oldPrimaryName = className.split("-cell-content")[0];
+ td.setClassName(className.replaceAll(oldPrimaryName,
+ primaryStyleName));
+ }
+
public void addCell(UIDL rowUidl, Widget w, char align,
String style, boolean sorted) {
final TableCellElement td = DOM.createTD().cast();
@@ -4722,15 +4818,19 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
protected void initCellWithWidget(Widget w, char align,
String style, boolean sorted, final TableCellElement td) {
final Element container = DOM.createDiv();
- String className = CLASSNAME + "-cell-content";
+ String className = VScrollTable.this.getStylePrimaryName()
+ + "-cell-content";
if (style != null && !style.equals("")) {
- className += " " + CLASSNAME + "-cell-content-" + style;
+ className += " " + VScrollTable.this.getStylePrimaryName()
+ + "-cell-content-" + style;
}
if (sorted) {
- className += " " + CLASSNAME + "-cell-content-sorted";
+ className += " " + VScrollTable.this.getStylePrimaryName()
+ + "-cell-content-sorted";
}
td.setClassName(className);
- container.setClassName(CLASSNAME + "-cell-wrapper");
+ container.setClassName(VScrollTable.this.getStylePrimaryName()
+ + "-cell-wrapper");
// TODO most components work with this, but not all (e.g.
// Select)
// Old comment: make widget cells respect align.
@@ -6319,7 +6419,8 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
}
private void deEmphasis() {
- UIObject.setStyleName(getElement(), CLASSNAME + "-drag", false);
+ UIObject.setStyleName(getElement(),
+ VScrollTable.this.getStylePrimaryName() + "-drag", false);
if (lastEmphasized == null) {
return;
}
@@ -6344,7 +6445,8 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
*/
private void emphasis(TableDDDetails details) {
deEmphasis();
- UIObject.setStyleName(getElement(), CLASSNAME + "-drag", true);
+ UIObject.setStyleName(getElement(),
+ VScrollTable.this.getStylePrimaryName() + "-drag", true);
// iterate old and new emphasized row
for (Widget w : scrollBody.renderedRows) {
VScrollTableRow row = (VScrollTableRow) w;
@@ -6395,13 +6497,13 @@ public class VScrollTable extends FlowPanel implements HasWidgets,
// Remove previous selection
if (focusedRow != null && focusedRow != row) {
- focusedRow.removeStyleName(CLASSNAME_SELECTION_FOCUS);
+ focusedRow.removeStyleName(getStylePrimaryName());
}
if (row != null) {
// Apply focus style to new selection
- row.addStyleName(CLASSNAME_SELECTION_FOCUS);
+ row.addStyleName(getStylePrimaryName() + "-focus");
/*
* Trying to set focus on already focused row
diff --git a/client/src/com/vaadin/client/ui/tabsheet/TabsheetConnector.java b/client/src/com/vaadin/client/ui/tabsheet/TabsheetConnector.java
index 9c30d1037d..aff5af2a95 100644
--- a/client/src/com/vaadin/client/ui/tabsheet/TabsheetConnector.java
+++ b/client/src/com/vaadin/client/ui/tabsheet/TabsheetConnector.java
@@ -25,6 +25,7 @@ import com.vaadin.client.Util;
import com.vaadin.client.ui.SimpleManagedLayout;
import com.vaadin.client.ui.layout.MayScrollChildren;
import com.vaadin.shared.ui.Connect;
+import com.vaadin.shared.ui.tabsheet.TabsheetState;
import com.vaadin.ui.TabSheet;
@Connect(TabSheet.class)
@@ -82,6 +83,11 @@ public class TabsheetConnector extends TabsheetBaseConnector implements
}
@Override
+ public TabsheetState getState() {
+ return (TabsheetState) super.getState();
+ }
+
+ @Override
public void updateCaption(ComponentConnector component) {
/* Tabsheet does not render its children's captions */
}
diff --git a/client/src/com/vaadin/client/ui/tree/TreeConnector.java b/client/src/com/vaadin/client/ui/tree/TreeConnector.java
index 10a3c0fb95..b7491f8d92 100644
--- a/client/src/com/vaadin/client/ui/tree/TreeConnector.java
+++ b/client/src/com/vaadin/client/ui/tree/TreeConnector.java
@@ -28,10 +28,10 @@ import com.vaadin.client.UIDL;
import com.vaadin.client.Util;
import com.vaadin.client.ui.AbstractComponentConnector;
import com.vaadin.client.ui.tree.VTree.TreeNode;
-import com.vaadin.shared.AbstractFieldState;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.MultiSelectMode;
import com.vaadin.shared.ui.tree.TreeConstants;
+import com.vaadin.shared.ui.tree.TreeState;
import com.vaadin.ui.Tree;
@Connect(Tree.class)
@@ -262,8 +262,8 @@ public class TreeConnector extends AbstractComponentConnector implements
}
@Override
- public AbstractFieldState getState() {
- return (AbstractFieldState) super.getState();
+ public TreeState getState() {
+ return (TreeState) super.getState();
}
@Override
diff --git a/client/src/com/vaadin/client/ui/treetable/TreeTableConnector.java b/client/src/com/vaadin/client/ui/treetable/TreeTableConnector.java
index 5bf1beaf16..4539fbd12a 100644
--- a/client/src/com/vaadin/client/ui/treetable/TreeTableConnector.java
+++ b/client/src/com/vaadin/client/ui/treetable/TreeTableConnector.java
@@ -23,6 +23,7 @@ import com.vaadin.client.ui.table.VScrollTable.VScrollTableBody.VScrollTableRow;
import com.vaadin.client.ui.treetable.VTreeTable.PendingNavigationEvent;
import com.vaadin.shared.ui.Connect;
import com.vaadin.shared.ui.treetable.TreeTableConstants;
+import com.vaadin.shared.ui.treetable.TreeTableState;
import com.vaadin.ui.TreeTable;
@Connect(TreeTable.class)
@@ -105,4 +106,9 @@ public class TreeTableConnector extends TableConnector {
public VTreeTable getWidget() {
return (VTreeTable) super.getWidget();
}
+
+ @Override
+ public TreeTableState getState() {
+ return (TreeTableState) super.getState();
+ }
}
diff --git a/client/src/com/vaadin/client/ui/twincolselect/TwinColSelectConnector.java b/client/src/com/vaadin/client/ui/twincolselect/TwinColSelectConnector.java
index 745de9fe6c..f9767bb727 100644
--- a/client/src/com/vaadin/client/ui/twincolselect/TwinColSelectConnector.java
+++ b/client/src/com/vaadin/client/ui/twincolselect/TwinColSelectConnector.java
@@ -21,6 +21,7 @@ import com.vaadin.client.DirectionalManagedLayout;
import com.vaadin.client.UIDL;
import com.vaadin.client.ui.optiongroup.OptionGroupBaseConnector;
import com.vaadin.shared.ui.Connect;
+import com.vaadin.shared.ui.twincolselect.TwinColSelectState;
import com.vaadin.ui.TwinColSelect;
@Connect(TwinColSelect.class)
@@ -58,6 +59,11 @@ public class TwinColSelectConnector extends OptionGroupBaseConnector implements
}
@Override
+ public TwinColSelectState getState() {
+ return (TwinColSelectState) super.getState();
+ }
+
+ @Override
public void layoutVertically() {
if (isUndefinedHeight()) {
getWidget().clearInternalHeights();
diff --git a/client/src/com/vaadin/client/ui/twincolselect/VTwinColSelect.java b/client/src/com/vaadin/client/ui/twincolselect/VTwinColSelect.java
index cd985876df..494db81e40 100644
--- a/client/src/com/vaadin/client/ui/twincolselect/VTwinColSelect.java
+++ b/client/src/com/vaadin/client/ui/twincolselect/VTwinColSelect.java
@@ -48,7 +48,7 @@ import com.vaadin.shared.ui.twincolselect.TwinColSelectConstants;
public class VTwinColSelect extends VOptionGroupBase implements KeyDownHandler,
MouseDownHandler, DoubleClickHandler, SubPartAware {
- private static final String CLASSNAME = "v-select-twincol";
+ public static final String CLASSNAME = "v-select-twincol";
private static final int VISIBLE_COUNT = 10;
diff --git a/client/src/com/vaadin/client/ui/video/VVideo.java b/client/src/com/vaadin/client/ui/video/VVideo.java
index c1f5f1b353..2f9fbe44be 100644
--- a/client/src/com/vaadin/client/ui/video/VVideo.java
+++ b/client/src/com/vaadin/client/ui/video/VVideo.java
@@ -25,7 +25,7 @@ import com.vaadin.client.ui.VMediaBase;
public class VVideo extends VMediaBase {
- private static String CLASSNAME = "v-video";
+ public static String CLASSNAME = "v-video";
private VideoElement video;
diff --git a/server/src/com/vaadin/ui/AbstractComponent.java b/server/src/com/vaadin/ui/AbstractComponent.java
index 57416e3a06..5e4938dcf5 100644
--- a/server/src/com/vaadin/ui/AbstractComponent.java
+++ b/server/src/com/vaadin/ui/AbstractComponent.java
@@ -197,6 +197,16 @@ public abstract class AbstractComponent extends AbstractClientConnector
}
@Override
+ public void setPrimaryStylename(String style) {
+ getState().primaryStyleName = style;
+ }
+
+ @Override
+ public String getPrimaryStyleName() {
+ return getState().primaryStyleName;
+ }
+
+ @Override
public void addStyleName(String style) {
if (style == null || "".equals(style)) {
return;
diff --git a/server/src/com/vaadin/ui/Component.java b/server/src/com/vaadin/ui/Component.java
index 320a9dc97c..dd7ea6278b 100644
--- a/server/src/com/vaadin/ui/Component.java
+++ b/server/src/com/vaadin/ui/Component.java
@@ -198,6 +198,19 @@ public interface Component extends ClientConnector, Sizeable, Serializable {
public void removeStyleName(String style);
/**
+ * FIXME Javadoc
+ */
+ public String getPrimaryStyleName();
+
+ /**
+ * FIXME Javadoc
+ *
+ * @param style
+ * The stylename to set
+ */
+ public void setPrimaryStylename(String style);
+
+ /**
* Tests whether the component is enabled or not. A user can not interact
* with disabled components. Disabled components are rendered in a style
* that indicates the status, usually in gray color. Children of a disabled
diff --git a/shared/src/com/vaadin/shared/ComponentState.java b/shared/src/com/vaadin/shared/ComponentState.java
index 7d286f39a0..2ecf09b422 100644
--- a/shared/src/com/vaadin/shared/ComponentState.java
+++ b/shared/src/com/vaadin/shared/ComponentState.java
@@ -39,6 +39,7 @@ public class ComponentState extends SharedState {
public String caption = null;
public List<String> styles = null;
public String id = null;
+ public String primaryStyleName = null;
/**
* A set of event identifiers with registered listeners.
*/
diff --git a/shared/src/com/vaadin/shared/ui/absolutelayout/AbsoluteLayoutState.java b/shared/src/com/vaadin/shared/ui/absolutelayout/AbsoluteLayoutState.java
index 283e827e6e..9a112dc763 100644
--- a/shared/src/com/vaadin/shared/ui/absolutelayout/AbsoluteLayoutState.java
+++ b/shared/src/com/vaadin/shared/ui/absolutelayout/AbsoluteLayoutState.java
@@ -21,6 +21,10 @@ import java.util.Map;
import com.vaadin.shared.ui.AbstractLayoutState;
public class AbsoluteLayoutState extends AbstractLayoutState {
+ {
+ primaryStyleName = "v-absolutelayout";
+ }
+
// Maps each component to a position
public Map<String, String> connectorToCssPosition = new HashMap<String, String>();
} \ No newline at end of file
diff --git a/shared/src/com/vaadin/shared/ui/browserframe/BrowserFrameState.java b/shared/src/com/vaadin/shared/ui/browserframe/BrowserFrameState.java
index 1c36420372..6f098e863e 100644
--- a/shared/src/com/vaadin/shared/ui/browserframe/BrowserFrameState.java
+++ b/shared/src/com/vaadin/shared/ui/browserframe/BrowserFrameState.java
@@ -3,5 +3,7 @@ package com.vaadin.shared.ui.browserframe;
import com.vaadin.shared.ui.AbstractEmbeddedState;
public class BrowserFrameState extends AbstractEmbeddedState {
-
+ {
+ primaryStyleName = "v-browserframe";
+ }
}
diff --git a/shared/src/com/vaadin/shared/ui/button/ButtonState.java b/shared/src/com/vaadin/shared/ui/button/ButtonState.java
index c144a8124f..e7272379bb 100644
--- a/shared/src/com/vaadin/shared/ui/button/ButtonState.java
+++ b/shared/src/com/vaadin/shared/ui/button/ButtonState.java
@@ -28,6 +28,9 @@ import com.vaadin.shared.ui.TabIndexState;
* @since 7.0
*/
public class ButtonState extends TabIndexState {
+ {
+ primaryStyleName = "v-button";
+ }
public boolean disableOnClick = false;
public int clickShortcutKeyCode = 0;
/**
diff --git a/shared/src/com/vaadin/shared/ui/button/NativeButtonState.java b/shared/src/com/vaadin/shared/ui/button/NativeButtonState.java
new file mode 100644
index 0000000000..bb7b535c02
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/button/NativeButtonState.java
@@ -0,0 +1,7 @@
+package com.vaadin.shared.ui.button;
+
+public class NativeButtonState extends ButtonState {
+ {
+ primaryStyleName = "v-nativebutton";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/checkbox/CheckBoxState.java b/shared/src/com/vaadin/shared/ui/checkbox/CheckBoxState.java
index b89270bee2..9f7388e21c 100644
--- a/shared/src/com/vaadin/shared/ui/checkbox/CheckBoxState.java
+++ b/shared/src/com/vaadin/shared/ui/checkbox/CheckBoxState.java
@@ -18,6 +18,9 @@ package com.vaadin.shared.ui.checkbox;
import com.vaadin.shared.AbstractFieldState;
public class CheckBoxState extends AbstractFieldState {
- public boolean checked = false;
+ {
+ primaryStyleName = "v-checkbox";
+ }
+ public boolean checked = false;
} \ No newline at end of file
diff --git a/shared/src/com/vaadin/shared/ui/combobox/ComboBoxState.java b/shared/src/com/vaadin/shared/ui/combobox/ComboBoxState.java
new file mode 100644
index 0000000000..a3c0c8e765
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/combobox/ComboBoxState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.combobox;
+
+import com.vaadin.shared.AbstractFieldState;
+
+public class ComboBoxState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-filterselect";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/csslayout/CssLayoutState.java b/shared/src/com/vaadin/shared/ui/csslayout/CssLayoutState.java
index 2fbc42ca0f..fa25f2840b 100644
--- a/shared/src/com/vaadin/shared/ui/csslayout/CssLayoutState.java
+++ b/shared/src/com/vaadin/shared/ui/csslayout/CssLayoutState.java
@@ -22,5 +22,8 @@ import com.vaadin.shared.Connector;
import com.vaadin.shared.ui.AbstractLayoutState;
public class CssLayoutState extends AbstractLayoutState {
+ {
+ primaryStyleName = "v-csslayout";
+ }
public Map<Connector, String> childCss = new HashMap<Connector, String>();
} \ No newline at end of file
diff --git a/shared/src/com/vaadin/shared/ui/customlayout/CustomLayoutState.java b/shared/src/com/vaadin/shared/ui/customlayout/CustomLayoutState.java
index e77ea5c068..07f69b691e 100644
--- a/shared/src/com/vaadin/shared/ui/customlayout/CustomLayoutState.java
+++ b/shared/src/com/vaadin/shared/ui/customlayout/CustomLayoutState.java
@@ -22,6 +22,9 @@ import com.vaadin.shared.Connector;
import com.vaadin.shared.ui.AbstractLayoutState;
public class CustomLayoutState extends AbstractLayoutState {
+ {
+ primaryStyleName = "v-customlayout";
+ }
public Map<Connector, String> childLocations = new HashMap<Connector, String>();
public String templateContents;
public String templateName;
diff --git a/shared/src/com/vaadin/shared/ui/datefield/InlineDateFieldState.java b/shared/src/com/vaadin/shared/ui/datefield/InlineDateFieldState.java
new file mode 100644
index 0000000000..879670effa
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/datefield/InlineDateFieldState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.datefield;
+
+import com.vaadin.shared.AbstractFieldState;
+
+public class InlineDateFieldState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-datefield";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/datefield/PopupDateFieldState.java b/shared/src/com/vaadin/shared/ui/datefield/PopupDateFieldState.java
new file mode 100644
index 0000000000..c0d3b20c28
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/datefield/PopupDateFieldState.java
@@ -0,0 +1,7 @@
+package com.vaadin.shared.ui.datefield;
+
+public class PopupDateFieldState extends TextualDateFieldState {
+ {
+ primaryStyleName = "v-datefield";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/datefield/TextualDateFieldState.java b/shared/src/com/vaadin/shared/ui/datefield/TextualDateFieldState.java
new file mode 100644
index 0000000000..d7c98fa457
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/datefield/TextualDateFieldState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.datefield;
+
+import com.vaadin.shared.AbstractFieldState;
+
+public class TextualDateFieldState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-datefield";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/embedded/EmbeddedState.java b/shared/src/com/vaadin/shared/ui/embedded/EmbeddedState.java
new file mode 100644
index 0000000000..2a85197d0a
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/embedded/EmbeddedState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.embedded;
+
+import com.vaadin.shared.ui.AbstractEmbeddedState;
+
+public class EmbeddedState extends AbstractEmbeddedState {
+ {
+ primaryStyleName = "v-embedded";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/flash/FlashState.java b/shared/src/com/vaadin/shared/ui/flash/FlashState.java
index 50f0d63733..0c94850da7 100644
--- a/shared/src/com/vaadin/shared/ui/flash/FlashState.java
+++ b/shared/src/com/vaadin/shared/ui/flash/FlashState.java
@@ -5,6 +5,9 @@ import java.util.Map;
import com.vaadin.shared.ui.AbstractEmbeddedState;
public class FlashState extends AbstractEmbeddedState {
+ {
+ primaryStyleName = "v-flash";
+ }
public String classId;
diff --git a/shared/src/com/vaadin/shared/ui/form/FormState.java b/shared/src/com/vaadin/shared/ui/form/FormState.java
index f0e79ad38f..c48b68dd4a 100644
--- a/shared/src/com/vaadin/shared/ui/form/FormState.java
+++ b/shared/src/com/vaadin/shared/ui/form/FormState.java
@@ -19,6 +19,9 @@ import com.vaadin.shared.AbstractFieldState;
import com.vaadin.shared.Connector;
public class FormState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-form";
+ }
public Connector layout;
public Connector footer;
} \ No newline at end of file
diff --git a/shared/src/com/vaadin/shared/ui/gridlayout/GridLayoutState.java b/shared/src/com/vaadin/shared/ui/gridlayout/GridLayoutState.java
index ae54dc3765..e8a90adcd5 100644
--- a/shared/src/com/vaadin/shared/ui/gridlayout/GridLayoutState.java
+++ b/shared/src/com/vaadin/shared/ui/gridlayout/GridLayoutState.java
@@ -18,6 +18,9 @@ package com.vaadin.shared.ui.gridlayout;
import com.vaadin.shared.ui.AbstractLayoutState;
public class GridLayoutState extends AbstractLayoutState {
+ {
+ primaryStyleName = "v-gridlayout";
+ }
public boolean spacing = false;
public int rows = 0;
public int columns = 0;
diff --git a/shared/src/com/vaadin/shared/ui/image/ImageState.java b/shared/src/com/vaadin/shared/ui/image/ImageState.java
index 4296c76847..4e9fcf1d5e 100644
--- a/shared/src/com/vaadin/shared/ui/image/ImageState.java
+++ b/shared/src/com/vaadin/shared/ui/image/ImageState.java
@@ -3,5 +3,7 @@ package com.vaadin.shared.ui.image;
import com.vaadin.shared.ui.AbstractEmbeddedState;
public class ImageState extends AbstractEmbeddedState {
-
+ {
+ primaryStyleName = "v-image";
+ }
}
diff --git a/shared/src/com/vaadin/shared/ui/label/LabelState.java b/shared/src/com/vaadin/shared/ui/label/LabelState.java
index a91aeb0aa1..2cccc310aa 100644
--- a/shared/src/com/vaadin/shared/ui/label/LabelState.java
+++ b/shared/src/com/vaadin/shared/ui/label/LabelState.java
@@ -18,6 +18,9 @@ package com.vaadin.shared.ui.label;
import com.vaadin.shared.ComponentState;
public class LabelState extends ComponentState {
+ {
+ primaryStyleName = "v-label";
+ }
public ContentMode contentMode = ContentMode.TEXT;
public String text = "";
}
diff --git a/shared/src/com/vaadin/shared/ui/link/LinkState.java b/shared/src/com/vaadin/shared/ui/link/LinkState.java
new file mode 100644
index 0000000000..96b4600000
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/link/LinkState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.link;
+
+import com.vaadin.shared.ComponentState;
+
+public class LinkState extends ComponentState {
+ {
+ primaryStyleName = "v-link";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/menubar/MenuBarState.java b/shared/src/com/vaadin/shared/ui/menubar/MenuBarState.java
new file mode 100644
index 0000000000..cf1ef99c06
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/menubar/MenuBarState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.menubar;
+
+import com.vaadin.shared.ComponentState;
+
+public class MenuBarState extends ComponentState {
+ {
+ primaryStyleName = "v-menubar";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/optiongroup/OptionGroupState.java b/shared/src/com/vaadin/shared/ui/optiongroup/OptionGroupState.java
new file mode 100644
index 0000000000..855a0a3c08
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/optiongroup/OptionGroupState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.optiongroup;
+
+import com.vaadin.shared.AbstractFieldState;
+
+public class OptionGroupState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-select-optiongroup";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/orderedlayout/HorizontalLayoutState.java b/shared/src/com/vaadin/shared/ui/orderedlayout/HorizontalLayoutState.java
new file mode 100644
index 0000000000..6af6f1c040
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/orderedlayout/HorizontalLayoutState.java
@@ -0,0 +1,8 @@
+package com.vaadin.shared.ui.orderedlayout;
+
+
+public class HorizontalLayoutState extends AbstractOrderedLayoutState {
+ {
+ primaryStyleName = "v-horizontallayout";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/orderedlayout/VerticalLayoutState.java b/shared/src/com/vaadin/shared/ui/orderedlayout/VerticalLayoutState.java
new file mode 100644
index 0000000000..a7054f683f
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/orderedlayout/VerticalLayoutState.java
@@ -0,0 +1,7 @@
+package com.vaadin.shared.ui.orderedlayout;
+
+public class VerticalLayoutState extends AbstractOrderedLayoutState {
+ {
+ primaryStyleName = "v-verticallayout";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/panel/PanelState.java b/shared/src/com/vaadin/shared/ui/panel/PanelState.java
index 878b921d55..9d502df8fe 100644
--- a/shared/src/com/vaadin/shared/ui/panel/PanelState.java
+++ b/shared/src/com/vaadin/shared/ui/panel/PanelState.java
@@ -18,6 +18,9 @@ package com.vaadin.shared.ui.panel;
import com.vaadin.shared.ComponentState;
public class PanelState extends ComponentState {
+ {
+ primaryStyleName = "v-panel";
+ }
public int tabIndex;
public int scrollLeft, scrollTop;
} \ No newline at end of file
diff --git a/shared/src/com/vaadin/shared/ui/slider/SliderState.java b/shared/src/com/vaadin/shared/ui/slider/SliderState.java
index ca18f72b7a..481ee58855 100644
--- a/shared/src/com/vaadin/shared/ui/slider/SliderState.java
+++ b/shared/src/com/vaadin/shared/ui/slider/SliderState.java
@@ -3,6 +3,9 @@ package com.vaadin.shared.ui.slider;
import com.vaadin.shared.AbstractFieldState;
public class SliderState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-slider";
+ }
public double value;
diff --git a/shared/src/com/vaadin/shared/ui/splitpanel/AbstractSplitPanelState.java b/shared/src/com/vaadin/shared/ui/splitpanel/AbstractSplitPanelState.java
index 733f032726..8bddffdfd6 100644
--- a/shared/src/com/vaadin/shared/ui/splitpanel/AbstractSplitPanelState.java
+++ b/shared/src/com/vaadin/shared/ui/splitpanel/AbstractSplitPanelState.java
@@ -21,7 +21,6 @@ import com.vaadin.shared.ComponentState;
import com.vaadin.shared.Connector;
public class AbstractSplitPanelState extends ComponentState {
-
public Connector firstChild = null;
public Connector secondChild = null;
public SplitterState splitterState = new SplitterState();
diff --git a/shared/src/com/vaadin/shared/ui/splitpanel/HorizontalSplitPanelState.java b/shared/src/com/vaadin/shared/ui/splitpanel/HorizontalSplitPanelState.java
new file mode 100644
index 0000000000..4824f63838
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/splitpanel/HorizontalSplitPanelState.java
@@ -0,0 +1,8 @@
+package com.vaadin.shared.ui.splitpanel;
+
+
+public class HorizontalSplitPanelState extends AbstractSplitPanelState {
+ {
+ primaryStyleName = "v-splitpanel-horizontal";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/splitpanel/VerticalSplitPanelState.java b/shared/src/com/vaadin/shared/ui/splitpanel/VerticalSplitPanelState.java
new file mode 100644
index 0000000000..901914cdea
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/splitpanel/VerticalSplitPanelState.java
@@ -0,0 +1,7 @@
+package com.vaadin.shared.ui.splitpanel;
+
+public class VerticalSplitPanelState extends AbstractSplitPanelState {
+ {
+ primaryStyleName = "v-splitpanel-vertical";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/table/TableState.java b/shared/src/com/vaadin/shared/ui/table/TableState.java
new file mode 100644
index 0000000000..8e772b7c92
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/table/TableState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.table;
+
+import com.vaadin.shared.AbstractFieldState;
+
+public class TableState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-table";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/tabsheet/TabsheetState.java b/shared/src/com/vaadin/shared/ui/tabsheet/TabsheetState.java
new file mode 100644
index 0000000000..a36acca9dc
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/tabsheet/TabsheetState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.tabsheet;
+
+import com.vaadin.shared.ComponentState;
+
+public class TabsheetState extends ComponentState {
+ {
+ primaryStyleName = "v-tabsheet";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/textarea/TextAreaState.java b/shared/src/com/vaadin/shared/ui/textarea/TextAreaState.java
index a562c607b0..0b87f5293c 100644
--- a/shared/src/com/vaadin/shared/ui/textarea/TextAreaState.java
+++ b/shared/src/com/vaadin/shared/ui/textarea/TextAreaState.java
@@ -19,6 +19,9 @@ import com.vaadin.shared.annotations.DelegateToWidget;
import com.vaadin.shared.ui.textfield.AbstractTextFieldState;
public class TextAreaState extends AbstractTextFieldState {
+ {
+ primaryStyleName = "v-textarea";
+ }
/**
* Number of visible rows in the text area. The default is 5.
diff --git a/shared/src/com/vaadin/shared/ui/textfield/AbstractTextFieldState.java b/shared/src/com/vaadin/shared/ui/textfield/AbstractTextFieldState.java
index 39265c516f..9ea8ded0a7 100644
--- a/shared/src/com/vaadin/shared/ui/textfield/AbstractTextFieldState.java
+++ b/shared/src/com/vaadin/shared/ui/textfield/AbstractTextFieldState.java
@@ -18,6 +18,10 @@ package com.vaadin.shared.ui.textfield;
import com.vaadin.shared.AbstractFieldState;
public class AbstractTextFieldState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-textfield";
+ }
+
/**
* Maximum character count in text field.
*/
diff --git a/shared/src/com/vaadin/shared/ui/tree/TreeState.java b/shared/src/com/vaadin/shared/ui/tree/TreeState.java
new file mode 100644
index 0000000000..d2d09d41a3
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/tree/TreeState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.tree;
+
+import com.vaadin.shared.AbstractFieldState;
+
+public class TreeState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-tree";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/treetable/TreeTableState.java b/shared/src/com/vaadin/shared/ui/treetable/TreeTableState.java
new file mode 100644
index 0000000000..c8ab3371d3
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/treetable/TreeTableState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.treetable;
+
+import com.vaadin.shared.ui.table.TableState;
+
+public class TreeTableState extends TableState {
+ {
+ primaryStyleName = "v-table";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java b/shared/src/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java
new file mode 100644
index 0000000000..933c1812a0
--- /dev/null
+++ b/shared/src/com/vaadin/shared/ui/twincolselect/TwinColSelectState.java
@@ -0,0 +1,9 @@
+package com.vaadin.shared.ui.twincolselect;
+
+import com.vaadin.shared.AbstractFieldState;
+
+public class TwinColSelectState extends AbstractFieldState {
+ {
+ primaryStyleName = "v-select-twincol";
+ }
+}
diff --git a/shared/src/com/vaadin/shared/ui/video/VideoState.java b/shared/src/com/vaadin/shared/ui/video/VideoState.java
index 2e6e24a743..8d0bc7d8dd 100644
--- a/shared/src/com/vaadin/shared/ui/video/VideoState.java
+++ b/shared/src/com/vaadin/shared/ui/video/VideoState.java
@@ -18,5 +18,7 @@ package com.vaadin.shared.ui.video;
import com.vaadin.shared.ui.AbstractMediaState;
public class VideoState extends AbstractMediaState {
-
+ {
+ primaryStyleName = "v-video";
+ }
}
diff --git a/shared/src/com/vaadin/shared/ui/window/WindowState.java b/shared/src/com/vaadin/shared/ui/window/WindowState.java
index c86b6cb187..7cac98584c 100644
--- a/shared/src/com/vaadin/shared/ui/window/WindowState.java
+++ b/shared/src/com/vaadin/shared/ui/window/WindowState.java
@@ -18,6 +18,9 @@ package com.vaadin.shared.ui.window;
import com.vaadin.shared.ui.panel.PanelState;
public class WindowState extends PanelState {
+ {
+ primaryStyleName = "v-window";
+ }
public boolean modal = false;
public boolean resizable = true;
public boolean resizeLazy = false;