diff options
author | Jouni Koivuviita <jouni.koivuviita@itmill.com> | 2007-11-06 07:14:26 +0000 |
---|---|---|
committer | Jouni Koivuviita <jouni.koivuviita@itmill.com> | 2007-11-06 07:14:26 +0000 |
commit | f138893b54f154a49d23af9556c874f7eba16013 (patch) | |
tree | 2174dd23b89511e97663498856da4a2bc90b5e3e /src/com/itmill/toolkit/ui/SplitPanel.java | |
parent | bf4817c10409082c01bf59f20568d9e628c9d5ba (diff) | |
download | vaadin-framework-f138893b54f154a49d23af9556c874f7eba16013.tar.gz vaadin-framework-f138893b54f154a49d23af9556c874f7eba16013.zip |
-Layouts no longer implement Sizeable (except SplitPanel and ExpandLayout). Sizeable implementation now copy-pasted to all implementing classes (Panel, Tabsheet, SplitPanel...).
-Changed ReservationApplication to conform to new setStyleName. Removed deprecated style constant usages also. Some margins enabled to layouts.
-IOrderedLayout vertical reverted back to DIV implementation.
-Margins added to demo layouts where needed.
svn changeset:2714/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/ui/SplitPanel.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/SplitPanel.java | 140 |
1 files changed, 137 insertions, 3 deletions
diff --git a/src/com/itmill/toolkit/ui/SplitPanel.java b/src/com/itmill/toolkit/ui/SplitPanel.java index cb9adc5eef..3ae1a90c73 100644 --- a/src/com/itmill/toolkit/ui/SplitPanel.java +++ b/src/com/itmill/toolkit/ui/SplitPanel.java @@ -45,7 +45,7 @@ import com.itmill.toolkit.terminal.Sizeable; * @VERSION@ * @since 5.0 */ -public class SplitPanel extends AbstractLayout { +public class SplitPanel extends AbstractLayout implements Sizeable { /* Predefined orientations ***************************************** */ @@ -73,6 +73,30 @@ public class SplitPanel extends AbstractLayout { private int posUnit = UNITS_PERCENTAGE; /** + * Height of the layout. Set to -1 for undefined height. + */ + private int height = -1; + + /** + * Height unit. + * + * @see com.itmill.toolkit.terminal.Sizeable.UNIT_SYMBOLS; + */ + private int heightUnit = UNITS_PIXELS; + + /** + * Width of the layout. Set to -1 for undefined width. + */ + private int width = -1; + + /** + * Width unit. + * + * @see com.itmill.toolkit.terminal.Sizeable.UNIT_SYMBOLS; + */ + private int widthUnit = UNITS_PIXELS; + + /** * Creates a new split panel. The orientation of the panels is * <code>ORIENTATION_VERTICAL</code>. */ @@ -210,13 +234,20 @@ public class SplitPanel extends AbstractLayout { * if the paint operation failed. */ public void paintContent(PaintTarget target) throws PaintException { - super.paintContent(target); String position = pos + UNIT_SYMBOLS[posUnit]; target.addAttribute("position", position); + // Add size info + if (getHeight() > -1) + target.addAttribute("height", getHeight() + + UNIT_SYMBOLS[getHeightUnits()]); + if (getWidth() > -1) + target.addAttribute("width", getWidth() + + UNIT_SYMBOLS[getWidthUnits()]); + if (firstComponent != null) firstComponent.paint(target); else @@ -278,11 +309,114 @@ public class SplitPanel extends AbstractLayout { * * @param pos * size of the first region - * @param unit the unit (from {@link Sizeable}) in which the size is given. + * @param unit + * the unit (from {@link Sizeable}) in which the size is given. */ public void setSplitPosition(int pos, int unit) { this.pos = pos; this.posUnit = unit; } + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#getHeight() + */ + public int getHeight() { + return height; + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#getHeightUnits() + */ + public int getHeightUnits() { + return heightUnit; + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#getWidth() + */ + public int getWidth() { + return width; + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#getWidthUnits() + */ + public int getWidthUnits() { + return widthUnit; + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setHeight(int) + */ + public void setHeight(int height) { + this.height = height; + requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setHeightUnits(int) + */ + public void setHeightUnits(int units) { + this.heightUnit = units; + requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setSizeFull() + */ + public void setSizeFull() { + height = 100; + width = 100; + heightUnit = UNITS_PERCENTAGE; + widthUnit = UNITS_PERCENTAGE; + requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setSizeUndefined() + */ + public void setSizeUndefined() { + height = -1; + width = -1; + heightUnit = UNITS_PIXELS; + widthUnit = UNITS_PIXELS; + requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setWidth(int) + */ + public void setWidth(int width) { + this.width = width; + requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setWidthUnits(int) + */ + public void setWidthUnits(int units) { + this.widthUnit = units; + requestRepaint(); + } + } |