diff options
author | Marc Englund <marc@vaadin.com> | 2012-10-01 11:30:59 +0300 |
---|---|---|
committer | Marc Englund <marc@vaadin.com> | 2012-10-01 11:30:59 +0300 |
commit | 31faeb75ef5c0977acab2c2ca75ecfce2d768949 (patch) | |
tree | 232770256179cf723add360300fa5d95b090de44 | |
parent | d2db8f9054376b9b817f170426ef6a9f27990b0f (diff) | |
parent | 108ead76188fd8b91bddef5252eb875958babbe0 (diff) | |
download | vaadin-framework-31faeb75ef5c0977acab2c2ca75ecfce2d768949.tar.gz vaadin-framework-31faeb75ef5c0977acab2c2ca75ecfce2d768949.zip |
Merge branch 'primary-stylename' into sass
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; |