Package net.alteiar.campaign.player.gui.centerViews.map.element.utils

Source Code of net.alteiar.campaign.player.gui.centerViews.map.element.utils.PanelElementSize

package net.alteiar.campaign.player.gui.centerViews.map.element.utils;

import java.awt.FlowLayout;

import javax.swing.JPanel;
import javax.swing.JTextField;

import net.alteiar.beans.map.size.MapElementSize;
import net.alteiar.beans.map.size.MapElementSizeMeter;
import net.alteiar.beans.map.size.MapElementSizePixel;
import net.alteiar.beans.map.size.MapElementSizeSquare;
import net.alteiar.component.MyCombobox;

public class PanelElementSize extends JPanel {
  private static final long serialVersionUID = 1L;

  private enum UnityType {
    CASES, PIXEL, METER;

    @Override
    public String toString() {
      String m = "Inconnu";
      switch (this) {
      case CASES:
        m = "Cases";
        break;
      case PIXEL:
        m = "Pixel";
        break;
      case METER:
        m = "M\u00E8tre";
        break;
      }
      return m;
    }
  };

  private final MyCombobox<UnityType> comboBoxUnite;
  private final JTextField[] textFields;

  public void setElementSizeAt(int i, MapElementSize elementSize) {
    if (elementSize instanceof MapElementSizeSquare) {
      comboBoxUnite.setSelectedItem(UnityType.CASES);
      textFields[i].setText(((MapElementSizeSquare) elementSize)
          .getSquareSize().toString());
    } else if (elementSize instanceof MapElementSizePixel) {
      comboBoxUnite.setSelectedItem(UnityType.CASES);
      textFields[i].setText(((MapElementSizePixel) elementSize)
          .getPixels().toString());
    } else if (elementSize instanceof MapElementSizeMeter) {
      comboBoxUnite.setSelectedItem(UnityType.CASES);
      textFields[i].setText(((MapElementSizeMeter) elementSize)
          .getMeter().toString());
    }
  }

  public PanelElementSize(int sizeCount) {
    super(new FlowLayout());
    comboBoxUnite = new MyCombobox<UnityType>(UnityType.values());

    textFields = new JTextField[sizeCount];
    for (int i = 0; i < sizeCount; i++) {
      textFields[i] = new JTextField(5);
      this.add(textFields[i]);
    }
    this.add(comboBoxUnite);
  }

  private MapElementSize getMapElementSize(String value)
      throws NumberFormatException {
    MapElementSize element = null;

    Double size = Double.valueOf(value);

    switch (UnityType.values()[comboBoxUnite.getSelectedIndex()]) {
    case PIXEL:
      element = new MapElementSizePixel(size);
      break;
    case METER:
      element = new MapElementSizeMeter(size);
      break;
    case CASES:
      element = new MapElementSizeSquare(size);
      break;
    }
    return element;
  }

  public MapElementSize getMapElementSize(int i) {
    return getMapElementSize(textFields[i].getText());
  }
}
TOP

Related Classes of net.alteiar.campaign.player.gui.centerViews.map.element.utils.PanelElementSize

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.