]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms.ux/src/org/argeo/cms/ux/widgets/AbstractTabularPart.java
Refactor SWT UX.
[lgpl/argeo-commons.git] / org.argeo.cms.ux / src / org / argeo / cms / ux / widgets / AbstractTabularPart.java
diff --git a/org.argeo.cms.ux/src/org/argeo/cms/ux/widgets/AbstractTabularPart.java b/org.argeo.cms.ux/src/org/argeo/cms/ux/widgets/AbstractTabularPart.java
new file mode 100644 (file)
index 0000000..7e63ea8
--- /dev/null
@@ -0,0 +1,25 @@
+package org.argeo.cms.ux.widgets;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public abstract class AbstractTabularPart<INPUT, T> extends AbstractDataPart<INPUT, T> implements TabularPart<INPUT, T> {
+
+       private List<Column<T>> columns = new ArrayList<>();
+
+       @Override
+       public Column<T> getColumn(int index) {
+               if (index >= columns.size())
+                       throw new IllegalArgumentException("There a only " + columns.size());
+               return columns.get(index);
+       }
+
+       public void addColumn(Column<T> column) {
+               columns.add(column);
+       }
+
+       @Override
+       public int getColumnCount() {
+               return columns.size();
+       }
+}