summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/ui/AbstractLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/ui/AbstractLayout.java')
-rw-r--r--src/com/vaadin/ui/AbstractLayout.java92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/com/vaadin/ui/AbstractLayout.java b/src/com/vaadin/ui/AbstractLayout.java
new file mode 100644
index 0000000000..3604e5ea1d
--- /dev/null
+++ b/src/com/vaadin/ui/AbstractLayout.java
@@ -0,0 +1,92 @@
+/*
+@ITMillApache2LicenseForJavaFiles@
+ */
+
+package com.vaadin.ui;
+
+import com.vaadin.terminal.PaintException;
+import com.vaadin.terminal.PaintTarget;
+import com.vaadin.ui.Layout.MarginHandler;
+
+/**
+ * An abstract class that defines default implementation for the {@link Layout}
+ * interface.
+ *
+ * @author IT Mill Ltd.
+ * @version
+ * @VERSION@
+ * @since 5.0
+ */
+@SuppressWarnings("serial")
+public abstract class AbstractLayout extends AbstractComponentContainer
+ implements Layout, MarginHandler {
+
+ protected MarginInfo margins = new MarginInfo(false);
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.ui.AbstractComponent#getTag()
+ */
+ @Override
+ public abstract String getTag();
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.ui.Layout#setMargin(boolean)
+ */
+ public void setMargin(boolean enabled) {
+ margins.setMargins(enabled);
+ requestRepaint();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.ui.Layout.MarginHandler#getMargin()
+ */
+ public MarginInfo getMargin() {
+ return margins;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.ui.Layout.MarginHandler#setMargin(MarginInfo)
+ */
+ public void setMargin(MarginInfo marginInfo) {
+ margins.setMargins(marginInfo);
+ requestRepaint();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see com.vaadin.ui.Layout#setMargin(boolean, boolean, boolean,
+ * boolean)
+ */
+ public void setMargin(boolean topEnabled, boolean rightEnabled,
+ boolean bottomEnabled, boolean leftEnabled) {
+ margins
+ .setMargins(topEnabled, rightEnabled, bottomEnabled,
+ leftEnabled);
+ requestRepaint();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * com.vaadin.ui.AbstractComponent#paintContent(com.vaadin
+ * .terminal.PaintTarget)
+ */
+ @Override
+ public void paintContent(PaintTarget target) throws PaintException {
+
+ // Add margin info. Defaults to false.
+ target.addAttribute("margins", margins.getBitMask());
+
+ }
+
+}