Search in sources :

Example 26 with Place

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);
}
Also used : GridBagConstraints(java.awt.GridBagConstraints) GridBagLayout(java.awt.GridBagLayout) ActionEvent(java.awt.event.ActionEvent) JButton(javax.swing.JButton) Dimension(java.awt.Dimension) Layer(mudmap2.backend.Layer) JCheckBox(javax.swing.JCheckBox) ActionListener(java.awt.event.ActionListener) Place(mudmap2.backend.Place)

Example 27 with Place

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();
}
Also used : Layer(mudmap2.backend.Layer) Place(mudmap2.backend.Place)

Example 28 with Place

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);
}
Also used : PlaceNotInsertedException(mudmap2.backend.Layer.PlaceNotInsertedException)

Aggregations

Place (mudmap2.backend.Place)20 Layer (mudmap2.backend.Layer)14 ActionEvent (java.awt.event.ActionEvent)7 ActionListener (java.awt.event.ActionListener)7 JLabel (javax.swing.JLabel)7 Path (mudmap2.backend.Path)7 PlaceGroup (mudmap2.backend.PlaceGroup)7 WorldCoordinate (mudmap2.backend.WorldCoordinate)7 Color (java.awt.Color)6 GridBagConstraints (java.awt.GridBagConstraints)6 GridBagLayout (java.awt.GridBagLayout)6 JButton (javax.swing.JButton)6 Insets (java.awt.Insets)5 Pair (mudmap2.utils.Pair)5 HashMap (java.util.HashMap)4 JCheckBox (javax.swing.JCheckBox)4 World (mudmap2.backend.World)4 Dimension (java.awt.Dimension)3 ArrayList (java.util.ArrayList)3 HashSet (java.util.HashSet)3