Search in sources :

Example 1 with PlaceSelectionListener

use of mudmap2.frontend.GUIElement.WorldPanel.PlaceSelectionListener in project mudmap2 by Neop.

the class WorldTab method createGui.

/**
 * Creates the GUI elements
 */
private void createGui(World world, boolean passive) {
    setLayout(new BorderLayout());
    worldPanel = new WorldPanel(parentFrame, world, passive);
    add(worldPanel, BorderLayout.CENTER);
    worldPanel.addTileSiteListener(this);
    worldPanel.addStatusListener(this);
    worldPanel.addPlaceSelectionListener(new PlaceSelectionListener() {

        @Override
        public void placeSelected(Place place) {
            updateInfobar();
        }

        @Override
        public void placeDeselected(Place place) {
            updateInfobar();
        }
    });
    sidePanel = new SidePanel(world);
    add(sidePanel, BorderLayout.EAST);
    sidePanel.addLayerPanelListener(this);
    sidePanel.addPlacePanelListener(this);
    add(panelSouth = new JPanel(), BorderLayout.SOUTH);
    panelSouth.setLayout(new GridBagLayout());
    GridBagConstraints constraints = new GridBagConstraints();
    constraints.insets = new Insets(1, 2, 0, 2);
    // add bottom panel elements
    // previous / next buttons for the history
    JButton button_prev = new JButton("Prev");
    constraints.gridx++;
    panelSouth.add(button_prev, constraints);
    button_prev.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            worldPanel.popPosition();
        }
    });
    JButton button_next = new JButton("Next");
    constraints.gridx++;
    panelSouth.add(button_next, constraints);
    button_next.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            worldPanel.restorePosition();
        }
    });
    constraints.gridx++;
    constraints.weightx = 1.0;
    constraints.fill = GridBagConstraints.BOTH;
    panelSouth.add(labelInfobar = new ScrollLabel(), constraints);
    labelInfobar.startThread();
    // set default selected place to hte center place
    worldPanel.setCursor((int) Math.round(worldPanel.getPosition().getX()), (int) Math.round(worldPanel.getPosition().getY()));
    constraints.gridx++;
    constraints.weightx = 0.0;
    constraints.fill = GridBagConstraints.NONE;
    panelSouth.add(new JLabel("Map zoom:"), constraints);
    constraints.gridx++;
    sliderZoom = new JSlider(0, 100, (int) (100.0 / WorldPanel.TILE_SIZE_MAX * worldPanel.getTileSize()));
    panelSouth.add(sliderZoom, constraints);
    sliderZoom.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent arg0) {
            worldPanel.setTileSize((int) ((double) worldPanel.TILE_SIZE_MAX * ((JSlider) arg0.getSource()).getValue() / 100.0));
        }
    });
}
Also used : JPanel(javax.swing.JPanel) GridBagConstraints(java.awt.GridBagConstraints) Insets(java.awt.Insets) SidePanel(mudmap2.frontend.sidePanel.SidePanel) GridBagLayout(java.awt.GridBagLayout) ActionEvent(java.awt.event.ActionEvent) JButton(javax.swing.JButton) JLabel(javax.swing.JLabel) PlaceSelectionListener(mudmap2.frontend.GUIElement.WorldPanel.PlaceSelectionListener) WorldPanel(mudmap2.frontend.GUIElement.WorldPanel.WorldPanel) BorderLayout(java.awt.BorderLayout) ActionListener(java.awt.event.ActionListener) ChangeEvent(javax.swing.event.ChangeEvent) ScrollLabel(mudmap2.frontend.GUIElement.ScrollLabel) JSlider(javax.swing.JSlider) ChangeListener(javax.swing.event.ChangeListener) Place(mudmap2.backend.Place)

Aggregations

BorderLayout (java.awt.BorderLayout)1 GridBagConstraints (java.awt.GridBagConstraints)1 GridBagLayout (java.awt.GridBagLayout)1 Insets (java.awt.Insets)1 ActionEvent (java.awt.event.ActionEvent)1 ActionListener (java.awt.event.ActionListener)1 JButton (javax.swing.JButton)1 JLabel (javax.swing.JLabel)1 JPanel (javax.swing.JPanel)1 JSlider (javax.swing.JSlider)1 ChangeEvent (javax.swing.event.ChangeEvent)1 ChangeListener (javax.swing.event.ChangeListener)1 Place (mudmap2.backend.Place)1 ScrollLabel (mudmap2.frontend.GUIElement.ScrollLabel)1 PlaceSelectionListener (mudmap2.frontend.GUIElement.WorldPanel.PlaceSelectionListener)1 WorldPanel (mudmap2.frontend.GUIElement.WorldPanel.WorldPanel)1 SidePanel (mudmap2.frontend.sidePanel.SidePanel)1