Expose some helper methods in *OptionChoice components
This commit is contained in:
@@ -83,6 +83,12 @@ public abstract class BaseContainer extends BaseComponent {
|
|||||||
return childrenHeight;
|
return childrenHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void focus() {
|
||||||
|
blur();
|
||||||
|
super.focus();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void blur() {
|
public void blur() {
|
||||||
super.blur();
|
super.blur();
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ import com.bartlomiejpluta.base.api.screen.Screen;
|
|||||||
import com.bartlomiejpluta.base.util.math.MathUtil;
|
import com.bartlomiejpluta.base.util.math.MathUtil;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class HGridOptionChoice extends HGridLayout {
|
public class HGridOptionChoice extends HGridLayout {
|
||||||
private static final EnumSet<KeyAction> ACTIONS = EnumSet.of(KeyAction.PRESS, KeyAction.REPEAT);
|
private static final EnumSet<KeyAction> ACTIONS = EnumSet.of(KeyAction.PRESS, KeyAction.REPEAT);
|
||||||
@@ -27,6 +29,9 @@ public class HGridOptionChoice extends HGridLayout {
|
|||||||
@Getter
|
@Getter
|
||||||
private Component selectedComponent = null;
|
private Component selectedComponent = null;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private Consumer<Component> onSelect;
|
||||||
|
|
||||||
public HGridOptionChoice(Context context, GUI gui, Map<String, Component> refs) {
|
public HGridOptionChoice(Context context, GUI gui, Map<String, Component> refs) {
|
||||||
super(context, gui, refs);
|
super(context, gui, refs);
|
||||||
addEventListener(KeyEvent.TYPE, this::switchOption);
|
addEventListener(KeyEvent.TYPE, this::switchOption);
|
||||||
@@ -56,6 +61,16 @@ public class HGridOptionChoice extends HGridLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void select(int row, int column) {
|
||||||
|
selectedRow = row;
|
||||||
|
selectedColumn = column;
|
||||||
|
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <E extends Event> void handleEvent(E event) {
|
public <E extends Event> void handleEvent(E event) {
|
||||||
var index = rows * selectedColumn + selectedRow;
|
var index = rows * selectedColumn + selectedRow;
|
||||||
@@ -69,19 +84,13 @@ public class HGridOptionChoice extends HGridLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void blurAll() {
|
|
||||||
for (var child : children) {
|
|
||||||
child.blur();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void switchOption(KeyEvent event) {
|
private void switchOption(KeyEvent event) {
|
||||||
if (children.isEmpty()) {
|
if (children.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.getKey() == Key.KEY_DOWN && ACTIONS.contains(event.getAction())) {
|
if (event.getKey() == Key.KEY_DOWN && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
for (int i = 0; i < children.size(); ++i) {
|
for (int i = 0; i < children.size(); ++i) {
|
||||||
@@ -93,9 +102,14 @@ public class HGridOptionChoice extends HGridLayout {
|
|||||||
selectedRow = (++selectedRow) % size;
|
selectedRow = (++selectedRow) % size;
|
||||||
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
} else if (event.getKey() == Key.KEY_UP && ACTIONS.contains(event.getAction())) {
|
} else if (event.getKey() == Key.KEY_UP && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
for (int i = 0; i < children.size(); ++i) {
|
for (int i = 0; i < children.size(); ++i) {
|
||||||
@@ -107,9 +121,14 @@ public class HGridOptionChoice extends HGridLayout {
|
|||||||
selectedRow = ((--selectedRow) + size) % size;
|
selectedRow = ((--selectedRow) + size) % size;
|
||||||
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
} else if (event.getKey() == Key.KEY_RIGHT && ACTIONS.contains(event.getAction())) {
|
} else if (event.getKey() == Key.KEY_RIGHT && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
for (int i = 0; i < children.size(); ++i) {
|
for (int i = 0; i < children.size(); ++i) {
|
||||||
@@ -121,9 +140,14 @@ public class HGridOptionChoice extends HGridLayout {
|
|||||||
selectedColumn = (++selectedColumn) % size;
|
selectedColumn = (++selectedColumn) % size;
|
||||||
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
} else if (event.getKey() == Key.KEY_LEFT && ACTIONS.contains(event.getAction())) {
|
} else if (event.getKey() == Key.KEY_LEFT && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
for (int i = 0; i < children.size(); ++i) {
|
for (int i = 0; i < children.size(); ++i) {
|
||||||
@@ -135,6 +159,11 @@ public class HGridOptionChoice extends HGridLayout {
|
|||||||
selectedColumn = ((--selectedColumn) + size) % size;
|
selectedColumn = ((--selectedColumn) + size) % size;
|
||||||
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
selectedComponent = children.get(rows * selectedColumn + selectedRow);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ import com.bartlomiejpluta.base.api.screen.Screen;
|
|||||||
import com.bartlomiejpluta.base.util.math.MathUtil;
|
import com.bartlomiejpluta.base.util.math.MathUtil;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class HOptionChoice extends HLayout {
|
public class HOptionChoice extends HLayout {
|
||||||
private static final EnumSet<KeyAction> ACTIONS = EnumSet.of(KeyAction.PRESS, KeyAction.REPEAT);
|
private static final EnumSet<KeyAction> ACTIONS = EnumSet.of(KeyAction.PRESS, KeyAction.REPEAT);
|
||||||
@@ -24,6 +26,9 @@ public class HOptionChoice extends HLayout {
|
|||||||
@Getter
|
@Getter
|
||||||
private Component selectedComponent = null;
|
private Component selectedComponent = null;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private Consumer<Component> onSelect;
|
||||||
|
|
||||||
public HOptionChoice(Context context, GUI gui, Map<String, Component> refs) {
|
public HOptionChoice(Context context, GUI gui, Map<String, Component> refs) {
|
||||||
super(context, gui, refs);
|
super(context, gui, refs);
|
||||||
addEventListener(KeyEvent.TYPE, this::switchOption);
|
addEventListener(KeyEvent.TYPE, this::switchOption);
|
||||||
@@ -43,6 +48,15 @@ public class HOptionChoice extends HLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void select(int index) {
|
||||||
|
selected = index;
|
||||||
|
selectedComponent = children.get(selected);
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <E extends Event> void handleEvent(E event) {
|
public <E extends Event> void handleEvent(E event) {
|
||||||
if (selected < children.size()) {
|
if (selected < children.size()) {
|
||||||
@@ -61,24 +75,28 @@ public class HOptionChoice extends HLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (event.getKey() == Key.KEY_RIGHT && ACTIONS.contains(event.getAction())) {
|
if (event.getKey() == Key.KEY_RIGHT && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
selected = (++selected) % children.size();
|
selected = (++selected) % children.size();
|
||||||
selectedComponent = children.get(selected);
|
selectedComponent = children.get(selected);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if (onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
} else if (event.getKey() == Key.KEY_LEFT && ACTIONS.contains(event.getAction())) {
|
} else if (event.getKey() == Key.KEY_LEFT && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
var size = children.size();
|
var size = children.size();
|
||||||
selected = (((--selected) % size) + size) % size;
|
selected = (((--selected) % size) + size) % size;
|
||||||
selectedComponent = children.get(selected);
|
selectedComponent = children.get(selected);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
event.consume();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void blurAll() {
|
if (onSelect != null) {
|
||||||
for (var child : children) {
|
onSelect.accept(selectedComponent);
|
||||||
child.blur();
|
}
|
||||||
|
|
||||||
|
event.consume();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ import com.bartlomiejpluta.base.api.screen.Screen;
|
|||||||
import com.bartlomiejpluta.base.util.math.MathUtil;
|
import com.bartlomiejpluta.base.util.math.MathUtil;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class VGridOptionChoice extends VGridLayout {
|
public class VGridOptionChoice extends VGridLayout {
|
||||||
private static final EnumSet<KeyAction> ACTIONS = EnumSet.of(KeyAction.PRESS, KeyAction.REPEAT);
|
private static final EnumSet<KeyAction> ACTIONS = EnumSet.of(KeyAction.PRESS, KeyAction.REPEAT);
|
||||||
@@ -27,6 +29,9 @@ public class VGridOptionChoice extends VGridLayout {
|
|||||||
@Getter
|
@Getter
|
||||||
private Component selectedComponent = null;
|
private Component selectedComponent = null;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private Consumer<Component> onSelect;
|
||||||
|
|
||||||
public VGridOptionChoice(Context context, GUI gui, Map<String, Component> refs) {
|
public VGridOptionChoice(Context context, GUI gui, Map<String, Component> refs) {
|
||||||
super(context, gui, refs);
|
super(context, gui, refs);
|
||||||
addEventListener(KeyEvent.TYPE, this::switchOption);
|
addEventListener(KeyEvent.TYPE, this::switchOption);
|
||||||
@@ -56,6 +61,16 @@ public class VGridOptionChoice extends VGridLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void select(int row, int column) {
|
||||||
|
selectedRow = row;
|
||||||
|
selectedColumn = column;
|
||||||
|
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <E extends Event> void handleEvent(E event) {
|
public <E extends Event> void handleEvent(E event) {
|
||||||
var index = columns * selectedRow + selectedColumn;
|
var index = columns * selectedRow + selectedColumn;
|
||||||
@@ -69,19 +84,13 @@ public class VGridOptionChoice extends VGridLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void blurAll() {
|
|
||||||
for (var child : children) {
|
|
||||||
child.blur();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void switchOption(KeyEvent event) {
|
private void switchOption(KeyEvent event) {
|
||||||
if (children.isEmpty()) {
|
if (children.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.getKey() == Key.KEY_DOWN && ACTIONS.contains(event.getAction())) {
|
if (event.getKey() == Key.KEY_DOWN && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
for (int i = 0; i < children.size(); ++i) {
|
for (int i = 0; i < children.size(); ++i) {
|
||||||
@@ -93,9 +102,14 @@ public class VGridOptionChoice extends VGridLayout {
|
|||||||
selectedRow = (++selectedRow) % size;
|
selectedRow = (++selectedRow) % size;
|
||||||
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
} else if (event.getKey() == Key.KEY_UP && ACTIONS.contains(event.getAction())) {
|
} else if (event.getKey() == Key.KEY_UP && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
for (int i = 0; i < children.size(); ++i) {
|
for (int i = 0; i < children.size(); ++i) {
|
||||||
@@ -107,9 +121,14 @@ public class VGridOptionChoice extends VGridLayout {
|
|||||||
selectedRow = ((--selectedRow) + size) % size;
|
selectedRow = ((--selectedRow) + size) % size;
|
||||||
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
} else if (event.getKey() == Key.KEY_RIGHT && ACTIONS.contains(event.getAction())) {
|
} else if (event.getKey() == Key.KEY_RIGHT && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
for (int i = 0; i < children.size(); ++i) {
|
for (int i = 0; i < children.size(); ++i) {
|
||||||
@@ -121,9 +140,14 @@ public class VGridOptionChoice extends VGridLayout {
|
|||||||
selectedColumn = (++selectedColumn) % size;
|
selectedColumn = (++selectedColumn) % size;
|
||||||
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
} else if (event.getKey() == Key.KEY_LEFT && ACTIONS.contains(event.getAction())) {
|
} else if (event.getKey() == Key.KEY_LEFT && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
|
|
||||||
int size = 0;
|
int size = 0;
|
||||||
for (int i = 0; i < children.size(); ++i) {
|
for (int i = 0; i < children.size(); ++i) {
|
||||||
@@ -135,6 +159,11 @@ public class VGridOptionChoice extends VGridLayout {
|
|||||||
selectedColumn = ((--selectedColumn) + size) % size;
|
selectedColumn = ((--selectedColumn) + size) % size;
|
||||||
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
selectedComponent = children.get(columns * selectedRow + selectedColumn);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ import com.bartlomiejpluta.base.api.screen.Screen;
|
|||||||
import com.bartlomiejpluta.base.util.math.MathUtil;
|
import com.bartlomiejpluta.base.util.math.MathUtil;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
public class VOptionChoice extends VLayout {
|
public class VOptionChoice extends VLayout {
|
||||||
private static final EnumSet<KeyAction> ACTIONS = EnumSet.of(KeyAction.PRESS, KeyAction.REPEAT);
|
private static final EnumSet<KeyAction> ACTIONS = EnumSet.of(KeyAction.PRESS, KeyAction.REPEAT);
|
||||||
@@ -24,6 +26,9 @@ public class VOptionChoice extends VLayout {
|
|||||||
@Getter
|
@Getter
|
||||||
private Component selectedComponent = null;
|
private Component selectedComponent = null;
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private Consumer<Component> onSelect;
|
||||||
|
|
||||||
public VOptionChoice(Context context, GUI gui, Map<String, Component> refs) {
|
public VOptionChoice(Context context, GUI gui, Map<String, Component> refs) {
|
||||||
super(context, gui, refs);
|
super(context, gui, refs);
|
||||||
addEventListener(KeyEvent.TYPE, this::switchOption);
|
addEventListener(KeyEvent.TYPE, this::switchOption);
|
||||||
@@ -43,6 +48,15 @@ public class VOptionChoice extends VLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void select(int index) {
|
||||||
|
selected = index;
|
||||||
|
selectedComponent = children.get(selected);
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <E extends Event> void handleEvent(E event) {
|
public <E extends Event> void handleEvent(E event) {
|
||||||
if (selected < children.size()) {
|
if (selected < children.size()) {
|
||||||
@@ -61,24 +75,28 @@ public class VOptionChoice extends VLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (event.getKey() == Key.KEY_DOWN && ACTIONS.contains(event.getAction())) {
|
if (event.getKey() == Key.KEY_DOWN && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
selected = (++selected) % children.size();
|
selected = (++selected) % children.size();
|
||||||
selectedComponent = children.get(selected);
|
selectedComponent = children.get(selected);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
|
|
||||||
|
if(onSelect != null) {
|
||||||
|
onSelect.accept(selectedComponent);
|
||||||
|
}
|
||||||
|
|
||||||
event.consume();
|
event.consume();
|
||||||
} else if (event.getKey() == Key.KEY_UP && ACTIONS.contains(event.getAction())) {
|
} else if (event.getKey() == Key.KEY_UP && ACTIONS.contains(event.getAction())) {
|
||||||
blurAll();
|
blur();
|
||||||
var size = children.size();
|
var size = children.size();
|
||||||
selected = (((--selected) % size) + size) % size;
|
selected = (((--selected) % size) + size) % size;
|
||||||
selectedComponent = children.get(selected);
|
selectedComponent = children.get(selected);
|
||||||
selectedComponent.focus();
|
selectedComponent.focus();
|
||||||
event.consume();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void blurAll() {
|
if(onSelect != null) {
|
||||||
for (var child : children) {
|
onSelect.accept(selectedComponent);
|
||||||
child.blur();
|
}
|
||||||
|
|
||||||
|
event.consume();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user