37 lines
1.1 KiB
Java
37 lines
1.1 KiB
Java
package ru.project.ui.creation;
|
|
|
|
import com.googlecode.lanterna.gui2.ActionListBox;
|
|
import com.googlecode.lanterna.gui2.WindowBasedTextGUI;
|
|
import java.util.function.Consumer;
|
|
import ru.project.ui.base.BaseModalWindow;
|
|
|
|
public class FillMethodSelectionWindow extends BaseModalWindow {
|
|
|
|
private final Consumer<FillMethod> onFillMethodSelected;
|
|
|
|
public FillMethodSelectionWindow(
|
|
WindowBasedTextGUI gui, Consumer<FillMethod> onFillMethodSelected) {
|
|
|
|
super("Выбор способа заполнения", gui);
|
|
|
|
this.onFillMethodSelected = onFillMethodSelected;
|
|
|
|
ActionListBox menu = new ActionListBox();
|
|
|
|
menu.addItem("Пользовательские данные", () -> selectFillMethod(FillMethod.CUSTOM));
|
|
|
|
menu.addItem("Случайные данные", () -> selectFillMethod(FillMethod.RANDOM));
|
|
|
|
menu.addItem("Данные из файла", () -> selectFillMethod(FillMethod.FILE));
|
|
|
|
menu.addItem("Выйти", this::close);
|
|
|
|
setComponent(menu);
|
|
}
|
|
|
|
private void selectFillMethod(FillMethod fillMethod) {
|
|
onFillMethodSelected.accept(fillMethod);
|
|
close();
|
|
}
|
|
}
|