Skip to content

Commit

Permalink
Реорганизация элементов меню
Browse files Browse the repository at this point in the history
    - загрузка мира перенесена в меню <Файл>
    - меню <Инструменты> переименовано в <События>
    - события, происходящие в мире, перенесены в меню <События>
  • Loading branch information
xlam committed Oct 25, 2018
1 parent 7396832 commit 54e146f
Showing 1 changed file with 30 additions and 37 deletions.
67 changes: 30 additions & 37 deletions ru/cyberbiology/MainWindow.java
Original file line number Diff line number Diff line change
Expand Up @@ -247,11 +247,17 @@ public void mouseClicked(MouseEvent e) {

private void setupMenuBar() {
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem snapShotItem = new JMenuItem("Сделать снимок");
JMenu fileMenu = new JMenu("Файл");
JMenu viewMenu = new JMenu("Вид");
JMenu toolsMenu = new JMenu("События");
JMenu paintStepMenu = new JMenu("Шаг отрисовки");
menuBar.add(fileMenu);
menuBar.add(viewMenu);
menuBar.add(toolsMenu);
menuBar.add(paintStepMenu);

JMenuItem snapShotItem = new JMenuItem("Сделать снимок");
JMenuItem runItem = new JMenuItem("Запустить");
fileMenu.add(runItem);
runItem.addActionListener((ActionEvent e) -> {
if (world == null) {
// Доступная часть экрана для рисования карты
Expand All @@ -272,7 +278,6 @@ private void setupMenuBar() {
});

JMenuItem mutateItem = new JMenuItem("Cлучайная мутация");
fileMenu.add(mutateItem);
mutateItem.addActionListener((ActionEvent e) -> {
// мутацию проводим при отключенном мире
world.stop();
Expand All @@ -281,14 +286,11 @@ private void setupMenuBar() {
});

JMenuItem adressJumpItem = new JMenuItem("Сбой программы генома");
fileMenu.add(adressJumpItem);
adressJumpItem.addActionListener((ActionEvent e) -> {
// TODO переименовать
world.jumpBotsCmdAdress();
});

fileMenu.add(snapShotItem);
// snapShotItem.setEnabled(false);
snapShotItem.addActionListener((ActionEvent e) -> {
if (world == null) {
int width1 = paintPanel.getWidth() / BOTW; // Ширина доступной части экрана для рисования карты
Expand All @@ -303,8 +305,6 @@ private void setupMenuBar() {
});

JMenuItem recordItem = new JMenuItem("Начать запись");
fileMenu.add(recordItem);

recordItem.addActionListener((ActionEvent e) -> {
if (world == null) {
int width1 = paintPanel.getWidth() / BOTW; // Ширина доступной части экрана для рисования карты
Expand All @@ -329,24 +329,16 @@ private void setupMenuBar() {
});

JMenuItem openItem = new JMenuItem("Открыть плеер");
fileMenu.add(openItem);
openItem.addActionListener((ActionEvent e) -> {
PlayerWindow fw = new PlayerWindow();
});

fileMenu.addSeparator();

JMenuItem optionItem = new JMenuItem("Настройки");
fileMenu.add(optionItem);
optionItem.addActionListener((ActionEvent e) -> {
showPropertyDialog();
});

fileMenu.addSeparator();

JMenuItem exitItem = new JMenuItem("Выйти");
fileMenu.add(exitItem);

JMenuItem exitItem = new JMenuItem("Выход");
exitItem.addActionListener((ActionEvent e) -> {
// Попытка корректно заверишть запись, если она велась
// TODO: Не тестировалось!
Expand All @@ -362,23 +354,7 @@ private void setupMenuBar() {
System.exit(0);
});

menuBar.add(fileMenu);

JMenu ViewMenu = new JMenu("Вид");
menuBar.add(ViewMenu);

JMenuItem item;
for (IView v : views) {
item = new JMenuItem(v.getName());
ViewMenu.add(item);
item.addActionListener((ActionEvent e) -> setView(v));
}

JMenu toolsMenu = new JMenu("Инструменты");
menuBar.add(toolsMenu);

JMenuItem loadWorldItem = new JMenuItem("Загрузить мир");
toolsMenu.add(loadWorldItem);
JMenuItem loadWorldItem = new JMenuItem("Загрузить снимок мира");
loadWorldItem.addActionListener((ActionEvent e) -> {
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new FileFilter() {
Expand All @@ -402,10 +378,28 @@ public String getDescription() {
}
});

fileMenu.add(runItem);
fileMenu.add(snapShotItem);
fileMenu.add(loadWorldItem);
fileMenu.add(recordItem);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(optionItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
toolsMenu.add(mutateItem);
toolsMenu.add(adressJumpItem);

JMenuItem item;
for (IView v : views) {
item = new JMenuItem(v.getName());
viewMenu.add(item);
item.addActionListener((ActionEvent e) -> setView(v));
}

/**
* Меню выбора шага отрисовки.
*/
JMenu paintStepMenu = new JMenu("Шаг отрисовки");
ButtonGroup paintStepGroup = new ButtonGroup();
// todo: заменить массив на property
int[] paintStepValues = {10, 500, 1000};
Expand All @@ -418,7 +412,6 @@ public String getDescription() {
paintStepGroup.add(i);
paintStepMenu.add(i);
}
menuBar.add(paintStepMenu);

setJMenuBar(menuBar);
}
Expand Down

0 comments on commit 54e146f

Please sign in to comment.