Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package jetbrains.jetpad.model.composite;

import jetbrains.jetpad.base.function.Function;
import jetbrains.jetpad.geometry.Rectangle;
import jetbrains.jetpad.geometry.Vector;

Expand Down Expand Up @@ -56,16 +55,6 @@ ViewT endElement(ViewT cell) {
}
}

public <ViewT extends NavComposite<ViewT> & HasFocusability & HasVisibility & HasBounds>
Iterable<ViewT> upperFocusables(ViewT v) {
return Composites.iterate(v, new NextUpperFocusable<>(v));
}

public <ViewT extends NavComposite<ViewT> & HasFocusability & HasVisibility & HasBounds>
Iterable<ViewT> lowerFocusables(ViewT v) {
return Composites.iterate(v, new NextLowerFocusable<>(v));
}

public <ViewT extends NavComposite<ViewT> & HasFocusability & HasVisibility & HasBounds>
ViewT upperFocusable(ViewT v, int xOffset) {
ViewT current = Composites.prevFocusable(v);
Expand Down Expand Up @@ -119,61 +108,4 @@ public <ViewT extends HasBounds> double distanceTo(ViewT c, int x) {
return bounds.distance(new Vector(x, bounds.origin.y));
}

private class NextUpperFocusable<ViewT extends NavComposite<ViewT> & HasFocusability & HasVisibility & HasBounds>
implements Function<ViewT, ViewT> {

private final ViewT myFirstFocusableAbove;
private final ViewT myInitial;

NextUpperFocusable(ViewT initial) {
myFirstFocusableAbove = firstFocusableAbove(initial);
myInitial = initial;
}

private ViewT firstFocusableAbove(ViewT initial) {
ViewT current = Composites.prevFocusable(initial);
while (current != null && !isAbove(current, initial)) {
current = Composites.prevFocusable(current);
}
return current;
}

@Override
public ViewT apply(ViewT value) {
if (value == myInitial) {
return myFirstFocusableAbove;
}
ViewT next = Composites.prevFocusable(value);
return next != null && !isAbove(next, myFirstFocusableAbove) ? next : null;
}
}

private class NextLowerFocusable<ViewT extends NavComposite<ViewT> & HasFocusability & HasVisibility & HasBounds>
implements Function<ViewT, ViewT> {

private final ViewT myFirstFocusableBelow;
private final ViewT myInitial;

NextLowerFocusable(ViewT initial) {
myFirstFocusableBelow = firstFocusableBelow(initial);
myInitial = initial;
}

private ViewT firstFocusableBelow(ViewT initial) {
ViewT current = Composites.nextFocusable(initial);
while (current != null && !isBelow(current, initial)) {
current = Composites.nextFocusable(current);
}
return current;
}

@Override
public ViewT apply(ViewT value) {
if (value == myInitial) {
return myFirstFocusableBelow;
}
ViewT next = Composites.nextFocusable(value);
return next != null && !isBelow(next, myFirstFocusableBelow) ? next : null;
}
}
}

This file was deleted.