From: Artur Signell Date: Thu, 8 Jan 2009 13:10:33 +0000 (+0000) Subject: Fix for #2435 - Separate stylenames for VerticalLayout, HorizontalLayout and OrderedL... X-Git-Tag: 6.7.0.beta1~3387 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=89eb83dc413eb76adda8b36ee32f0c333b367cc8;p=vaadin-framework.git Fix for #2435 - Separate stylenames for VerticalLayout, HorizontalLayout and OrderedLayout svn changeset:6457/svn branch:trunk --- diff --git a/WebContent/ITMILL/themes/default/orderedlayout/orderedlayout.css b/WebContent/ITMILL/themes/default/orderedlayout/orderedlayout.css index 5f606f7487..d7fd10365f 100644 --- a/WebContent/ITMILL/themes/default/orderedlayout/orderedlayout.css +++ b/WebContent/ITMILL/themes/default/orderedlayout/orderedlayout.css @@ -1,29 +1,29 @@ -.i-orderedlayout { +.i-horizontallayout, .i-verticallayout { overflow: hidden; } -.i-orderedlayout-margin-top { +.i-horizontallayout-margin-top, .i-verticallayout-margin-top { padding-top: 15px; } -.i-orderedlayout-margin-right { +.i-horizontallayout-margin-right, .i-verticallayout-margin-right { padding-right: 18px; } -.i-orderedlayout-margin-bottom { +.i-horizontallayout-margin-bottom, .i-verticallayout-margin-bottom { padding-bottom: 15px; } -.i-orderedlayout-margin-left { +.i-horizontallayout-margin-left, .i-verticallayout-margin-left { padding-left: 18px; } -.i-orderedlayout-spacing-on { +.i-horizontallayout-spacing-on, .i-verticallayout-spacing-on { padding-top: 8px; padding-left: 8px; } /** This can be used to define spacing if spacing is off server side */ -.i-orderedlayout-spacing-off { +.i-horizontallayout-spacing-off, .i-verticallayout-spacing-off { padding-top: 0px; padding-left: 0px; } diff --git a/WebContent/ITMILL/themes/default/styles.css b/WebContent/ITMILL/themes/default/styles.css index 2bf27bcf4a..85c2020292 100644 --- a/WebContent/ITMILL/themes/default/styles.css +++ b/WebContent/ITMILL/themes/default/styles.css @@ -386,8 +386,6 @@ input.i-modified, cursor: default; } - - .i-link img { vertical-align: middle; } @@ -955,32 +953,32 @@ input.i-modified, } /* ./WebContent/ITMILL/themes/default/orderedlayout/orderedlayout.css */ -.i-orderedlayout { +.i-horizontallayout, .i-verticallayout { overflow: hidden; } -.i-orderedlayout-margin-top { +.i-horizontallayout-margin-top, .i-verticallayout-margin-top { padding-top: 15px; } -.i-orderedlayout-margin-right { +.i-horizontallayout-margin-right, .i-verticallayout-margin-right { padding-right: 18px; } -.i-orderedlayout-margin-bottom { +.i-horizontallayout-margin-bottom, .i-verticallayout-margin-bottom { padding-bottom: 15px; } -.i-orderedlayout-margin-left { +.i-horizontallayout-margin-left, .i-verticallayout-margin-left { padding-left: 18px; } -.i-orderedlayout-spacing-on { +.i-horizontallayout-spacing-on, .i-verticallayout-spacing-on { padding-top: 8px; padding-left: 8px; } /** This can be used to define spacing if spacing is off server side */ -.i-orderedlayout-spacing-off { +.i-horizontallayout-spacing-off, .i-verticallayout-spacing-off { padding-top: 0px; padding-left: 0px; } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java index e0b39d4997..e81f5fff47 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetSet.java @@ -16,6 +16,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.IFilterSelect; import com.itmill.toolkit.terminal.gwt.client.ui.IForm; import com.itmill.toolkit.terminal.gwt.client.ui.IFormLayout; import com.itmill.toolkit.terminal.gwt.client.ui.IGridLayout; +import com.itmill.toolkit.terminal.gwt.client.ui.IHorizontalLayout; import com.itmill.toolkit.terminal.gwt.client.ui.ILabel; import com.itmill.toolkit.terminal.gwt.client.ui.ILink; import com.itmill.toolkit.terminal.gwt.client.ui.IListSelect; @@ -42,6 +43,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.ITwinColSelect; import com.itmill.toolkit.terminal.gwt.client.ui.IUnknownComponent; import com.itmill.toolkit.terminal.gwt.client.ui.IUpload; import com.itmill.toolkit.terminal.gwt.client.ui.IUriFragmentUtility; +import com.itmill.toolkit.terminal.gwt.client.ui.IVerticalLayout; import com.itmill.toolkit.terminal.gwt.client.ui.IWindow; import com.itmill.toolkit.terminal.gwt.client.ui.richtextarea.IRichTextArea; @@ -65,6 +67,10 @@ public class DefaultWidgetSet implements WidgetSet { return new IWindow(); } else if (IOrderedLayout.class == classType) { return new IOrderedLayout(); + } else if (IVerticalLayout.class == classType) { + return new IVerticalLayout(); + } else if (IHorizontalLayout.class == classType) { + return new IHorizontalLayout(); } else if (ILabel.class == classType) { return new ILabel(); } else if (ILink.class == classType) { @@ -151,6 +157,10 @@ public class DefaultWidgetSet implements WidgetSet { return IWindow.class; } else if ("orderedlayout".equals(tag)) { return IOrderedLayout.class; + } else if ("verticallayout".equals(tag)) { + return IVerticalLayout.class; + } else if ("horizontallayout".equals(tag)) { + return IHorizontalLayout.class; } else if ("label".equals(tag)) { return ILabel.class; } else if ("link".equals(tag)) { diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IHorizontalLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IHorizontalLayout.java new file mode 100644 index 0000000000..5ced7fdeed --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IHorizontalLayout.java @@ -0,0 +1,11 @@ +package com.itmill.toolkit.terminal.gwt.client.ui; + +public class IHorizontalLayout extends IOrderedLayout { + + public static final String CLASSNAME = "i-horizontallayout"; + + public IHorizontalLayout() { + super(CLASSNAME, ORIENTATION_HORIZONTAL); + } + +} diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IOrderedLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IOrderedLayout.java index a9282e3bc9..2b0be73c58 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IOrderedLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IOrderedLayout.java @@ -20,15 +20,10 @@ public class IOrderedLayout extends CellBasedLayout { public static final String CLASSNAME = "i-orderedlayout"; - static { - STYLENAME_SPACING = "i-orderedlayout-spacing"; - STYLENAME_MARGIN_TOP = "i-orderedlayout-margin-top"; - STYLENAME_MARGIN_RIGHT = "i-orderedlayout-margin-right"; - STYLENAME_MARGIN_BOTTOM = "i-orderedlayout-margin-bottom"; - STYLENAME_MARGIN_LEFT = "i-orderedlayout-margin-left"; - } + private int orientation; - private int orientation = ORIENTATION_HORIZONTAL; + // Can be removed once OrderedLayout is removed + private boolean allowOrientationUpdate = false; /** * Size of the layout excluding any margins. @@ -40,7 +35,20 @@ public class IOrderedLayout extends CellBasedLayout { private String width = ""; public IOrderedLayout() { - setStyleName(CLASSNAME); + this(CLASSNAME, ORIENTATION_VERTICAL); + allowOrientationUpdate = true; + } + + protected IOrderedLayout(String className, int orientation) { + setStyleName(className); + this.orientation = orientation; + + STYLENAME_SPACING = className + "-spacing"; + STYLENAME_MARGIN_TOP = className + "-margin-top"; + STYLENAME_MARGIN_RIGHT = className + "-margin-right"; + STYLENAME_MARGIN_BOTTOM = className + "-margin-bottom"; + STYLENAME_MARGIN_LEFT = className + "-margin-left"; + } @Override @@ -55,7 +63,9 @@ public class IOrderedLayout extends CellBasedLayout { return; } - handleOrientationUpdate(uidl); + if (allowOrientationUpdate) { + handleOrientationUpdate(uidl); + } // IStopWatch w = new IStopWatch("OrderedLayout.updateFromUIDL"); diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IVerticalLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IVerticalLayout.java new file mode 100644 index 0000000000..d61e79291a --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IVerticalLayout.java @@ -0,0 +1,11 @@ +package com.itmill.toolkit.terminal.gwt.client.ui; + +public class IVerticalLayout extends IOrderedLayout { + + public static final String CLASSNAME = "i-verticallayout"; + + public IVerticalLayout() { + super(CLASSNAME, ORIENTATION_VERTICAL); + } + +} diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/layout/CellBasedLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/layout/CellBasedLayout.java index c1c4da749d..7e9258a436 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/layout/CellBasedLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/layout/CellBasedLayout.java @@ -44,6 +44,12 @@ public abstract class CellBasedLayout extends ComplexPanel implements Container private boolean marginsNeedsRecalculation = false; + protected String STYLENAME_SPACING = ""; + protected String STYLENAME_MARGIN_TOP = ""; + protected String STYLENAME_MARGIN_RIGHT = ""; + protected String STYLENAME_MARGIN_BOTTOM = ""; + protected String STYLENAME_MARGIN_LEFT = ""; + public static class Spacing { public int hSpacing = 0; @@ -121,12 +127,6 @@ public abstract class CellBasedLayout extends ComplexPanel implements Container } - protected static String STYLENAME_SPACING = ""; - protected static String STYLENAME_MARGIN_TOP = ""; - protected static String STYLENAME_MARGIN_RIGHT = ""; - protected static String STYLENAME_MARGIN_BOTTOM = ""; - protected static String STYLENAME_MARGIN_LEFT = ""; - @Override public void setStyleName(String styleName) { super.setStyleName(styleName); diff --git a/src/com/itmill/toolkit/ui/HorizontalLayout.java b/src/com/itmill/toolkit/ui/HorizontalLayout.java index 499712d81c..1ae5d7a375 100644 --- a/src/com/itmill/toolkit/ui/HorizontalLayout.java +++ b/src/com/itmill/toolkit/ui/HorizontalLayout.java @@ -1,8 +1,5 @@ package com.itmill.toolkit.ui; -import com.itmill.toolkit.terminal.PaintException; -import com.itmill.toolkit.terminal.PaintTarget; - /** * Horizontal layout * @@ -21,12 +18,8 @@ public class HorizontalLayout extends AbstractOrderedLayout { } @Override - public void paintContent(PaintTarget target) throws PaintException { - super.paintContent(target); - - // Adds the attributes: orientation - target.addAttribute("orientation", "horizontal"); - + public String getTag() { + return "horizontallayout"; } } diff --git a/src/com/itmill/toolkit/ui/VerticalLayout.java b/src/com/itmill/toolkit/ui/VerticalLayout.java index d2cf580e22..1bc5e99794 100644 --- a/src/com/itmill/toolkit/ui/VerticalLayout.java +++ b/src/com/itmill/toolkit/ui/VerticalLayout.java @@ -18,8 +18,9 @@ public class VerticalLayout extends AbstractOrderedLayout { setWidth("100%"); } - /* - * An AbstractOrderedLayout is by default vertical so we do not need to - * override paintContent for that - */ + @Override + public String getTag() { + return "verticallayout"; + } + }