|
20 | 20 | import java.util.HashMap;
|
21 | 21 | import java.util.Map;
|
22 | 22 | import java.util.Objects;
|
| 23 | +import java.util.function.BiConsumer; |
23 | 24 | import java.util.function.BiFunction;
|
24 | 25 | import java.util.function.Consumer;
|
25 | 26 | import java.util.function.Function;
|
26 |
| -import java.util.function.Predicate; |
27 | 27 |
|
28 | 28 | import javax.annotation.Nullable;
|
29 | 29 |
|
|
38 | 38 | import org.eclipse.swt.dnd.TransferData;
|
39 | 39 | import org.eclipse.swt.widgets.Control;
|
40 | 40 |
|
41 |
| -import com.diffplug.common.base.Predicates; |
42 | 41 | import com.diffplug.common.collect.ImmutableList;
|
43 | 42 | import com.diffplug.common.collect.ImmutableMap;
|
44 | 43 | import com.diffplug.common.collect.Immutables;
|
@@ -221,6 +220,24 @@ public static Transfer preferDropTransfer(DropTargetEvent event, Transfer[] pref
|
221 | 220 | return null;
|
222 | 221 | }
|
223 | 222 |
|
| 223 | + public static <T> TypedDropHandler<T> handler(DndOp op, Consumer<T> onValue) { |
| 224 | + return handler(op, (unusedEvent, value) -> onValue.accept(value)); |
| 225 | + } |
| 226 | + |
| 227 | + public static <T> TypedDropHandler<T> handler(DndOp op, BiConsumer<DropTargetEvent, T> onValue) { |
| 228 | + return new AbstractTypedDropHandler<T>(op) { |
| 229 | + @Override |
| 230 | + protected boolean accept(T value) { |
| 231 | + return true; |
| 232 | + } |
| 233 | + |
| 234 | + @Override |
| 235 | + protected void drop(DropTargetEvent event, T value, boolean moved) { |
| 236 | + onValue.accept(event, value); |
| 237 | + } |
| 238 | + }; |
| 239 | + } |
| 240 | + |
224 | 241 | public static class Listener implements DropTargetListener {
|
225 | 242 | final ImmutableMap<Transfer, Handler> handlers;
|
226 | 243 | final Transfer[] transfers;
|
@@ -332,24 +349,4 @@ public void onEvent(DropMethod method, @Nullable DropTargetEvent e, T value) {
|
332 | 349 |
|
333 | 350 | protected abstract void drop(DropTargetEvent event, T value, boolean moved);
|
334 | 351 | }
|
335 |
| - |
336 |
| - /** Creates a TypedDropHandler for the given type. */ |
337 |
| - public static <T> TypedDropHandler<T> handler(DndOp op, Predicate<T> predicate, Consumer<T> onDrop) { |
338 |
| - return new AbstractTypedDropHandler<T>(op) { |
339 |
| - @Override |
340 |
| - protected boolean accept(T value) { |
341 |
| - return predicate.test(value); |
342 |
| - } |
343 |
| - |
344 |
| - @Override |
345 |
| - protected void drop(DropTargetEvent event, T value, boolean moved) { |
346 |
| - onDrop.accept(value); |
347 |
| - } |
348 |
| - }; |
349 |
| - } |
350 |
| - |
351 |
| - /** Creates a TypedDropHandler for the given type. */ |
352 |
| - public static <T> TypedDropHandler<T> handler(DndOp op, Consumer<T> onDrop) { |
353 |
| - return handler(op, Predicates.alwaysTrue(), onDrop); |
354 |
| - } |
355 | 352 | }
|
0 commit comments