diff options
author | Tom Schindl | 2014-07-24 21:30:55 +0000 |
---|---|---|
committer | Tom Schindl | 2014-07-24 21:30:55 +0000 |
commit | e7493e5cc97b3617192529784cb593ed2880d3d5 (patch) | |
tree | 8f1b7ea37dba0d37df8b30ccfd5c0ac2c07af22c /experimental/viewer/org.eclipse.fx.ui.viewer/src | |
parent | 361efd8252a2f33b139321c22404c8fa982ce90b (diff) | |
download | org.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')
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); +} |