diff options
47 files changed, 526 insertions, 721 deletions
diff --git a/src/com/itmill/toolkit/demo/BrowserDemo.java b/src/com/itmill/toolkit/demo/BrowserDemo.java index 13d4bc5d0c..e4b70b2bee 100644 --- a/src/com/itmill/toolkit/demo/BrowserDemo.java +++ b/src/com/itmill/toolkit/demo/BrowserDemo.java @@ -37,7 +37,7 @@ public class BrowserDemo extends com.itmill.toolkit.Application implements // possible. final ExpandLayout exl = new ExpandLayout(); browser.setLayout(exl); - exl.setSizeFull(); + exl.getSize().setSizeFull(); // create the address combobox final Select select = new Select(); diff --git a/src/com/itmill/toolkit/demo/LayoutDemo.java b/src/com/itmill/toolkit/demo/LayoutDemo.java index a3a671dffe..0704a22dcd 100644 --- a/src/com/itmill/toolkit/demo/LayoutDemo.java +++ b/src/com/itmill/toolkit/demo/LayoutDemo.java @@ -127,7 +127,7 @@ public class LayoutDemo extends com.itmill.toolkit.Application { + " Panel contains an layout where the actual contained components are added, " + "this layout may be switched on the fly.", Label.CONTENT_XHTML)); - panel.setWidth(222); + panel.getSize().setWidth(222); return panel; } diff --git a/src/com/itmill/toolkit/demo/NativeWindowing.java b/src/com/itmill/toolkit/demo/NativeWindowing.java index 7dadd7c4bb..4d98203cdc 100644 --- a/src/com/itmill/toolkit/demo/NativeWindowing.java +++ b/src/com/itmill/toolkit/demo/NativeWindowing.java @@ -29,11 +29,11 @@ public class NativeWindowing extends Application { main.addWindow(w); w.setPositionX(100); w.setPositionY(100); - w.setWidth(200); - w.setHeight(200); + w.getSize().setWidth(200); + w.getSize().setHeight(200); - w.setWidth(100); - w.setHeight(400); + w.getSize().setWidth(100); + w.getSize().setHeight(400); final Button closebutton = new Button("Close " + w.getCaption(), new Button.ClickListener() { diff --git a/src/com/itmill/toolkit/demo/Parameters.java b/src/com/itmill/toolkit/demo/Parameters.java index 204860e44b..65e203c729 100644 --- a/src/com/itmill/toolkit/demo/Parameters.java +++ b/src/com/itmill/toolkit/demo/Parameters.java @@ -11,7 +11,6 @@ import java.util.Map; import com.itmill.toolkit.terminal.DownloadStream; import com.itmill.toolkit.terminal.ExternalResource; import com.itmill.toolkit.terminal.ParameterHandler; -import com.itmill.toolkit.terminal.Sizeable; import com.itmill.toolkit.terminal.URIHandler; import com.itmill.toolkit.ui.ExpandLayout; import com.itmill.toolkit.ui.Label; @@ -74,10 +73,7 @@ public class Parameters extends com.itmill.toolkit.Application implements params.addContainerProperty("Key", String.class, ""); params.addContainerProperty("Value", String.class, ""); final Panel panel2 = new Panel("Parameter Handler"); - params.setHeight(100); - params.setHeightUnits(Sizeable.UNITS_PERCENTAGE); - panel2.setHeight(100); - panel2.setHeightUnits(Sizeable.UNITS_PERCENTAGE); + params.getSize().setSizeFull(); panel2.setLayout(new ExpandLayout()); panel2.getLayout().setMargin(true); diff --git a/src/com/itmill/toolkit/demo/TreeFilesystem.java b/src/com/itmill/toolkit/demo/TreeFilesystem.java index 7fa1f3a1f4..79f7c3624d 100644 --- a/src/com/itmill/toolkit/demo/TreeFilesystem.java +++ b/src/com/itmill/toolkit/demo/TreeFilesystem.java @@ -42,7 +42,7 @@ public class TreeFilesystem extends com.itmill.toolkit.Application implements // configure file structure panel main.addComponent(explorerPanel); explorerPanel.addComponent(tree); - explorerPanel.setHeight(400); + explorerPanel.getSize().setHeight(400); // "this" handles tree's expand event tree.addListener(this); diff --git a/src/com/itmill/toolkit/demo/TreeFilesystemContainer.java b/src/com/itmill/toolkit/demo/TreeFilesystemContainer.java index 6ccc7522ec..2831804443 100644 --- a/src/com/itmill/toolkit/demo/TreeFilesystemContainer.java +++ b/src/com/itmill/toolkit/demo/TreeFilesystemContainer.java @@ -51,10 +51,10 @@ public class TreeFilesystemContainer extends com.itmill.toolkit.Application main.setMargin(true); main.setSpacing(true); - propertyPanel.setHeight(120); + propertyPanel.getSize().setHeight(120); main.addComponent(propertyPanel); - explorerPanel.setHeight(100); - explorerPanel.setHeightUnits(Sizeable.UNITS_PERCENTAGE); + explorerPanel.getSize().setHeight(100); + explorerPanel.getSize().setHeightUnits(Sizeable.UNITS_PERCENTAGE); main.addComponent(explorerPanel); main.expand(explorerPanel); diff --git a/src/com/itmill/toolkit/demo/WindowedDemos.java b/src/com/itmill/toolkit/demo/WindowedDemos.java index 6ec59bf629..f0102ac110 100644 --- a/src/com/itmill/toolkit/demo/WindowedDemos.java +++ b/src/com/itmill/toolkit/demo/WindowedDemos.java @@ -45,8 +45,8 @@ public class WindowedDemos extends com.itmill.toolkit.Application { // Create menu window. final Window menu = new Window("Select demo"); - menu.setWidth(200); - menu.setHeight(400); + menu.getSize().setWidth(200); + menu.getSize().setHeight(400); main.addWindow(menu); // add to layout // Create a menu button for each demo @@ -75,8 +75,8 @@ public class WindowedDemos extends com.itmill.toolkit.Application { Window w = (Window) windows.get(demoName); if (w == null) { w = new Window(demoName); - w.setWidth(520); - w.setHeight(500); + w.getSize().setWidth(520); + w.getSize().setHeight(500); w.setPositionX(202); windows.put(demoName, w); getMainWindow().addWindow(w); diff --git a/src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java b/src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java index 7391fc135e..d592be5b53 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java @@ -34,7 +34,7 @@ public class EmbeddedBrowserExample extends ExpandLayout implements } public EmbeddedBrowserExample(String[] urls) { - setSizeFull(); + getSize().setSizeFull(); // create the address combobox final Select select = new Select(); diff --git a/src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java b/src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java index 1088cd789d..0071b081b4 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java @@ -12,7 +12,7 @@ import com.itmill.toolkit.data.Property.ValueChangeEvent; import com.itmill.toolkit.data.util.HierarchicalContainer; import com.itmill.toolkit.data.util.IndexedContainer; import com.itmill.toolkit.terminal.ExternalResource; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.terminal.ThemeResource; import com.itmill.toolkit.ui.AbstractSelect; import com.itmill.toolkit.ui.Button; @@ -110,7 +110,7 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements final SplitPanel split = new SplitPanel( SplitPanel.ORIENTATION_HORIZONTAL); - split.setSplitPosition(200, Sizeable.UNITS_PIXELS); + split.setSplitPosition(200, Size.UNITS_PIXELS); main.setLayout(split); final HashMap sectionIds = new HashMap(); @@ -153,11 +153,11 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements split.addComponent(tree); final SplitPanel split2 = new SplitPanel(); - split2.setSplitPosition(200, Sizeable.UNITS_PIXELS); + split2.setSplitPosition(200, Size.UNITS_PIXELS); split.addComponent(split2); table = new Table(); - table.setSizeFull(); + table.getSize().setSizeFull(); table.setColumnReorderingAllowed(true); table.setColumnCollapsingAllowed(true); table.setSelectable(true); @@ -193,11 +193,11 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements return; } Window w = new Window(caption); - w.setWidth(640); + w.getSize().setWidth(640); if (Layout.class.isAssignableFrom(component.getClass())) { w.setLayout((Layout) component); } else { - w.getLayout().setSizeFull(); + //w.getLayout().getSize().setSizeFull(); w.addComponent(component); } getMainWindow().addWindow(w); @@ -224,7 +224,7 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements if (Layout.class.isAssignableFrom(component.getClass())) { w.setLayout((Layout) component); } else { - w.getLayout().setSizeFull(); + //w.getLayout().getSize().setSizeFull(); w.addComponent(component); } addWindow(w); @@ -240,7 +240,7 @@ public class FeatureBrowser extends com.itmill.toolkit.Application implements OrderedLayout.ALIGNMENT_TOP); ts = new TabSheet(); - ts.setSizeFull(); + ts.getSize().setSizeFull(); ts.addTab(new Label(""), "Choose example", null); exp.addComponent(ts); exp.expand(ts); diff --git a/src/com/itmill/toolkit/demo/featurebrowser/TableExample.java b/src/com/itmill/toolkit/demo/featurebrowser/TableExample.java index 29c55f224d..e42d50bebb 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/TableExample.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/TableExample.java @@ -57,7 +57,7 @@ public class TableExample extends CustomComponent implements Action.Handler, // "source" table with bells & whistlesenabled
source = new Table("All creatures");
source.setPageLength(7);
- source.setWidth(550);
+ source.getSize().setWidth(550);
source.setColumnCollapsingAllowed(true);
source.setColumnReorderingAllowed(true);
source.setSelectable(true);
@@ -92,7 +92,7 @@ public class TableExample extends CustomComponent implements Action.Handler, // "saved" table, minimalistic
saved = new Table("Saved creatures");
saved.setPageLength(5);
- saved.setWidth(550);
+ saved.getSize().setWidth(550);
saved.setSelectable(false);
saved.setColumnHeaderMode(Table.COLUMN_HEADER_MODE_HIDDEN);
saved.setRowHeaderMode(Table.ROW_HEADER_MODE_ID);
diff --git a/src/com/itmill/toolkit/demo/featurebrowser/TreeExample.java b/src/com/itmill/toolkit/demo/featurebrowser/TreeExample.java index 694c839fb4..fb9f0a34ff 100644 --- a/src/com/itmill/toolkit/demo/featurebrowser/TreeExample.java +++ b/src/com/itmill/toolkit/demo/featurebrowser/TreeExample.java @@ -45,7 +45,7 @@ public class TreeExample extends CustomComponent implements Action.Handler, // Panel w/ Tree Panel p = new Panel("Select item"); p.setStyleName(Panel.STYLE_LIGHT); - p.setWidth(250); + p.getSize().setWidth(250); // Description p.addComponent(new Label(desc)); // Tree with a few items diff --git a/src/com/itmill/toolkit/demo/reservation/ReservationApplication.java b/src/com/itmill/toolkit/demo/reservation/ReservationApplication.java index db8b0c99bd..d53c7fd1d1 100644 --- a/src/com/itmill/toolkit/demo/reservation/ReservationApplication.java +++ b/src/com/itmill/toolkit/demo/reservation/ReservationApplication.java @@ -99,7 +99,7 @@ public class ReservationApplication extends Application { map = new GoogleMap();
// TODO support EM
- // map.setWidthUnits(Sizeable.UNITS_EM);
+ // map.setWidthUnits(Size.UNITS_EM);
map.setWidth(266);
map.setHeight(210);
map.setItemMarkerHtmlPropertyId(SampleDB.Resource.PROPERTY_ID_NAME);
@@ -176,8 +176,8 @@ public class ReservationApplication extends Application { allLayout.setMargin(true);
allTable = new Table();
- allTable.setHeight(300);
- allTable.setWidth(700);
+ allTable.getSize().setHeight(300);
+ allTable.getSize().setWidth(700);
allTable.setColumnCollapsingAllowed(true);
allTable.setColumnReorderingAllowed(true);
allLayout.addComponent(allTable);
diff --git a/src/com/itmill/toolkit/terminal/HasSize.java b/src/com/itmill/toolkit/terminal/HasSize.java new file mode 100644 index 0000000000..d740924b04 --- /dev/null +++ b/src/com/itmill/toolkit/terminal/HasSize.java @@ -0,0 +1,7 @@ +package com.itmill.toolkit.terminal; + +public interface HasSize { + + public Size getSize(); + +} diff --git a/src/com/itmill/toolkit/terminal/Size.java b/src/com/itmill/toolkit/terminal/Size.java new file mode 100644 index 0000000000..c8af640f0a --- /dev/null +++ b/src/com/itmill/toolkit/terminal/Size.java @@ -0,0 +1,217 @@ +package com.itmill.toolkit.terminal; + +import com.itmill.toolkit.ui.Component; + +public class Size { + + private Component component; + private int width; + private int height; + private int widthUnit; + private int heightUnit; + + /** + * Unit code representing pixels. + */ + public static final int UNITS_PIXELS = 0; + + /** + * Unit code representing points (1/72nd of an inch). + */ + public static final int UNITS_POINTS = 1; + + /** + * Unit code representing picas (12 points). + */ + public static final int UNITS_PICAS = 2; + + /** + * Unit code representing the font-size of the relevant font. + */ + public static final int UNITS_EM = 3; + + /** + * Unit code representing the x-height of the relevant font. + */ + public static final int UNITS_EX = 4; + + /** + * Unit code representing millimeters. + */ + public static final int UNITS_MM = 5; + + /** + * Unit code representing centimeters. + */ + public static final int UNITS_CM = 6; + + /** + * Unit code representing inches. + */ + public static final int UNITS_INCH = 7; + + /** + * Unit code representing in percentage of the containing element defined by + * terminal. + */ + public static final int UNITS_PERCENTAGE = 8; + + /** + * Unit code representing in rows of text. This unit is only applicable to + * some components can it's meaning is specified by component + * implementation. + */ + public static final int UNITS_ROWS = 9; + + /** + * Textual representations of units symbols. Supported units and their + * symbols are: + * <ul> + * <li><code>UNITS_PIXELS</code>: "px"</li> + * <li><code>UNITS_POINTS</code>: "pt"</li> + * <li><code>UNITS_PICAS</code>: "pc"</li> + * <li><code>UNITS_EM</code>: "em"</li> + * <li><code>UNITS_EX</code>: "ex"</li> + * <li><code>UNITS_MM</code>: "mm"</li> + * <li><code>UNITS_CM</code>. "cm"</li> + * <li><code>UNITS_INCH</code>: "in"</li> + * <li><code>UNITS_PERCENTAGE</code>: "%"</li> + * <li><code>UNITS_ROWS</code>: "rows"</li> + * </ul> + * These can be used like <code>Size.UNIT_SYMBOLS[UNITS_PIXELS]</code>. + */ + public static final String[] UNIT_SYMBOLS = { "px", "pt", "pc", "em", "ex", + "mm", "cm", "in", "%", "rows" }; + + public Size(Component c) { + component = c; + width = -1; + height = -1; + widthUnit = UNITS_PIXELS; + heightUnit = UNITS_PIXELS; + } + + /* + * (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; + component.requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setHeightUnits(int) + */ + public void setHeightUnits(int unit) { + heightUnit = unit; + component.requestRepaint(); + } + + public void setHeight(int height, int unit) { + setHeight(height); + setHeightUnits(unit); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setSizeFull() + */ + public void setSizeFull() { + height = 100; + width = 100; + heightUnit = UNITS_PERCENTAGE; + widthUnit = UNITS_PERCENTAGE; + component.requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setSizeUndefined() + */ + public void setSizeUndefined() { + height = -1; + width = -1; + heightUnit = UNITS_PIXELS; + widthUnit = UNITS_PIXELS; + component.requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setWidth(int) + */ + public void setWidth(int width) { + this.width = width; + component.requestRepaint(); + } + + /* + * (non-Javadoc) + * + * @see com.itmill.toolkit.terminal.Sizeable#setWidthUnits(int) + */ + public void setWidthUnits(int unit) { + widthUnit = unit; + component.requestRepaint(); + } + + public void setWidth(int width, int unit) { + setWidth(width); + setWidthUnits(unit); + } + + public void paint(PaintTarget target) throws PaintException { + if (getHeight() >= 0) { + target.addAttribute("height", "" + getHeight() + + UNIT_SYMBOLS[getHeightUnits()]); + } + if (getWidth() >= 0) { + target.addAttribute("width", "" + getWidth() + + UNIT_SYMBOLS[getWidthUnits()]); + } + } + +}
\ No newline at end of file diff --git a/src/com/itmill/toolkit/terminal/Sizeable.java b/src/com/itmill/toolkit/terminal/Sizeable.java index 649be802f8..8e17e9f269 100644 --- a/src/com/itmill/toolkit/terminal/Sizeable.java +++ b/src/com/itmill/toolkit/terminal/Sizeable.java @@ -12,6 +12,7 @@ package com.itmill.toolkit.terminal; * @version * @VERSION@ * @since 3.0 + * @deprecated */ public interface Sizeable { diff --git a/src/com/itmill/toolkit/tests/BasicRandomTest.java b/src/com/itmill/toolkit/tests/BasicRandomTest.java index fe3811657e..acc9beab7d 100644 --- a/src/com/itmill/toolkit/tests/BasicRandomTest.java +++ b/src/com/itmill/toolkit/tests/BasicRandomTest.java @@ -127,7 +127,7 @@ public class BasicRandomTest extends com.itmill.toolkit.Application implements final OrderedLayout setupLayout = new OrderedLayout( OrderedLayout.ORIENTATION_HORIZONTAL); final Panel statusPanel = new Panel("Status"); - statusPanel.setWidth(200); + statusPanel.getSize().setWidth(200); setupLayout.addComponent(statusPanel); statusPanel.addComponent(statusLabel); setupLayout.addComponent(randomSeedValue); diff --git a/src/com/itmill/toolkit/tests/RandomLayoutStress.java b/src/com/itmill/toolkit/tests/RandomLayoutStress.java index 02a04f9860..6b66f39c5d 100644 --- a/src/com/itmill/toolkit/tests/RandomLayoutStress.java +++ b/src/com/itmill/toolkit/tests/RandomLayoutStress.java @@ -154,12 +154,12 @@ public class RandomLayoutStress extends com.itmill.toolkit.Application { + "extremities and may have a caption to clarify the nature of the contained components' purpose." + " Panel contains an layout where the actual contained components are added, " + "this layout may be switched on the fly.")); - ((Panel) result).setWidth(250); + ((Panel) result).getSize().setWidth(250); break; case 6: // Datefield result = new DateField(); - ((DateField) result).setStyle("calendar"); + ((DateField) result).setStyleName("calendar"); ((DateField) result).setValue(new java.util.Date()); result.setCaption("Calendar component " + caption); break; diff --git a/src/com/itmill/toolkit/tests/TestBench.java b/src/com/itmill/toolkit/tests/TestBench.java index 48787515dc..92575cda82 100644 --- a/src/com/itmill/toolkit/tests/TestBench.java +++ b/src/com/itmill/toolkit/tests/TestBench.java @@ -15,7 +15,7 @@ import java.util.List; import com.itmill.toolkit.Application; import com.itmill.toolkit.data.Property; import com.itmill.toolkit.data.util.HierarchicalContainer; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.ui.Component; import com.itmill.toolkit.ui.CustomComponent; import com.itmill.toolkit.ui.ExpandLayout; @@ -112,8 +112,7 @@ public class TestBench extends com.itmill.toolkit.Application implements mainLayout.addComponent(menu); bodyLayout.addStyleName("light"); - bodyLayout.setHeight(100); - bodyLayout.setHeightUnits(Sizeable.UNITS_PERCENTAGE); + bodyLayout.getSize().setHeight(100, Size.UNITS_PERCENTAGE); bodyLayout.setLayout(new ExpandLayout()); mainLayout.addComponent(bodyLayout); diff --git a/src/com/itmill/toolkit/tests/TestComponentsAndLayouts.java b/src/com/itmill/toolkit/tests/TestComponentsAndLayouts.java index 8183216757..62beab9aee 100644 --- a/src/com/itmill/toolkit/tests/TestComponentsAndLayouts.java +++ b/src/com/itmill/toolkit/tests/TestComponentsAndLayouts.java @@ -17,7 +17,7 @@ import com.itmill.toolkit.event.Action; import com.itmill.toolkit.terminal.ClassResource; import com.itmill.toolkit.terminal.ErrorMessage; import com.itmill.toolkit.terminal.ExternalResource; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.terminal.UserError; import com.itmill.toolkit.ui.AbstractComponent; import com.itmill.toolkit.ui.Button; @@ -141,8 +141,7 @@ public class TestComponentsAndLayouts extends Application implements Listener, "<hr /><h1>Components inside ExpandLayout (height 250px)</h3>", Label.CONTENT_XHTML)); final ExpandLayout el = new ExpandLayout(); - el.setHeight(250); - el.setHeightUnits(Sizeable.UNITS_PIXELS); + el.getSize().setHeight(250, Size.UNITS_PIXELS); populateLayout(el); target.addComponent(el); } @@ -164,8 +163,7 @@ public class TestComponentsAndLayouts extends Application implements Listener, "<hr /><h1>Components inside vertical SplitPanel (splitpanel is under 250height ExpandLayout)</h3>", Label.CONTENT_XHTML)); final ExpandLayout sp1l = new ExpandLayout(); - sp1l.setHeight(250); - sp1l.setHeightUnits(Sizeable.UNITS_PIXELS); + sp1l.getSize().setHeight(250, Size.UNITS_PIXELS); final SplitPanel sp1 = new SplitPanel( SplitPanel.ORIENTATION_VERTICAL); sp1l.addComponent(sp1); @@ -185,8 +183,7 @@ public class TestComponentsAndLayouts extends Application implements Listener, "<hr /><h1>Components inside horizontal SplitPanel (splitpanel is under 250px height ExpandLayout)</h3>", Label.CONTENT_XHTML)); final ExpandLayout sp2l = new ExpandLayout(); - sp2l.setHeight(250); - sp2l.setHeightUnits(Sizeable.UNITS_PIXELS); + sp2l.getSize().setHeight(250, Size.UNITS_PIXELS); final SplitPanel sp2 = new SplitPanel( SplitPanel.ORIENTATION_HORIZONTAL); sp2l.addComponent(sp2); diff --git a/src/com/itmill/toolkit/tests/TestForAlignments.java b/src/com/itmill/toolkit/tests/TestForAlignments.java index 42cd5b874a..0bf8f2dad0 100644 --- a/src/com/itmill/toolkit/tests/TestForAlignments.java +++ b/src/com/itmill/toolkit/tests/TestForAlignments.java @@ -30,7 +30,7 @@ public class TestForAlignments extends CustomComponent { vert.addComponent(b2); vert.addComponent(t1); vert.addComponent(d1); - vert.setWidth(500); + //vert.getSize().setWidth(500); vert.setComponentAlignment(b1, OrderedLayout.ALIGNMENT_RIGHT, OrderedLayout.ALIGNMENT_TOP); vert.setComponentAlignment(b2, OrderedLayout.ALIGNMENT_LEFT, @@ -46,7 +46,7 @@ public class TestForAlignments extends CustomComponent { hori.addComponent(b4); hori.addComponent(t2); hori.addComponent(d2); - hori.setHeight(200); + //hori.getSize().setHeight(200); hori.setComponentAlignment(b3, OrderedLayout.ALIGNMENT_LEFT, OrderedLayout.ALIGNMENT_BOTTOM); hori.setComponentAlignment(b4, OrderedLayout.ALIGNMENT_LEFT, diff --git a/src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java b/src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java index 74a1e0e9ee..5890cef052 100644 --- a/src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java +++ b/src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java @@ -5,7 +5,6 @@ package com.itmill.toolkit.tests; import com.itmill.toolkit.Application; -import com.itmill.toolkit.terminal.Sizeable; import com.itmill.toolkit.ui.ExpandLayout; import com.itmill.toolkit.ui.Label; import com.itmill.toolkit.ui.SplitPanel; @@ -40,10 +39,7 @@ public class TestForApplicationLayoutThatUsesWholeBrosersSpace extends final Table t = TestForTablesInitialColumnWidthLogicRendering .getTestTable(4, 100); - t.setWidth(100); - t.setWidthUnits(Sizeable.UNITS_PERCENTAGE); - t.setHeight(100); - t.setHeightUnits(Sizeable.UNITS_PERCENTAGE); + t.getSize().setSizeFull(); topRight.addComponent(t); topRight.expand(t); diff --git a/src/com/itmill/toolkit/tests/TestForBasicApplicationLayout.java b/src/com/itmill/toolkit/tests/TestForBasicApplicationLayout.java index 8b0f6b5ca2..b2f90d2212 100644 --- a/src/com/itmill/toolkit/tests/TestForBasicApplicationLayout.java +++ b/src/com/itmill/toolkit/tests/TestForBasicApplicationLayout.java @@ -6,7 +6,7 @@ package com.itmill.toolkit.tests; import java.util.Locale;
-import com.itmill.toolkit.terminal.Sizeable;
+import com.itmill.toolkit.terminal.Size;
import com.itmill.toolkit.ui.Button;
import com.itmill.toolkit.ui.CustomComponent;
import com.itmill.toolkit.ui.DateField;
@@ -31,7 +31,7 @@ public class TestForBasicApplicationLayout extends CustomComponent { click = new Button("Set height -1", new ClickListener() {
public void buttonClick(ClickEvent event) {
- tab.setHeight(-1);
+ tab.getSize().setHeight(-1);
}
});
@@ -39,23 +39,22 @@ public class TestForBasicApplicationLayout extends CustomComponent { click2 = new Button("Set height 100%", new ClickListener() {
public void buttonClick(ClickEvent event) {
- tab.setHeight(100);
- tab.setHeightUnits(Sizeable.UNITS_PERCENTAGE);
+ tab.getSize().setHeight(100, Size.UNITS_PERCENTAGE);
}
});
final SplitPanel sp = new SplitPanel(SplitPanel.ORIENTATION_HORIZONTAL);
- sp.setSplitPosition(290, Sizeable.UNITS_PIXELS);
+ sp.setSplitPosition(290, Size.UNITS_PIXELS);
final SplitPanel sp2 = new SplitPanel(SplitPanel.ORIENTATION_VERTICAL);
- sp2.setSplitPosition(255, Sizeable.UNITS_PIXELS);
+ sp2.setSplitPosition(255, Size.UNITS_PIXELS);
final Panel p = new Panel("Accordion Panel");
- p.setSizeFull();
+ p.getSize().setSizeFull();
tab = new TabSheet();
- tab.setSizeFull();
+ tab.getSize().setSizeFull();
final Panel report = new Panel("Monthly Program Runs",
new ExpandLayout());
@@ -71,8 +70,7 @@ public class TestForBasicApplicationLayout extends CustomComponent { report.addComponent(cal);
((ExpandLayout) report.getLayout()).expand(controls);
report.addStyleName(Panel.STYLE_LIGHT);
- report.setHeight(100);
- report.setHeightUnits(Sizeable.UNITS_PERCENTAGE);
+ report.getSize().setHeight(100, Size.UNITS_PERCENTAGE);
sp2.setFirstComponent(report);
@@ -84,7 +82,7 @@ public class TestForBasicApplicationLayout extends CustomComponent { table.setColumnCollapsingAllowed(true);
table.setColumnReorderingAllowed(true);
table.setSortDisabled(false);
- table.setSizeFull();
+ table.getSize().setSizeFull();
table.addStyleName("table-inline");
sp2.setSecondComponent(table);
diff --git a/src/com/itmill/toolkit/tests/TestForContainerFilterable.java b/src/com/itmill/toolkit/tests/TestForContainerFilterable.java index 165abe503b..844168f941 100644 --- a/src/com/itmill/toolkit/tests/TestForContainerFilterable.java +++ b/src/com/itmill/toolkit/tests/TestForContainerFilterable.java @@ -5,7 +5,7 @@ package com.itmill.toolkit.tests; import com.itmill.toolkit.data.util.IndexedContainer; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.ui.Button; import com.itmill.toolkit.ui.CustomComponent; import com.itmill.toolkit.ui.Label; @@ -42,8 +42,7 @@ public class TestForContainerFilterable extends CustomComponent { // Init filtering view final Panel filterPanel = new Panel("Filter", new OrderedLayout( OrderedLayout.ORIENTATION_HORIZONTAL)); - filterPanel.setWidth(100); - filterPanel.setWidthUnits(Sizeable.UNITS_PERCENTAGE); + filterPanel.getSize().setWidth(100, Size.UNITS_PERCENTAGE); lo.addComponent(filterPanel); filterPanel.addComponent(fooFilter); filterPanel.addComponent(barFilter); @@ -57,8 +56,7 @@ public class TestForContainerFilterable extends CustomComponent { // Table lo.addComponent(t); t.setPageLength(12); - t.setWidth(100); - t.setWidthUnits(Sizeable.UNITS_PERCENTAGE); + t.getSize().setWidth(100, Size.UNITS_PERCENTAGE); t.setContainerDataSource(ic); // Handler diff --git a/src/com/itmill/toolkit/tests/TestForExpandLayout.java b/src/com/itmill/toolkit/tests/TestForExpandLayout.java index 7ce61ed535..c3bb09a4ae 100644 --- a/src/com/itmill/toolkit/tests/TestForExpandLayout.java +++ b/src/com/itmill/toolkit/tests/TestForExpandLayout.java @@ -4,7 +4,7 @@ package com.itmill.toolkit.tests;
-import com.itmill.toolkit.terminal.Sizeable;
+import com.itmill.toolkit.terminal.Size;
import com.itmill.toolkit.ui.CustomComponent;
import com.itmill.toolkit.ui.DateField;
import com.itmill.toolkit.ui.ExpandLayout;
@@ -36,8 +36,7 @@ public class TestForExpandLayout extends CustomComponent { el.addComponent(l);
}
if (i > 0) {
- el.setHeight(1);
- el.setHeightUnits(Sizeable.UNITS_EM);
+ el.getSize().setHeight(1, Size.UNITS_EM);
}
main.addComponent(el);
}
diff --git a/src/com/itmill/toolkit/tests/TestForNativeWindowing.java b/src/com/itmill/toolkit/tests/TestForNativeWindowing.java index 5e7216101b..dd872fc0da 100644 --- a/src/com/itmill/toolkit/tests/TestForNativeWindowing.java +++ b/src/com/itmill/toolkit/tests/TestForNativeWindowing.java @@ -29,11 +29,11 @@ public class TestForNativeWindowing extends Application { main.addWindow(w); w.setPositionX(100); w.setPositionY(100); - w.setWidth(200); - w.setHeight(200); + w.getSize().setWidth(200); + w.getSize().setHeight(200); - w.setWidth(100); - w.setHeight(400); + w.getSize().setWidth(100); + w.getSize().setHeight(400); final Button closebutton = new Button("Close " + w.getCaption(), new Button.ClickListener() { diff --git a/src/com/itmill/toolkit/tests/TestForPreconfiguredComponents.java b/src/com/itmill/toolkit/tests/TestForPreconfiguredComponents.java index 47c435ad82..0bff19a18b 100644 --- a/src/com/itmill/toolkit/tests/TestForPreconfiguredComponents.java +++ b/src/com/itmill/toolkit/tests/TestForPreconfiguredComponents.java @@ -154,8 +154,8 @@ public class TestForPreconfiguredComponents extends CustomComponent implements ol2.addComponent(commit); status.addComponent(ol2); - status.setHeight(300); - status.setWidth(400); + status.getSize().setHeight(300); + status.getSize().setWidth(400); ol.addComponent(status); diff --git a/src/com/itmill/toolkit/tests/TestForTablesInitialColumnWidthLogicRendering.java b/src/com/itmill/toolkit/tests/TestForTablesInitialColumnWidthLogicRendering.java index 1304ef9298..6abe000224 100644 --- a/src/com/itmill/toolkit/tests/TestForTablesInitialColumnWidthLogicRendering.java +++ b/src/com/itmill/toolkit/tests/TestForTablesInitialColumnWidthLogicRendering.java @@ -6,7 +6,7 @@ package com.itmill.toolkit.tests; import java.util.Vector; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.ui.Button; import com.itmill.toolkit.ui.CustomComponent; import com.itmill.toolkit.ui.Label; @@ -57,20 +57,18 @@ public class TestForTablesInitialColumnWidthLogicRendering extends t = getTestTable(3, 40); t .setCaption("Table with some columns and wide explicit width. (Ought to widen columns to use all space)"); - t.setWidth(1000); + t.getSize().setWidth(1000); main.addComponent(t); t = getTestTable(12, 4); t.setCaption("Table with some rows and lot of columns, width == 100%"); - t.setWidth(100); - t.setWidthUnits(Sizeable.UNITS_PERCENTAGE); + t.getSize().setWidth(100, Size.UNITS_PERCENTAGE); main.addComponent(t); t = getTestTable(12, 100); t .setCaption("Table with lot of rows and lot of columns, width == 50%"); - t.setWidth(50); - t.setWidthUnits(Sizeable.UNITS_PERCENTAGE); + t.getSize().setWidth(50, Size.UNITS_PERCENTAGE); main.addComponent(t); t = getTestTable(5, 100); @@ -80,7 +78,7 @@ public class TestForTablesInitialColumnWidthLogicRendering extends t = getTestTable(4, 4); t.setCaption("Table with some rows and width = 200px"); - t.setWidth(200); + t.getSize().setWidth(200); main.addComponent(t); final Button b = new Button("refresh view", this, "createNewView"); diff --git a/src/com/itmill/toolkit/tests/TestForTrees.java b/src/com/itmill/toolkit/tests/TestForTrees.java index fd7624fce4..30658f8ffa 100644 --- a/src/com/itmill/toolkit/tests/TestForTrees.java +++ b/src/com/itmill/toolkit/tests/TestForTrees.java @@ -134,8 +134,8 @@ public class TestForTrees extends CustomComponent implements Handler { }); status.addComponent(clear); - status.setHeight(300); - status.setWidth(400); + status.getSize().setHeight(300); + status.getSize().setWidth(400); ol.addComponent(status); diff --git a/src/com/itmill/toolkit/tests/featurebrowser/Feature.java b/src/com/itmill/toolkit/tests/featurebrowser/Feature.java index 3bd9d8e44e..a6f62c6d1b 100644 --- a/src/com/itmill/toolkit/tests/featurebrowser/Feature.java +++ b/src/com/itmill/toolkit/tests/featurebrowser/Feature.java @@ -6,7 +6,6 @@ package com.itmill.toolkit.tests.featurebrowser; import com.itmill.toolkit.terminal.ClassResource; import com.itmill.toolkit.terminal.Resource; -import com.itmill.toolkit.terminal.Sizeable; import com.itmill.toolkit.ui.Component; import com.itmill.toolkit.ui.CustomComponent; import com.itmill.toolkit.ui.Embedded; @@ -79,10 +78,7 @@ public abstract class Feature extends CustomComponent { ts = new TabSheet(); - ts.setWidth(100); - ts.setWidthUnits(Sizeable.UNITS_PERCENTAGE); - ts.setHeight(100); - ts.setHeightUnits(Sizeable.UNITS_PERCENTAGE); + ts.getSize().setSizeFull(); // Description tab final String title = getTitle(); diff --git a/src/com/itmill/toolkit/tests/featurebrowser/FeatureWindow.java b/src/com/itmill/toolkit/tests/featurebrowser/FeatureWindow.java index 7e357e0e00..1aaacf329e 100644 --- a/src/com/itmill/toolkit/tests/featurebrowser/FeatureWindow.java +++ b/src/com/itmill/toolkit/tests/featurebrowser/FeatureWindow.java @@ -35,8 +35,8 @@ public class FeatureWindow extends Feature implements Window.CloseListener { demoWindow = new Window("Feature Test Window"); demoWindow.addListener(this); - demoWindow.setWidth(400); - demoWindow.setHeight(200); + demoWindow.getSize().setWidth(400); + demoWindow.getSize().setHeight(200); demoWindow.setTheme("default"); layoutUpper.addComponent(addButton); diff --git a/src/com/itmill/toolkit/tests/featurebrowser/PropertyPanel.java b/src/com/itmill/toolkit/tests/featurebrowser/PropertyPanel.java index 29fb7ab02f..1ce835b80d 100644 --- a/src/com/itmill/toolkit/tests/featurebrowser/PropertyPanel.java +++ b/src/com/itmill/toolkit/tests/featurebrowser/PropertyPanel.java @@ -28,6 +28,7 @@ import com.itmill.toolkit.ui.DateField; import com.itmill.toolkit.ui.Field; import com.itmill.toolkit.ui.Form; import com.itmill.toolkit.ui.GridLayout; +import com.itmill.toolkit.ui.OptionGroup; import com.itmill.toolkit.ui.OrderedLayout; import com.itmill.toolkit.ui.Panel; import com.itmill.toolkit.ui.Select; @@ -66,10 +67,7 @@ public class PropertyPanel extends Panel implements Button.ClickListener, setCaption("Properties"); addComponent(formsLayout); - setWidth(100); - setWidthUnits(Table.UNITS_PERCENTAGE); - setHeight(100); - setHeightUnits(Table.UNITS_PERCENTAGE); + getSize().setSizeFull(); // Target object this.objectToConfigure = objectToConfigure; @@ -105,10 +103,7 @@ public class PropertyPanel extends Panel implements Button.ClickListener, Table.ALIGN_LEFT, Table.ALIGN_CENTER, Table.ALIGN_CENTER }); allProperties.setColumnHeaderMode(Table.COLUMN_HEADER_MODE_ID); allProperties.setPageLength(0); - allProperties.setWidth(100); - allProperties.setWidthUnits(Table.UNITS_PERCENTAGE); - allProperties.setHeight(100); - allProperties.setHeightUnits(Table.UNITS_PERCENTAGE); + allProperties.getSize().setSizeFull(); updatePropertyList(); } @@ -119,7 +114,7 @@ public class PropertyPanel extends Panel implements Button.ClickListener, // Create new panel containing the form final Panel p = new Panel(); p.setCaption(propertySetCaption); - p.setStyle("light"); + p.setStyleName(Panel.STYLE_LIGHT); p.addComponent(properties); formsLayout.addComponent(p); @@ -383,7 +378,7 @@ public class PropertyPanel extends Panel implements Button.ClickListener, d .setDescription("This is a DateField-component with text-style"); d.setResolution(DateField.RESOLUTION_MIN); - d.setStyle("text"); + d.setStyleName("text"); ((AbstractComponentContainer) objectToConfigure) .addComponent(d); } @@ -393,7 +388,7 @@ public class PropertyPanel extends Panel implements Button.ClickListener, final DateField c = new DateField("Calendar", new Date()); c .setDescription("DateField-component with calendar-style and day-resolution"); - c.setStyle("calendar"); + c.setStyleName("calendar"); c.setResolution(DateField.RESOLUTION_DAY); ((AbstractComponentContainer) objectToConfigure) .addComponent(c); @@ -401,13 +396,12 @@ public class PropertyPanel extends Panel implements Button.ClickListener, // Select option group style if (value.equals("Option group")) { - final Select s = new Select("Options"); + final OptionGroup s = new OptionGroup("Options"); s.setDescription("Select-component with optiongroup-style"); s.addItem("Linux"); s.addItem("Windows"); s.addItem("Solaris"); s.addItem("Symbian"); - s.setStyle("optiongroup"); ((AbstractComponentContainer) objectToConfigure) .addComponent(s); diff --git a/src/com/itmill/toolkit/tests/magi/MagiTestApplication.java b/src/com/itmill/toolkit/tests/magi/MagiTestApplication.java index fafd7ce63c..afec7b3f33 100644 --- a/src/com/itmill/toolkit/tests/magi/MagiTestApplication.java +++ b/src/com/itmill/toolkit/tests/magi/MagiTestApplication.java @@ -15,6 +15,7 @@ import com.itmill.toolkit.data.validator.StringLengthValidator; import com.itmill.toolkit.terminal.ClassResource; import com.itmill.toolkit.terminal.DownloadStream; import com.itmill.toolkit.terminal.ExternalResource; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.terminal.StreamResource; import com.itmill.toolkit.terminal.UserError; import com.itmill.toolkit.ui.AbstractSelect; @@ -366,7 +367,7 @@ public class MagiTestApplication extends com.itmill.toolkit.Application { void example_DateField(Window main, String param) { /* Create a DateField with the calendar style. */ final DateField date = new DateField("Here is a calendar field"); - date.setStyle("calendar"); + date.setStyleName("calendar"); /* Set the date and time to present. */ date.setValue(new java.util.Date()); @@ -491,7 +492,7 @@ public class MagiTestApplication extends com.itmill.toolkit.Application { grid.addComponent(new Button("3x1 button"), 1, 1, 3, 1); grid.addComponent(new Label("1x2 cell"), 1, 2, 1, 3); final DateField date = new DateField("A 2x2 date field"); - date.setStyle("calendar"); + date.setStyleName("calendar"); grid.addComponent(date, 2, 2, 3, 3); main.addComponent(grid); @@ -505,10 +506,8 @@ public class MagiTestApplication extends com.itmill.toolkit.Application { // OrderedLayout(OrderedLayout.ORIENTATION_VERTICAL); main.setLayout(layout); layout.addStyleName("example-alignment"); - layout.setWidth(400); - layout.setWidthUnits(GridLayout.UNITS_PIXELS); - layout.setHeight(400); - layout.setHeightUnits(GridLayout.UNITS_PIXELS); + layout.getSize().setWidth(400, Size.UNITS_PIXELS); + layout.getSize().setHeight(400, Size.UNITS_PIXELS); /* Define cells and their layouts to create. */ /* @@ -586,10 +585,7 @@ public class MagiTestApplication extends com.itmill.toolkit.Application { layout.expand(table); /* Set it to use all available area. */ - table.setHeight(100); - table.setHeightUnits(Table.UNITS_PERCENTAGE); - table.setWidth(100); - table.setWidthUnits(Table.UNITS_PERCENTAGE); + table.getSize().setSizeFull(); /* Add some component below the expanding one. */ final Button button2 = new Button("Ok"); @@ -667,8 +663,8 @@ public class MagiTestApplication extends com.itmill.toolkit.Application { mywindow.addComponent(okbutton); /* Set window size. */ - mywindow.setHeight(200); - mywindow.setWidth(400); + mywindow.getSize().setHeight(200); + mywindow.getSize().setWidth(400); /* Set window position. */ mywindow.setPositionX(200); diff --git a/src/com/itmill/toolkit/tests/testbench/TestBench.java b/src/com/itmill/toolkit/tests/testbench/TestBench.java index 486a5270b7..fc18e8efb8 100644 --- a/src/com/itmill/toolkit/tests/testbench/TestBench.java +++ b/src/com/itmill/toolkit/tests/testbench/TestBench.java @@ -15,7 +15,7 @@ import java.util.List; import com.itmill.toolkit.Application; import com.itmill.toolkit.data.Property; import com.itmill.toolkit.data.util.HierarchicalContainer; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.ui.Component; import com.itmill.toolkit.ui.CustomComponent; import com.itmill.toolkit.ui.ExpandLayout; @@ -108,8 +108,7 @@ public class TestBench extends com.itmill.toolkit.Application implements mainLayout.addComponent(menu); bodyLayout.addStyleName("light"); - bodyLayout.setHeight(100); - bodyLayout.setHeightUnits(Sizeable.UNITS_PERCENTAGE); + bodyLayout.getSize().setHeight(100, Size.UNITS_PERCENTAGE); bodyLayout.setLayout(new ExpandLayout()); mainLayout.addComponent(bodyLayout); diff --git a/src/com/itmill/toolkit/tests/testbench/TestForAlignments.java b/src/com/itmill/toolkit/tests/testbench/TestForAlignments.java index 3cdde28e70..f7b75645e5 100644 --- a/src/com/itmill/toolkit/tests/testbench/TestForAlignments.java +++ b/src/com/itmill/toolkit/tests/testbench/TestForAlignments.java @@ -30,7 +30,6 @@ public class TestForAlignments extends CustomComponent { vert.addComponent(b2); vert.addComponent(t1); vert.addComponent(d1); - vert.setWidth(500); vert.setComponentAlignment(b1, OrderedLayout.ALIGNMENT_RIGHT, OrderedLayout.ALIGNMENT_TOP); vert.setComponentAlignment(b2, OrderedLayout.ALIGNMENT_LEFT, @@ -46,7 +45,6 @@ public class TestForAlignments extends CustomComponent { hori.addComponent(b4); hori.addComponent(t2); hori.addComponent(d2); - hori.setHeight(200); hori.setComponentAlignment(b3, OrderedLayout.ALIGNMENT_LEFT, OrderedLayout.ALIGNMENT_BOTTOM); hori.setComponentAlignment(b4, OrderedLayout.ALIGNMENT_LEFT, diff --git a/src/com/itmill/toolkit/tests/testbench/TestForBasicApplicationLayout.java b/src/com/itmill/toolkit/tests/testbench/TestForBasicApplicationLayout.java index 171a262dcc..cd41e345e9 100644 --- a/src/com/itmill/toolkit/tests/testbench/TestForBasicApplicationLayout.java +++ b/src/com/itmill/toolkit/tests/testbench/TestForBasicApplicationLayout.java @@ -9,7 +9,7 @@ import java.util.Locale; import com.itmill.toolkit.data.util.QueryContainer;
import com.itmill.toolkit.demo.util.SampleDatabase;
-import com.itmill.toolkit.terminal.Sizeable;
+import com.itmill.toolkit.terminal.Size;
import com.itmill.toolkit.ui.Button;
import com.itmill.toolkit.ui.CustomComponent;
import com.itmill.toolkit.ui.DateField;
@@ -37,7 +37,7 @@ public class TestForBasicApplicationLayout extends CustomComponent { click = new Button("Set height -1", new ClickListener() {
public void buttonClick(ClickEvent event) {
- tab.setHeight(-1);
+ tab.getSize().setHeight(-1);
}
});
@@ -45,23 +45,22 @@ public class TestForBasicApplicationLayout extends CustomComponent { click2 = new Button("Set height 100%", new ClickListener() {
public void buttonClick(ClickEvent event) {
- tab.setHeight(100);
- tab.setHeightUnits(Sizeable.UNITS_PERCENTAGE);
+ tab.getSize().setHeight(100, Size.UNITS_PERCENTAGE);
}
});
final SplitPanel sp = new SplitPanel(SplitPanel.ORIENTATION_HORIZONTAL);
- sp.setSplitPosition(290, Sizeable.UNITS_PIXELS);
+ sp.setSplitPosition(290, Size.UNITS_PIXELS);
final SplitPanel sp2 = new SplitPanel(SplitPanel.ORIENTATION_VERTICAL);
- sp2.setSplitPosition(255, Sizeable.UNITS_PIXELS);
+ sp2.setSplitPosition(255, Size.UNITS_PIXELS);
final Panel p = new Panel("Accordion Panel");
- p.setSizeFull();
+ p.getSize().setSizeFull();
tab = new TabSheet();
- tab.setSizeFull();
+ tab.getSize().setSizeFull();
final Panel report = new Panel("Monthly Program Runs",
new ExpandLayout());
@@ -77,8 +76,7 @@ public class TestForBasicApplicationLayout extends CustomComponent { report.addComponent(cal);
((ExpandLayout) report.getLayout()).expand(controls);
report.addStyleName(Panel.STYLE_LIGHT);
- report.setHeight(100);
- report.setHeightUnits(Sizeable.UNITS_PERCENTAGE);
+ report.getSize().setHeight(100, Size.UNITS_PERCENTAGE);
sp2.setFirstComponent(report);
@@ -102,7 +100,7 @@ public class TestForBasicApplicationLayout extends CustomComponent { table.setColumnCollapsingAllowed(true);
table.setColumnReorderingAllowed(true);
table.setSortDisabled(false);
- table.setSizeFull();
+ table.getSize().setSizeFull();
table.addStyleName("table-inline");
sp2.setSecondComponent(table);
diff --git a/src/com/itmill/toolkit/tests/testbench/TestForContainerFilterable.java b/src/com/itmill/toolkit/tests/testbench/TestForContainerFilterable.java index 73b93dc20c..705d4881dc 100644 --- a/src/com/itmill/toolkit/tests/testbench/TestForContainerFilterable.java +++ b/src/com/itmill/toolkit/tests/testbench/TestForContainerFilterable.java @@ -5,7 +5,7 @@ package com.itmill.toolkit.tests.testbench; import com.itmill.toolkit.data.util.IndexedContainer; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.ui.Button; import com.itmill.toolkit.ui.CustomComponent; import com.itmill.toolkit.ui.Label; @@ -42,8 +42,7 @@ public class TestForContainerFilterable extends CustomComponent { // Init filtering view final Panel filterPanel = new Panel("Filter", new OrderedLayout( OrderedLayout.ORIENTATION_HORIZONTAL)); - filterPanel.setWidth(100); - filterPanel.setWidthUnits(Sizeable.UNITS_PERCENTAGE); + filterPanel.getSize().setWidth(100, Size.UNITS_PERCENTAGE); lo.addComponent(filterPanel); filterPanel.addComponent(firstFilter); filterPanel.addComponent(secondFilter); @@ -57,8 +56,7 @@ public class TestForContainerFilterable extends CustomComponent { // Table lo.addComponent(t); t.setPageLength(12); - t.setWidth(100); - t.setWidthUnits(Sizeable.UNITS_PERCENTAGE); + t.getSize().setWidth(100, Size.UNITS_PERCENTAGE); t.setContainerDataSource(ic); // Handler diff --git a/src/com/itmill/toolkit/tests/testbench/TestForPreconfiguredComponents.java b/src/com/itmill/toolkit/tests/testbench/TestForPreconfiguredComponents.java index 7ab15d7360..144640460a 100644 --- a/src/com/itmill/toolkit/tests/testbench/TestForPreconfiguredComponents.java +++ b/src/com/itmill/toolkit/tests/testbench/TestForPreconfiguredComponents.java @@ -154,8 +154,8 @@ public class TestForPreconfiguredComponents extends CustomComponent implements ol2.addComponent(commit); status.addComponent(ol2); - status.setHeight(300); - status.setWidth(400); + status.getSize().setHeight(300); + status.getSize().setWidth(400); ol.addComponent(status); diff --git a/src/com/itmill/toolkit/tests/testbench/TestForTrees.java b/src/com/itmill/toolkit/tests/testbench/TestForTrees.java index 71884144db..1ea7ee2da8 100644 --- a/src/com/itmill/toolkit/tests/testbench/TestForTrees.java +++ b/src/com/itmill/toolkit/tests/testbench/TestForTrees.java @@ -134,8 +134,8 @@ public class TestForTrees extends CustomComponent implements Handler { }); status.addComponent(clear); - status.setHeight(300); - status.setWidth(400); + status.getSize().setHeight(300); + status.getSize().setWidth(400); ol.addComponent(status); diff --git a/src/com/itmill/toolkit/ui/AbstractLayout.java b/src/com/itmill/toolkit/ui/AbstractLayout.java index d66376052a..43349e929a 100644 --- a/src/com/itmill/toolkit/ui/AbstractLayout.java +++ b/src/com/itmill/toolkit/ui/AbstractLayout.java @@ -23,30 +23,6 @@ public abstract class AbstractLayout extends AbstractComponentContainer protected MarginInfo margins = new MarginInfo(false, false, false, false); - /** - * 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; - /* * (non-Javadoc) * @@ -81,108 +57,6 @@ public abstract class AbstractLayout extends AbstractComponentContainer /* * (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) { - 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) { - widthUnit = units; - requestRepaint(); - } - - /* - * (non-Javadoc) - * * @see com.itmill.toolkit.ui.AbstractComponent#paintContent(com.itmill.toolkit.terminal.PaintTarget) */ public void paintContent(PaintTarget target) throws PaintException { @@ -190,15 +64,6 @@ public abstract class AbstractLayout extends AbstractComponentContainer // Add margin info. Defaults to false. target.addAttribute("margins", margins.getBitMask()); - // Size - if (getHeight() >= 0) { - target.addAttribute("height", "" + getHeight() - + Sizeable.UNIT_SYMBOLS[getHeightUnits()]); - } - if (getWidth() >= 0) { - target.addAttribute("width", "" + getWidth() - + Sizeable.UNIT_SYMBOLS[getWidthUnits()]); - } } } diff --git a/src/com/itmill/toolkit/ui/CustomLayout.java b/src/com/itmill/toolkit/ui/CustomLayout.java index 2b4ea0d481..4fff2c9e10 100644 --- a/src/com/itmill/toolkit/ui/CustomLayout.java +++ b/src/com/itmill/toolkit/ui/CustomLayout.java @@ -7,8 +7,10 @@ package com.itmill.toolkit.ui; import java.util.HashMap; import java.util.Iterator; +import com.itmill.toolkit.terminal.HasSize; import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; +import com.itmill.toolkit.terminal.Size; /** * <p> @@ -37,7 +39,7 @@ import com.itmill.toolkit.terminal.PaintTarget; * @VERSION@ * @since 3.0 */ -public class CustomLayout extends AbstractLayout { +public class CustomLayout extends AbstractLayout implements HasSize { /** * Custom layout slots containing the components. @@ -46,11 +48,14 @@ public class CustomLayout extends AbstractLayout { private String templateName; + private Size size; + /** * Constructor for custom layout with given template name. */ public CustomLayout(String template) { templateName = template; + size = new Size(this); } /** @@ -152,6 +157,9 @@ public class CustomLayout extends AbstractLayout { public void paintContent(PaintTarget target) throws PaintException { super.paintContent(target); + // Size + size.paint(target); + target.addAttribute("template", templateName); // Adds all items in all the locations for (final Iterator i = slots.keySet().iterator(); i.hasNext();) { @@ -252,4 +260,8 @@ public class CustomLayout extends AbstractLayout { "CustomLayout does not support margins."); } + public Size getSize() { + return size; + } + } diff --git a/src/com/itmill/toolkit/ui/ExpandLayout.java b/src/com/itmill/toolkit/ui/ExpandLayout.java index dab5ee2cf1..100fac872c 100644 --- a/src/com/itmill/toolkit/ui/ExpandLayout.java +++ b/src/com/itmill/toolkit/ui/ExpandLayout.java @@ -6,9 +6,10 @@ package com.itmill.toolkit.ui; import java.util.Iterator; +import com.itmill.toolkit.terminal.HasSize; import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; /** * TODO finish documentation @@ -25,12 +26,14 @@ import com.itmill.toolkit.terminal.Sizeable; * other components don't use. Or just provide expanded container. * */ -public class ExpandLayout extends OrderedLayout { +public class ExpandLayout extends OrderedLayout implements HasSize { private Component expanded; + private Size size; public ExpandLayout() { - setSizeFull(); + size = new Size(this); + size.setSizeFull(); } public ExpandLayout(int orientation) { @@ -62,14 +65,7 @@ public class ExpandLayout extends OrderedLayout { } // Size - if (getHeight() >= 0) { - target.addAttribute("height", "" + getHeight() - + Sizeable.UNIT_SYMBOLS[getHeightUnits()]); - } - if (getWidth() >= 0) { - target.addAttribute("width", "" + getWidth() - + Sizeable.UNIT_SYMBOLS[getWidthUnits()]); - } + size.paint(target); // Adds the attributes: orientation // note that the default values (b/vertival) are omitted @@ -137,4 +133,8 @@ public class ExpandLayout extends OrderedLayout { } } + public Size getSize() { + return size; + } + } diff --git a/src/com/itmill/toolkit/ui/GridLayout.java b/src/com/itmill/toolkit/ui/GridLayout.java index e7f5293b23..990ba634e2 100644 --- a/src/com/itmill/toolkit/ui/GridLayout.java +++ b/src/com/itmill/toolkit/ui/GridLayout.java @@ -10,9 +10,10 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.Map; +import com.itmill.toolkit.terminal.HasSize; import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; import com.itmill.toolkit.terminal.gwt.client.ui.AlignmentInfo; /** @@ -35,7 +36,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.AlignmentInfo; * @VERSION@ * @since 3.0 */ -public class GridLayout extends AbstractLayout { +public class GridLayout extends AbstractLayout implements HasSize { /** * Initial grid columns. @@ -111,6 +112,11 @@ public class GridLayout extends AbstractLayout { private boolean spacing = false; /** + * Sizing object. + */ + private Size size; + + /** * Constructor for grid of given size (number of cells). Note that grid's * final size depends on the items that are added into the grid. Grid grows * if you add components outside the grid's area. @@ -123,6 +129,7 @@ public class GridLayout extends AbstractLayout { public GridLayout(int columns, int rows) { setColumns(columns); setRows(rows); + size = new Size(this); } /** @@ -386,6 +393,9 @@ public class GridLayout extends AbstractLayout { super.paintContent(target); + // Size + size.paint(target); + // TODO refactor attribute names in future release. target.addAttribute("h", rows); target.addAttribute("w", cols); @@ -801,31 +811,17 @@ public class GridLayout extends AbstractLayout { } /** - * Sets the width of the layout. - * <p> - * <strong>NOTE:</strong> The behaviour of this methdod has changed in - * version 5.0. Now this method won't set the number of columns in the grid - * like it used to (use {@link #setColumns()} for that). Instead, it sets - * the actual visual width of the layout in pixels or in another unit - * specified in {@link Sizeable}.UNIT_SYMBOLS. - * </p> + * @deprecated use setColumns instead. */ - public void setWidth(int width) { - super.setWidth(width); + public void setWidth(int columns) { + setColumns(columns); } /** - * Gets the width of the layout. - * <p> - * <strong>NOTE:</strong> The behaviour of this methdod has changed in - * version 5.0. Now this method won't return the number of columns in the - * grid like it used to (use {@link #getColumns()} for that). Instead, it - * returns the actual visual width of the layout in pixels or in another - * unit specified in {@link Sizeable}.UNIT_SYMBOLS. - * </p> + * @deprecated use getColumns instead. */ public int getWidth() { - return super.getWidth(); + return getColumns(); } /** @@ -873,31 +869,17 @@ public class GridLayout extends AbstractLayout { } /** - * Set the height of the layout. - * <p> - * <strong>NOTE:</strong> The behaviour of this methdod has changed in - * version 5.0. Now this method won't set the number of rows in the grid - * like it used to (use {@link #setRows()} for that). Instead, it sets the - * actual visual height of the layout in pixels or in another unit specified - * in {@link Sizeable}.UNIT_SYMBOLS. - * </p> + * @deprecated use setRows() instead. */ - public void setHeight(int height) { - super.setHeight(height); + public void setHeight(int rows) { + setRows(rows); } /** - * Gets the height of the layout. - * <p> - * <strong>NOTE:</strong> The behaviour of this methdod has changed in - * version 5.0. Now this method won't return the number of rows in the grid - * like it used to (use {@link #getRows()} for that). Instead, it returns - * the actual visual height of the layout in pixels or in another unit - * specified in {@link Sizeable}.UNIT_SYMBOLS. - * </p> + * @deprecated use getRows() instead. */ public int getHeight() { - return super.getHeight(); + return getRows(); } /** @@ -1044,4 +1026,8 @@ public class GridLayout extends AbstractLayout { spacing = enabled; } + public Size getSize() { + return size; + } + } diff --git a/src/com/itmill/toolkit/ui/Layout.java b/src/com/itmill/toolkit/ui/Layout.java index cdc7c42730..55430113c7 100644 --- a/src/com/itmill/toolkit/ui/Layout.java +++ b/src/com/itmill/toolkit/ui/Layout.java @@ -4,7 +4,6 @@ package com.itmill.toolkit.ui; -import com.itmill.toolkit.terminal.Sizeable; /** * Extension to the {@link ComponentContainer} interface which adds the @@ -17,7 +16,7 @@ import com.itmill.toolkit.terminal.Sizeable; * @VERSION@ * @since 3.0 */ -public interface Layout extends ComponentContainer, Sizeable { +public interface Layout extends ComponentContainer { /** * Enable layout margins. Affects all four sides of the layout. This will diff --git a/src/com/itmill/toolkit/ui/Panel.java b/src/com/itmill/toolkit/ui/Panel.java index a2be804cd6..22f87ac220 100644 --- a/src/com/itmill/toolkit/ui/Panel.java +++ b/src/com/itmill/toolkit/ui/Panel.java @@ -11,11 +11,12 @@ import java.util.Map; import com.itmill.toolkit.event.Action; import com.itmill.toolkit.event.ShortcutAction; import com.itmill.toolkit.event.Action.Handler; +import com.itmill.toolkit.terminal.HasSize; import com.itmill.toolkit.terminal.KeyMapper; import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; import com.itmill.toolkit.terminal.Scrollable; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; /** * Panel - a simple single component container. @@ -25,37 +26,15 @@ import com.itmill.toolkit.terminal.Sizeable; * @VERSION@ * @since 3.0 */ -public class Panel extends AbstractComponentContainer implements Sizeable, +public class Panel extends AbstractComponentContainer implements HasSize, Scrollable, ComponentContainer.ComponentAttachListener, ComponentContainer.ComponentDetachListener, Action.Container { public static final String STYLE_LIGHT = "light"; public static final String STYLE_EMPHASIZE = "emphasize"; - - /** - * 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; + + private Size size; /** * Layout of the panel. @@ -88,6 +67,7 @@ public class Panel extends AbstractComponentContainer implements Sizeable, */ public Panel() { setLayout(null); + size = new Size(this); } /** @@ -98,6 +78,7 @@ public class Panel extends AbstractComponentContainer implements Sizeable, */ public Panel(Layout layout) { setLayout(layout); + size = new Size(this); } /** @@ -121,6 +102,7 @@ public class Panel extends AbstractComponentContainer implements Sizeable, public Panel(String caption, Layout layout) { this(layout); setCaption(caption); + size = new Size(this); } /** @@ -187,13 +169,13 @@ public class Panel extends AbstractComponentContainer implements Sizeable, layout.paint(target); // Add size info as variables - if (getHeight() > -1) { - target.addVariable(this, "height", getHeight() - + UNIT_SYMBOLS[getHeightUnits()]); + if (size.getHeight() > -1) { + target.addVariable(this, "height", size.getHeight() + + Size.UNIT_SYMBOLS[size.getHeightUnits()]); } - if (getWidth() > -1) { - target.addVariable(this, "width", getWidth() - + UNIT_SYMBOLS[getWidthUnits()]); + if (size.getWidth() > -1) { + target.addVariable(this, "width", size.getWidth() + + Size.UNIT_SYMBOLS[size.getWidthUnits()]); } if (isScrollable()) { @@ -300,16 +282,16 @@ public class Panel extends AbstractComponentContainer implements Sizeable, // Get new size final Integer newWidth = (Integer) variables.get("width"); final Integer newHeight = (Integer) variables.get("height"); - if (newWidth != null && newWidth.intValue() != getWidth()) { - setWidth(newWidth.intValue()); - // ensure units as we are reading pixels - setWidthUnits(UNITS_PIXELS); + if (newWidth != null && newWidth.intValue() != size.getWidth()) { + size.setWidth(newWidth.intValue()); + // ensure units, as we are reading pixels + size.setWidthUnits(Size.UNITS_PIXELS); } - if (newHeight != null && newHeight.intValue() != getHeight()) { - setHeight(newHeight.intValue()); - // ensure units as we are reading pixels - setHeightUnits(UNITS_PIXELS); + if (newHeight != null && newHeight.intValue() != size.getHeight()) { + size.setHeight(newHeight.intValue()); + // ensure units, as we are reading pixels + size.setHeightUnits(Size.UNITS_PIXELS); } // Scrolling @@ -481,106 +463,67 @@ public class Panel extends AbstractComponentContainer implements Sizeable, } } - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#getHeight() - */ - public int getHeight() { - return height; + public Size getSize() { + return size; } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#getHeightUnits() - */ - public int getHeightUnits() { - return heightUnit; - } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#getWidth() + + + /* Compatibility methods */ + + /** + * @deprecated use Size object instead (getSize().setWidth()). */ - public int getWidth() { - return width; + public void setWidth(int width) { + size.setWidth(width); } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#getWidthUnits() + + /** + * @deprecated use Size object instead (getSize().setWidthUnits()). */ - public int getWidthUnits() { - return widthUnit; + public void setWidthUnits(int unit) { + size.setWidthUnits(unit); } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#setHeight(int) + + /** + * @deprecated use Size object instead (getSize().setHeight()). */ public void setHeight(int height) { - this.height = height; - requestRepaint(); + size.setHeight(height); } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#setHeightUnits(int) + + /** + * @deprecated use Size object instead (getSize().setHeightUnits()). */ - public void setHeightUnits(int units) { - heightUnit = units; - requestRepaint(); + public void setHeightUnits(int unit) { + size.setHeightUnits(unit); } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#setSizeFull() + + /** + * @deprecated use Size object instead (getSize().getWidth()). */ - public void setSizeFull() { - height = 100; - width = 100; - heightUnit = UNITS_PERCENTAGE; - widthUnit = UNITS_PERCENTAGE; - requestRepaint(); + public int getWidth() { + return size.getWidth(); } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#setSizeUndefined() + + /** + * @deprecated use Size object instead (getSize().getWidthUnits()). */ - public void setSizeUndefined() { - height = -1; - width = -1; - heightUnit = UNITS_PIXELS; - widthUnit = UNITS_PIXELS; - requestRepaint(); + public int getWidthUnits() { + return size.getWidthUnits(); } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#setWidth(int) + + /** + * @deprecated use Size object instead (getSize().getHeight()). */ - public void setWidth(int width) { - this.width = width; - requestRepaint(); + public int getHeight() { + return size.getHeight(); } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#setWidthUnits(int) + + /** + * @deprecated use Size object instead (getSize().getHeightUnits()). */ - public void setWidthUnits(int units) { - widthUnit = units; - requestRepaint(); + public int getHeightUnits() { + return size.getHeightUnits(); } } diff --git a/src/com/itmill/toolkit/ui/SplitPanel.java b/src/com/itmill/toolkit/ui/SplitPanel.java index c09b337b09..9f094f0153 100644 --- a/src/com/itmill/toolkit/ui/SplitPanel.java +++ b/src/com/itmill/toolkit/ui/SplitPanel.java @@ -6,9 +6,10 @@ package com.itmill.toolkit.ui; import java.util.Iterator; +import com.itmill.toolkit.terminal.HasSize; import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; /** * SplitPanel. @@ -21,7 +22,7 @@ import com.itmill.toolkit.terminal.Sizeable; * @VERSION@ * @since 5.0 */ -public class SplitPanel extends AbstractLayout { +public class SplitPanel extends AbstractLayout implements HasSize { /* Predefined orientations ***************************************** */ @@ -46,7 +47,9 @@ public class SplitPanel extends AbstractLayout { private int pos = 50; - private int posUnit = UNITS_PERCENTAGE; + private int posUnit = Size.UNITS_PERCENTAGE; + + private Size size; /** * Creates a new split panel. The orientation of the panels is @@ -54,7 +57,8 @@ public class SplitPanel extends AbstractLayout { */ public SplitPanel() { orientation = ORIENTATION_VERTICAL; - setSizeFull(); + size = new Size(this); + size.setSizeFull(); } /** @@ -65,8 +69,8 @@ public class SplitPanel extends AbstractLayout { * the Orientation of the layout. */ public SplitPanel(int orientation) { - this.orientation = orientation; - setSizeFull(); + this(); + setOrientation(orientation); } /** @@ -194,7 +198,9 @@ public class SplitPanel extends AbstractLayout { public void paintContent(PaintTarget target) throws PaintException { super.paintContent(target); - final String position = pos + UNIT_SYMBOLS[posUnit]; + size.paint(target); + + final String position = pos + Size.UNIT_SYMBOLS[posUnit]; target.addAttribute("position", position); @@ -254,7 +260,7 @@ public class SplitPanel extends AbstractLayout { * the new size of the first region in persentage */ public void setSplitPosition(int pos) { - setSplitPosition(pos, UNITS_PERCENTAGE); + setSplitPosition(pos, Size.UNITS_PERCENTAGE); } /** @@ -263,7 +269,7 @@ public class SplitPanel extends AbstractLayout { * @param pos * size of the first region * @param unit - * the unit (from {@link Sizeable}) in which the size is + * the unit (from {@link Size}) in which the size is * given. */ public void setSplitPosition(int pos, int unit) { @@ -271,4 +277,9 @@ public class SplitPanel extends AbstractLayout { posUnit = unit; } + public Size getSize() { + // TODO Auto-generated method stub + return null; + } + } diff --git a/src/com/itmill/toolkit/ui/TabSheet.java b/src/com/itmill/toolkit/ui/TabSheet.java index 87ec3cfc16..4780a8702d 100644 --- a/src/com/itmill/toolkit/ui/TabSheet.java +++ b/src/com/itmill/toolkit/ui/TabSheet.java @@ -10,11 +10,12 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.Map; +import com.itmill.toolkit.terminal.HasSize; import com.itmill.toolkit.terminal.KeyMapper; import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; import com.itmill.toolkit.terminal.Resource; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; /** * Tabsheet component. @@ -24,7 +25,7 @@ import com.itmill.toolkit.terminal.Sizeable; * @VERSION@ * @since 3.0 */ -public class TabSheet extends AbstractComponentContainer implements Sizeable { +public class TabSheet extends AbstractComponentContainer implements HasSize { /** * Linked list of component tabs. @@ -53,29 +54,7 @@ public class TabSheet extends AbstractComponentContainer implements Sizeable { */ private boolean tabsHidden; - /** - * 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; + private Size size; /** * Constructs a new Tabsheet. Tabsheet is immediate by default. @@ -83,6 +62,7 @@ public class TabSheet extends AbstractComponentContainer implements Sizeable { public TabSheet() { super(); setImmediate(true); + size = new Size(this); } /** @@ -197,15 +177,8 @@ public class TabSheet extends AbstractComponentContainer implements Sizeable { */ public void paintContent(PaintTarget target) throws PaintException { - // Add size info - if (getHeight() > -1) { - target.addAttribute("height", getHeight() - + UNIT_SYMBOLS[getHeightUnits()]); - } - if (getWidth() > -1) { - target.addAttribute("width", getWidth() - + UNIT_SYMBOLS[getWidthUnits()]); - } + // Size + size.paint(target); if (areTabsHidden()) { target.addAttribute("hidetabs", true); @@ -509,106 +482,8 @@ public class TabSheet extends AbstractComponentContainer implements Sizeable { fireEvent(new SelectedTabChangeEvent(this)); } - /* - * (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) { - 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) { - widthUnit = units; - requestRepaint(); + public Size getSize() { + return size; } } diff --git a/src/com/itmill/toolkit/ui/Table.java b/src/com/itmill/toolkit/ui/Table.java index 4be9b840e8..5dbadf6d9c 100644 --- a/src/com/itmill/toolkit/ui/Table.java +++ b/src/com/itmill/toolkit/ui/Table.java @@ -21,11 +21,12 @@ import com.itmill.toolkit.data.Property; import com.itmill.toolkit.data.util.ContainerOrderedWrapper; import com.itmill.toolkit.data.util.IndexedContainer; import com.itmill.toolkit.event.Action; +import com.itmill.toolkit.terminal.HasSize; import com.itmill.toolkit.terminal.KeyMapper; import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; import com.itmill.toolkit.terminal.Resource; -import com.itmill.toolkit.terminal.Sizeable; +import com.itmill.toolkit.terminal.Size; /** * <code>TableComponent</code> is used for representing data or components in @@ -37,7 +38,7 @@ import com.itmill.toolkit.terminal.Sizeable; * @since 3.0 */ public class Table extends AbstractSelect implements Action.Container, - Container.Ordered, Container.Sortable, Sizeable { + Container.Ordered, Container.Sortable, HasSize { private static final int CELL_KEY = 0; @@ -49,25 +50,7 @@ public class Table extends AbstractSelect implements Action.Container, private static final int CELL_FIRSTCOL = 4; - /** - * Width of the table or -1 if unspecified. - */ - private int width = -1; - - /** - * Height of the table or -1 if unspecified. - */ - private int height = -1; - - /** - * Width unit. - */ - private int widthUnit = Sizeable.UNITS_PIXELS; - - /** - * Height unit. - */ - private int heightUnit = Sizeable.UNITS_PIXELS; + private Size size; /** * Left column alignment. <b>This is the default behaviour. </b> @@ -308,6 +291,7 @@ public class Table extends AbstractSelect implements Action.Container, */ public Table() { setRowHeaderMode(ROW_HEADER_MODE_HIDDEN); + size = new Size(this); } /** @@ -1422,14 +1406,7 @@ public class Table extends AbstractSelect implements Action.Container, } // Size - if (getHeight() >= 0) { - target.addAttribute("height", "" + getHeight() - + Sizeable.UNIT_SYMBOLS[getHeightUnits()]); - } - if (getWidth() >= 0) { - target.addAttribute("width", "" + getWidth() - + Sizeable.UNIT_SYMBOLS[getWidthUnits()]); - } + size.paint(target); // Initialize temps final Object[] colids = getVisibleColumns(); @@ -2439,126 +2416,78 @@ public class Table extends AbstractSelect implements Action.Container, } /** - * Gets height property unit. + * Table does not support lazy options loading mode. Setting this true will + * throw UnsupportedOperationException. * - * @see com.itmill.toolkit.terminal.Sizeable#getHeightUnits() + * @see com.itmill.toolkit.ui.Select#setLazyLoading(boolean) */ - public int getHeightUnits() { - return heightUnit; + public void setLazyLoading(boolean useLazyLoading) { + if (useLazyLoading) { + throw new UnsupportedOperationException( + "Lazy options loading is not supported by Table."); + } } + public Size getSize() { + return size; + } + + /* Compatibility methods */ + /** - * Gets width property unit. - * - * @see com.itmill.toolkit.terminal.Sizeable#getWidthUnits() + * @deprecated use Size object instead (getSize().setWidth()). */ - public int getWidthUnits() { - return widthUnit; + public void setWidth(int width) { + size.setWidth(width); } - + /** - * Sets height units. - * - * @see com.itmill.toolkit.terminal.Sizeable#setHeightUnits(int) + * @deprecated use Size object instead (getSize().setWidthUnits()). */ - public void setHeightUnits(int units) { - heightUnit = units; + public void setWidthUnits(int unit) { + size.setWidthUnits(unit); } - + /** - * Sets width units. Table supports only Sizeable.UNITS_PIXELS and - * Sizeable.UNITS_PERCENTAGE. Setting to any other throws - * IllegalArgumentException. - * - * @see com.itmill.toolkit.terminal.Sizeable#setWidthUnits(int) + * @deprecated use Size object instead (getSize().setHeight()). */ - public void setWidthUnits(int units) { - if (units != Sizeable.UNITS_PIXELS - && units != Sizeable.UNITS_PERCENTAGE) { - throw new IllegalArgumentException(); - } - widthUnit = units; + public void setHeight(int height) { + size.setHeight(height); } - + /** - * Gets height. - * - * @return height value as a positive integer or negative value if not - * assigned. - * @see com.itmill.toolkit.terminal.Sizeable#getHeight() + * @deprecated use Size object instead (getSize().setHeightUnits()). */ - public int getHeight() { - return height; + public void setHeightUnits(int unit) { + size.setHeightUnits(unit); } - + /** - * Gets width. - * - * @return width value as positive integer or negative value if not - * assigned. - * @see com.itmill.toolkit.terminal.Sizeable#getWidth() + * @deprecated use Size object instead (getSize().getWidth()). */ public int getWidth() { - return width; + return size.getWidth(); } - + /** - * Sets height. Use negative value to let the client decide the height. - * - * @param height - * the height to set. + * @deprecated use Size object instead (getSize().getWidthUnits()). */ - public void setHeight(int height) { - this.height = height; - requestRepaint(); + public int getWidthUnits() { + return size.getWidthUnits(); } - + /** - * Sets width. Use negative value to allow the client decide the width. - * - * @param width - * the width to set. + * @deprecated use Size object instead (getSize().getHeight()). */ - public void setWidth(int width) { - this.width = width; - requestRepaint(); + public int getHeight() { + return size.getHeight(); } - + /** - * Table does not support lazy options loading mode. Setting this true will - * throw UnsupportedOperationException. - * - * @see com.itmill.toolkit.ui.Select#setLazyLoading(boolean) + * @deprecated use Size object instead (getSize().getHeightUnits()). */ - public void setLazyLoading(boolean useLazyLoading) { - if (useLazyLoading) { - throw new UnsupportedOperationException( - "Lazy options loading is not supported by Table."); - } - } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#setSizeFull() - */ - public void setSizeFull() { - setWidth(100); - setHeight(100); - setWidthUnits(UNITS_PERCENTAGE); - setHeightUnits(UNITS_PERCENTAGE); - } - - /* - * (non-Javadoc) - * - * @see com.itmill.toolkit.terminal.Sizeable#setSizeUndefined() - */ - public void setSizeUndefined() { - setWidth(-1); - setHeight(-1); - setWidthUnits(UNITS_PIXELS); - setHeightUnits(UNITS_PIXELS); + public int getHeightUnits() { + return size.getHeightUnits(); } }
\ No newline at end of file |