/*
* This file is part of the Illarion project.
*
* Copyright © 2015 - Illarion e.V.
*
* Illarion is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Illarion is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
package illarion.mapedit.tools.panel;
import illarion.mapedit.Lang;
import javax.annotation.Nonnull;
import javax.swing.*;
import java.awt.*;
/**
* @author Tim
*/
public class WarpPanel extends JPanel {
@Nonnull
public final JSpinner xSpinner;
@Nonnull
public final JSpinner ySpinner;
@Nonnull
public final JSpinner zSpinner;
@Nonnull
public final JCheckBox delCheckBox;
@Nonnull
private final JRadioButton fillSelectedCheckbox;
@Nonnull
private final JRadioButton fillAreaCheckbox;
public WarpPanel() {
super(new BorderLayout());
JPanel panel = new JPanel(new GridLayout(0, 2));
xSpinner = new JSpinner(new SpinnerNumberModel(0, -1000000, 1000000, 1));
ySpinner = new JSpinner(new SpinnerNumberModel(0, -1000000, 1000000, 1));
zSpinner = new JSpinner(new SpinnerNumberModel(0, -1000000, 1000000, 1));
delCheckBox = new JCheckBox();
fillSelectedCheckbox = new JRadioButton();
fillAreaCheckbox = new JRadioButton();
fillAreaCheckbox.setSelected(true);
ButtonGroup group = new ButtonGroup();
group.add(fillAreaCheckbox);
group.add(fillSelectedCheckbox);
delCheckBox.addActionListener(e -> {
xSpinner.setEnabled(!delCheckBox.isSelected());
ySpinner.setEnabled(!delCheckBox.isSelected());
zSpinner.setEnabled(!delCheckBox.isSelected());
});
panel.add(new JLabel(Lang.getMsg("tools.WarpTool.TargetX")));
panel.add(xSpinner);
panel.add(new JLabel(Lang.getMsg("tools.WarpTool.TargetY")));
panel.add(ySpinner);
panel.add(new JLabel(Lang.getMsg("tools.WarpTool.TargetZ")));
panel.add(zSpinner);
panel.add(new JLabel(Lang.getMsg("tools.WarpTool.Delete")));
panel.add(delCheckBox);
panel.add(new JLabel(Lang.getMsg("tools.FillSelected")));
panel.add(fillSelectedCheckbox);
panel.add(new JLabel(Lang.getMsg("tools.FillArea")));
panel.add(fillAreaCheckbox);
add(panel, BorderLayout.NORTH);
}
public int getTargetX() {
return (Integer) xSpinner.getValue();
}
public int getTargetY() {
return (Integer) ySpinner.getValue();
}
public int getTargetZ() {
return (Integer) zSpinner.getValue();
}
public boolean isDelete() {
return delCheckBox.isSelected();
}
public boolean isFillSelected() {
return fillSelectedCheckbox.isSelected();
}
public boolean isFillArea() {
return fillAreaCheckbox.isSelected();
}
}