diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2008-01-31 10:53:52 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2008-01-31 10:53:52 +0000 |
commit | 09837a9ad03cd073436c73359886e29176b805b9 (patch) | |
tree | fd7a317e1b3db81f3406f06bfea307881d82dc30 /src | |
parent | e6f54593975a695ae71090902df051771799e979 (diff) | |
download | vaadin-framework-09837a9ad03cd073436c73359886e29176b805b9.tar.gz vaadin-framework-09837a9ad03cd073436c73359886e29176b805b9.zip |
setWidth(String) and setHeight(String) methods added to Sizeable
svn changeset:3680/svn branch:trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/com/itmill/toolkit/terminal/Sizeable.java | 20 | ||||
-rw-r--r-- | src/com/itmill/toolkit/ui/AbstractComponent.java | 45 | ||||
-rw-r--r-- | src/com/itmill/toolkit/ui/CustomComponent.java | 10 |
3 files changed, 73 insertions, 2 deletions
diff --git a/src/com/itmill/toolkit/terminal/Sizeable.java b/src/com/itmill/toolkit/terminal/Sizeable.java index c5cb14acd2..b6dbb187ad 100644 --- a/src/com/itmill/toolkit/terminal/Sizeable.java +++ b/src/com/itmill/toolkit/terminal/Sizeable.java @@ -41,12 +41,12 @@ public interface Sizeable { public static final int UNITS_EX = 4; /** - * Unit code representing millimetres. + * Unit code representing millimeters. */ public static final int UNITS_MM = 5; /** - * Unit code representing centimetres. + * Unit code representing centimeters. */ public static final int UNITS_CM = 6; @@ -157,6 +157,22 @@ public interface Sizeable { public void setHeightUnits(int units); /** + * TODO + * + * @param height + * in CSS style string representation + */ + public void setHeight(String height); + + /** + * TODO + * + * @param width + * in CSS style string representation + */ + public void setWidth(String width); + + /** * Sets the size to 100% x 100%. */ public void setSizeFull(); diff --git a/src/com/itmill/toolkit/ui/AbstractComponent.java b/src/com/itmill/toolkit/ui/AbstractComponent.java index 137e48a0c2..dc305af320 100644 --- a/src/com/itmill/toolkit/ui/AbstractComponent.java +++ b/src/com/itmill/toolkit/ui/AbstractComponent.java @@ -1109,4 +1109,49 @@ public abstract class AbstractComponent implements Component, MethodEventSource setWidth(width); setWidthUnits(unit); } + + public void setWidth(String width) { + int[] p = parseStringSize(width); + setWidth(p[0]); + setWidthUnits(p[1]); + } + + public void setHeight(String width) { + int[] p = parseStringSize(width); + setHeight(p[0]); + setHeightUnits(p[1]); + } + + /* + * returns array with size in index 0 unit in index 1 + */ + private static int[] parseStringSize(String s) { + int[] values = new int[2]; + s = s.trim(); + if (s.contains("%")) { + values[1] = UNITS_PERCENTAGE; + values[0] = (int) Float.parseFloat(s.substring(0, s.indexOf("%"))); + } else { + values[0] = (int) Float.parseFloat(s.substring(0, s.length() - 2)); + if (s.endsWith("px")) { + values[1] = UNITS_PIXELS; + } else if (s.endsWith("em")) { + values[1] = UNITS_EM; + } else if (s.endsWith("ex")) { + values[1] = UNITS_EX; + } else if (s.endsWith("in")) { + values[1] = UNITS_INCH; + } else if (s.endsWith("cm")) { + values[1] = UNITS_CM; + } else if (s.endsWith("mm")) { + values[1] = UNITS_MM; + } else if (s.endsWith("pt")) { + values[1] = UNITS_POINTS; + } else if (s.endsWith("pc")) { + values[1] = UNITS_PICAS; + } + } + return values; + } + }
\ No newline at end of file diff --git a/src/com/itmill/toolkit/ui/CustomComponent.java b/src/com/itmill/toolkit/ui/CustomComponent.java index 27c99f2f5c..ef531aa12f 100644 --- a/src/com/itmill/toolkit/ui/CustomComponent.java +++ b/src/com/itmill/toolkit/ui/CustomComponent.java @@ -559,4 +559,14 @@ public class CustomComponent implements Component { } + public void setHeight(String height) { + // TODO Auto-generated method stub + + } + + public void setWidth(String width) { + // TODO Auto-generated method stub + + } + } |