aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/ui/Table.java
diff options
context:
space:
mode:
authorJouni Koivuviita <jouni.koivuviita@itmill.com>2007-12-13 10:11:49 +0000
committerJouni Koivuviita <jouni.koivuviita@itmill.com>2007-12-13 10:11:49 +0000
commitc4dbcb707ce15346c1c6e297eaa2e42bbe186d8c (patch)
tree88f7e72df4492c5c3ada45dd1d4368459ab1d300 /src/com/itmill/toolkit/ui/Table.java
parentf5f2e1116704d9019c99e17691889f70621e6b4c (diff)
downloadvaadin-framework-c4dbcb707ce15346c1c6e297eaa2e42bbe186d8c.tar.gz
vaadin-framework-c4dbcb707ce15346c1c6e297eaa2e42bbe186d8c.zip
Major layout API changes: Sizeable is now deprecated. Use HasSize-interface instead in combination with Size object (see ExpandLayout.java for example). OrderedLayout is no longer sizable. Table and Panel implement compatibility methods to proxy old size calls to the new Size object.
svn changeset:3228/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/ui/Table.java')
-rw-r--r--src/com/itmill/toolkit/ui/Table.java171
1 files changed, 50 insertions, 121 deletions
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