use of mudmap2.backend.Place in project mudmap2 by Neop.
the class PathConnectNeighborsDialog method create.
@Override
void create() {
neighbor_checkboxes = new HashMap<>();
setLayout(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints();
constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1.0;
Layer layer = place.getLayer();
for (int x = -1; x <= 1; ++x) {
for (int y = -1; y <= 1; ++y) {
if (x != 0 || y != 0) {
// diretion of the neighbor place relative to _place
String dir = Path.getDir(x, y);
// if exit of _place available
if (place.getExit(dir) == null) {
Place neighbor = layer.get(place.getX() + x, place.getY() + y);
// if exit of neighbor available
if (neighbor != null && neighbor.getExit(Path.getOppositeDir(dir)) == null) {
JCheckBox checkbox = new JCheckBox("[" + dir + "] " + neighbor);
constraints.gridy++;
add(checkbox, constraints);
neighbor_checkboxes.put(neighbor, checkbox);
}
}
}
}
}
constraints.gridy++;
JButton button_cancel = new JButton("Cancel");
add(button_cancel, constraints);
button_cancel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
});
constraints.gridx = 1;
JButton button_ok = new JButton("Ok");
add(button_ok, constraints);
getRootPane().setDefaultButton(button_ok);
button_ok.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
save();
dispose();
}
});
setMinimumSize(new Dimension(250, 20));
pack();
setLocation(getParent().getX() + (getParent().getWidth() - getWidth()) / 2, getParent().getY() + (getParent().getHeight() - getHeight()) / 2);
}
use of mudmap2.backend.Place in project mudmap2 by Neop.
the class WorldPanel method callCursorListeners.
/**
* calls all place selection listeners
*/
private void callCursorListeners() {
Layer layer = getWorld().getLayer(getPosition().getLayer());
Place place = null;
if (layer != null) {
place = layer.get(getCursorX(), getCursorY());
}
if (place != null) {
for (MapCursorListener listener : mapCursorListeners) listener.placeSelected(place);
callPlaceSelectionListeners(place);
} else {
for (MapCursorListener listener : mapCursorListeners) listener.placeDeselected(layer, getCursorX(), getCursorY());
}
repaint();
}
use of mudmap2.backend.Place in project mudmap2 by Neop.
the class World method removeRiskLevel.
/**
* Removes a risk level
* @param rl
* @throws java.lang.Exception
*/
public void removeRiskLevel(RiskLevel rl) throws Exception {
if (!riskLevels.containsValue(rl))
throw new Exception("Tried to remove risk level that does not belong to this world");
// remode from risk level list
riskLevels.remove(rl.getId());
// removePlace from places
for (Layer layer : getLayers()) {
for (Place place : layer.getPlaces()) {
if (place.getRiskLevel() == rl)
place.setRiskLevel(null);
}
}
callListeners(rl);
}
Aggregations