aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/itmill/toolkit/demo/BrowserDemo.java2
-rw-r--r--src/com/itmill/toolkit/demo/LayoutDemo.java2
-rw-r--r--src/com/itmill/toolkit/demo/NativeWindowing.java8
-rw-r--r--src/com/itmill/toolkit/demo/Parameters.java6
-rw-r--r--src/com/itmill/toolkit/demo/TreeFilesystem.java2
-rw-r--r--src/com/itmill/toolkit/demo/TreeFilesystemContainer.java6
-rw-r--r--src/com/itmill/toolkit/demo/WindowedDemos.java8
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/EmbeddedBrowserExample.java2
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/FeatureBrowser.java16
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/TableExample.java4
-rw-r--r--src/com/itmill/toolkit/demo/featurebrowser/TreeExample.java2
-rw-r--r--src/com/itmill/toolkit/demo/reservation/ReservationApplication.java6
-rw-r--r--src/com/itmill/toolkit/terminal/HasSize.java7
-rw-r--r--src/com/itmill/toolkit/terminal/Size.java217
-rw-r--r--src/com/itmill/toolkit/terminal/Sizeable.java1
-rw-r--r--src/com/itmill/toolkit/tests/BasicRandomTest.java2
-rw-r--r--src/com/itmill/toolkit/tests/RandomLayoutStress.java4
-rw-r--r--src/com/itmill/toolkit/tests/TestBench.java5
-rw-r--r--src/com/itmill/toolkit/tests/TestComponentsAndLayouts.java11
-rw-r--r--src/com/itmill/toolkit/tests/TestForAlignments.java4
-rw-r--r--src/com/itmill/toolkit/tests/TestForApplicationLayoutThatUsesWholeBrosersSpace.java6
-rw-r--r--src/com/itmill/toolkit/tests/TestForBasicApplicationLayout.java20
-rw-r--r--src/com/itmill/toolkit/tests/TestForContainerFilterable.java8
-rw-r--r--src/com/itmill/toolkit/tests/TestForExpandLayout.java5
-rw-r--r--src/com/itmill/toolkit/tests/TestForNativeWindowing.java8
-rw-r--r--src/com/itmill/toolkit/tests/TestForPreconfiguredComponents.java4
-rw-r--r--src/com/itmill/toolkit/tests/TestForTablesInitialColumnWidthLogicRendering.java12
-rw-r--r--src/com/itmill/toolkit/tests/TestForTrees.java4
-rw-r--r--src/com/itmill/toolkit/tests/featurebrowser/Feature.java6
-rw-r--r--src/com/itmill/toolkit/tests/featurebrowser/FeatureWindow.java4
-rw-r--r--src/com/itmill/toolkit/tests/featurebrowser/PropertyPanel.java20
-rw-r--r--src/com/itmill/toolkit/tests/magi/MagiTestApplication.java20
-rw-r--r--src/com/itmill/toolkit/tests/testbench/TestBench.java5
-rw-r--r--src/com/itmill/toolkit/tests/testbench/TestForAlignments.java2
-rw-r--r--src/com/itmill/toolkit/tests/testbench/TestForBasicApplicationLayout.java20
-rw-r--r--src/com/itmill/toolkit/tests/testbench/TestForContainerFilterable.java8
-rw-r--r--src/com/itmill/toolkit/tests/testbench/TestForPreconfiguredComponents.java4
-rw-r--r--src/com/itmill/toolkit/tests/testbench/TestForTrees.java4
-rw-r--r--src/com/itmill/toolkit/ui/AbstractLayout.java135
-rw-r--r--src/com/itmill/toolkit/ui/CustomLayout.java14
-rw-r--r--src/com/itmill/toolkit/ui/ExpandLayout.java22
-rw-r--r--src/com/itmill/toolkit/ui/GridLayout.java66
-rw-r--r--src/com/itmill/toolkit/ui/Layout.java3
-rw-r--r--src/com/itmill/toolkit/ui/Panel.java189
-rw-r--r--src/com/itmill/toolkit/ui/SplitPanel.java29
-rw-r--r--src/com/itmill/toolkit/ui/TabSheet.java143
-rw-r--r--src/com/itmill/toolkit/ui/Table.java171
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