Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2014-07-24 21:30:55 +0000
committerTom Schindl2014-07-24 21:30:55 +0000
commite7493e5cc97b3617192529784cb593ed2880d3d5 (patch)
tree8f1b7ea37dba0d37df8b30ccfd5c0ac2c07af22c /experimental/viewer/org.eclipse.fx.ui.viewer/src
parent361efd8252a2f33b139321c22404c8fa982ce90b (diff)
downloadorg.eclipse.efxclipse-e7493e5cc97b3617192529784cb593ed2880d3d5.tar.gz
org.eclipse.efxclipse-e7493e5cc97b3617192529784cb593ed2880d3d5.tar.xz
org.eclipse.efxclipse-e7493e5cc97b3617192529784cb593ed2880d3d5.zip
adding viewer API definitions
Diffstat (limited to 'experimental/viewer/org.eclipse.fx.ui.viewer/src')
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ColumnViewer.java7
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ContentProvider.java7
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ContentProviderFactory.java25
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ListViewer.java11
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/StyleRange.java13
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TableViewer.java5
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeContentProvider.java9
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeTableViewer.java5
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeViewer.java11
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/Viewer.java12
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ViewerColumn.java14
-rw-r--r--experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ViewerFactory.java7
12 files changed, 126 insertions, 0 deletions
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ColumnViewer.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ColumnViewer.java
new file mode 100644
index 000000000..909d54d80
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ColumnViewer.java
@@ -0,0 +1,7 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.function.Function;
+
+public interface ColumnViewer<O, I, C extends ContentProvider<O, I>> extends Viewer<O, I, C> {
+ public <T> ViewerColumn<O,T> createColumn(String id, Function<O, T> cellDataProvider);
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ContentProvider.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ContentProvider.java
new file mode 100644
index 000000000..91eba3fb4
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ContentProvider.java
@@ -0,0 +1,7 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.List;
+
+public interface ContentProvider<O,I> {
+ public List<O> getRootElements(I input);
+} \ No newline at end of file
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ContentProviderFactory.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ContentProviderFactory.java
new file mode 100644
index 000000000..36b4a226c
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ContentProviderFactory.java
@@ -0,0 +1,25 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.Arrays;
+import java.util.List;
+
+public class ContentProviderFactory {
+ public static <O> ContentProvider<O, List<O>> createListContentProvider() {
+ return new ContentProvider<O, List<O>>() {
+ @Override
+ public List<O> getRootElements(List<O> input) {
+ return input;
+ }
+ };
+ }
+
+ public static <O> ContentProvider<O, O[]> createArrayContentProvider() {
+ return new ContentProvider<O, O[]>() {
+
+ @Override
+ public List<O> getRootElements(O[] input) {
+ return Arrays.asList(input);
+ }
+ };
+ }
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ListViewer.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ListViewer.java
new file mode 100644
index 000000000..80f96948d
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ListViewer.java
@@ -0,0 +1,11 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.List;
+import java.util.function.Function;
+
+public interface ListViewer<O,I,C extends ContentProvider<O, I>> extends Viewer<O, I, C> {
+ public ListViewer<O, I, C> styleProvider(Function<O, String> converter);
+ public ListViewer<O, I, C> textProvider(Function<O, String> converter);
+ public ListViewer<O, I, C> textStyleRangeProvider(Function<O, List<StyleRange>> converter);
+ public ListViewer<O, I, C> graphicProvider(Function<O, String> converter);
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/StyleRange.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/StyleRange.java
new file mode 100644
index 000000000..764231eba
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/StyleRange.java
@@ -0,0 +1,13 @@
+package org.eclipse.fx.ui.viewer;
+
+public class StyleRange {
+ public final int from;
+ public final int to;
+ public final String styleClass;
+
+ public StyleRange(int from, int to, String styleClass) {
+ this.from = from;
+ this.to = to;
+ this.styleClass = styleClass;
+ }
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TableViewer.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TableViewer.java
new file mode 100644
index 000000000..87d0b1eed
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TableViewer.java
@@ -0,0 +1,5 @@
+package org.eclipse.fx.ui.viewer;
+
+public interface TableViewer<O,I,C extends ContentProvider<O, I>> extends ColumnViewer<O, I, C> {
+
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeContentProvider.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeContentProvider.java
new file mode 100644
index 000000000..8cfcaface
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeContentProvider.java
@@ -0,0 +1,9 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.List;
+
+public interface TreeContentProvider<O,I> extends ContentProvider<O, I> {
+ public List<O> getChildren(O parent);
+ public O getParent(O element);
+ public boolean hasChildren(O element);
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeTableViewer.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeTableViewer.java
new file mode 100644
index 000000000..49caf9fa5
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeTableViewer.java
@@ -0,0 +1,5 @@
+package org.eclipse.fx.ui.viewer;
+
+public interface TreeTableViewer<O,I,C extends TreeContentProvider<O, I>> extends ColumnViewer<O, I, C> {
+
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeViewer.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeViewer.java
new file mode 100644
index 000000000..e778299ca
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/TreeViewer.java
@@ -0,0 +1,11 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.List;
+import java.util.function.Function;
+
+public interface TreeViewer<O,I,C extends TreeContentProvider<O, I>> extends Viewer<O, I, C> {
+ public ListViewer<O, I, C> styleProvider(Function<O, String> converter);
+ public ListViewer<O, I, C> textProvider(Function<O, String> converter);
+ public ListViewer<O, I, C> textStyleRangeProvider(Function<O, List<StyleRange>> converter);
+ public ListViewer<O, I, C> graphicProvider(Function<O, String> converter);
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/Viewer.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/Viewer.java
new file mode 100644
index 000000000..3030aa1a3
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/Viewer.java
@@ -0,0 +1,12 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.function.Supplier;
+
+import org.eclipse.jdt.annotation.NonNull;
+
+
+
+public interface Viewer<O, I, C extends ContentProvider<O, I>> {
+ public void setContentProvider(@NonNull Supplier<C> contentProvider);
+ public void setInput(@NonNull Supplier<I> input);
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ViewerColumn.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ViewerColumn.java
new file mode 100644
index 000000000..7dbdcb646
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ViewerColumn.java
@@ -0,0 +1,14 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.List;
+import java.util.function.BiFunction;
+import java.util.function.Function;
+
+public interface ViewerColumn<O,T> {
+ public ViewerColumn<O, T> setLabel(String label);
+ public ViewerColumn<O,T> styleProvider(BiFunction<O, T, String> converter);
+ public ViewerColumn<O,T> textProvider(BiFunction<O, T, String> converter);
+ public ViewerColumn<O,T> textProvider(Function<T, String> converter);
+ public ViewerColumn<O,T> textStyleRangeProvider(BiFunction<O, T, List<StyleRange>> converter);
+ public ViewerColumn<O,T> graphicProvider(BiFunction<O, T, String> converter);
+}
diff --git a/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ViewerFactory.java b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ViewerFactory.java
new file mode 100644
index 000000000..f035cac8c
--- /dev/null
+++ b/experimental/viewer/org.eclipse.fx.ui.viewer/src/org/eclipse/fx/ui/viewer/ViewerFactory.java
@@ -0,0 +1,7 @@
+package org.eclipse.fx.ui.viewer;
+
+import java.util.function.Consumer;
+
+public interface ViewerFactory {
+ public <O,I,C extends ContentProvider<O, I>, V extends TableViewer<O,I,C>,W> V createTableViewerViewer(W ownerWidget, Consumer<V> setup);
+}

Back to the top