Package morlok8k.MinecraftLandGenerator.GUI

Source Code of morlok8k.MinecraftLandGenerator.GUI.MLG_GUI

/*
#######################################################################
#            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE              #
#                    Version 2, December 2004                         #
#                                                                     #
# Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>                    #
#                                                                     #
# Everyone is permitted to copy and distribute verbatim or modified   #
# copies of this license document, and changing it is allowed as long #
# as the name is changed.                                             #
#                                                                     #
#            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE              #
#   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION   #
#                                                                     #
#  0. You just DO WHAT THE FUCK YOU WANT TO.                          #
#                                                                     #
#######################################################################
*/

package morlok8k.MinecraftLandGenerator.GUI;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.text.NumberFormat;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JRadioButton;
import javax.swing.JSeparator;
import javax.swing.KeyStroke;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.plaf.metal.MetalLookAndFeel;
import javax.swing.plaf.metal.OceanTheme;

import morlok8k.MinecraftLandGenerator.Out;
import morlok8k.MinecraftLandGenerator.Startup;
import morlok8k.MinecraftLandGenerator.Time;
import morlok8k.MinecraftLandGenerator.Update;
import morlok8k.MinecraftLandGenerator.var;

/**
*
* @author morlok8k
*/
public class MLG_GUI {

  final Font arial = new Font("Arial", Font.PLAIN, 12);
  final Font arialBold = new Font("Arial", Font.BOLD, 12);

  public static JFrame frmMLG_GUI;

  static JButton btnStart;
  static JButton btnStop;

  static JFormattedTextField txtSizeX;
  static JFormattedTextField txtSizeZ;

  static JFormattedTextField txtCPX;
  static JFormattedTextField txtCPZ;

  static JProgressBar pgbTotPer;
  static JProgressBar pgbCurPer;

  static JLabel lblTotPer;
  static JLabel lblCurPer;

  static JRadioButton rdbtnSizeSquarify;
  static JRadioButton rdbtnSizeCustomSize;

  static JRadioButton rdbtnAlignRegions;
  static JRadioButton rdbtnAlignChunks;

  static JRadioButton rdbtnCenterSpawnPoint;
  static JRadioButton rdbtnCenterOther;

  static JLabel lblTimeRem;
  static JLabel lblCurLoc;
  static JLabel lblCurStatus;

  static JLabel lblSizeZ;
  static JLabel lblSizeX;

  static JLabel lblCPX;
  static JLabel lblCPZ;
  static JMenuItem mntmStart;
  static JMenuItem mntmStop;
  static JCheckBoxMenuItem chckbxmntmImportCustomList;

  /**
   * Create the application.
   */
  public MLG_GUI() {

    var.UsingGUI = true;

    // Program-wide UI stuff here...
    MetalLookAndFeel.setCurrentTheme(new OceanTheme());
    try {
      UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
    } catch (final Exception e) {
      e.printStackTrace();
    }

    UIManager.put("Button.font", arial);
    UIManager.put("ToggleButton.font", arial);
    UIManager.put("RadioButton.font", arial);
    UIManager.put("CheckBox.font", arial);
    UIManager.put("ColorChooser.font", arial);
    UIManager.put("ComboBox.font", arial);
    UIManager.put("Label.font", arial);
    UIManager.put("List.font", arial);
    UIManager.put("MenuBar.font", arial);
    UIManager.put("MenuItem.font", arial);
    UIManager.put("RadioButtonMenuItem.font", arial);
    UIManager.put("CheckBoxMenuItem.font", arial);
    UIManager.put("Menu.font", arial);
    UIManager.put("PopupMenu.font", arial);
    UIManager.put("OptionPane.font", arial);
    UIManager.put("Panel.font", arial);
    UIManager.put("ProgressBar.font", arial);
    UIManager.put("ScrollPane.font", arial);
    UIManager.put("Viewport.font", arial);
    UIManager.put("TabbedPane.font", arial);
    UIManager.put("Table.font", arial);
    UIManager.put("TableHeader.font", arial);
    UIManager.put("TextField.font", arial);
    UIManager.put("PasswordField.font", arial);
    UIManager.put("TextArea.font", arial);
    UIManager.put("TextPane.font", arial);
    UIManager.put("EditorPane.font", arial);
    UIManager.put("TitledBorder.font", arial);
    UIManager.put("ToolBar.font", arial);
    UIManager.put("ToolTip.font", arial);
    UIManager.put("Tree.font", arial);

    // End Look and Feel code

    initialize();

  }

  /**
   * Initialize the contents of the frame.
   */
  private void initialize() {

    // Basic Program Initialization
    Startup.initialStart();
    boolean quit = false;
    quit = Startup.confFile();
    if (quit) { return; }

    //WorldVerify.verifyWorld();      //TODO: need to do this at a later point

    // Frame:
    frmMLG_GUI = new JFrame();
    frmMLG_GUI.setTitle("Minecraft Land Generator - Loading...");
    frmMLG_GUI.setResizable(false);
    frmMLG_GUI.setBounds(100, 100, 475, 400);
    frmMLG_GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frmMLG_GUI.setVisible(true);
    frmMLG_GUI.getContentPane().setLayout(new BorderLayout(0, 0));

    // Menu Bar:
    final JMenuBar menuBar = new JMenuBar();
    frmMLG_GUI.setJMenuBar(menuBar);

    // Top Level Menus:
    final JMenu mnFile = new JMenu("File");
    final JMenu mnInfo = new JMenu("Info");
    final JMenu mnHelp = new JMenu("Help");

    // File Menu Objects:
    mntmStart = new JMenuItem("Start");
    mntmStart.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent arg0) {

        Start.start_GUI();
      }
    });

    mntmStop = new JMenuItem("Stop");
    mntmStop.setEnabled(false);
    mntmStop.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        stop_GUI();
      }
    });

    final JSeparator hzlFile1 = new JSeparator();

    chckbxmntmImportCustomList = new JCheckBoxMenuItem("Import Custom List");
    chckbxmntmImportCustomList.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        ImportCustomList();

      }
    });
    chckbxmntmImportCustomList.setEnabled(false);

    final JSeparator hzlFile2 = new JSeparator();

    final JMenuItem mntmExit = new JMenuItem("Exit");
    mntmExit.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent arg0) {

        Exit();

      }
    });
    mntmExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F4, InputEvent.ALT_MASK));

    // Info Menu Objects:
    final JMenuItem mntmMapInfo = new JMenuItem("Map Info");
    mntmMapInfo.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        MapInfo();
      }
    });

    // Help Menu Objects:
    final JMenuItem mntmAboutMlg = new JMenuItem("About MLG");
    mntmAboutMlg.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        AboutMLG();
      }
    });

    final JSeparator hzlHelp1 = new JSeparator();

    final JMenuItem mntmUpdateMlg = new JMenuItem("Update MLG");
    mntmUpdateMlg.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        UpdateMLG();
      }
    });

    // Create Menu Bar:
    menuBar.add(mnFile);
    menuBar.add(mnInfo);
    menuBar.add(mnHelp);

    // File:
    mnFile.add(mntmStart);
    mnFile.add(mntmStop);
    mnFile.add(hzlFile1);
    mnFile.add(chckbxmntmImportCustomList);
    mnFile.add(hzlFile2);
    mnFile.add(mntmExit);

    // Info:
    mnInfo.add(mntmMapInfo);

    // Help:
    mnHelp.add(mntmAboutMlg);
    mnHelp.add(hzlHelp1);
    mnHelp.add(mntmUpdateMlg);

    // NumberFormats
    final NumberFormat nfSizeInt = NumberFormat.getIntegerInstance();
    nfSizeInt.setParseIntegerOnly(true);
    final NumberFormat nfCPInt = NumberFormat.getIntegerInstance();
    nfCPInt.setParseIntegerOnly(true);

    // Create Main Panels, Interior Panels, and Objects...
    // TODO: Refactor this clusterf*ck!
    final JPanel mainWest = new JPanel(new BorderLayout());
    final JPanel mainEast = new JPanel(new BorderLayout());
    final JPanel mainSouth = new JPanel(new BorderLayout());
    final JPanel mainNorth = new JPanel(new BorderLayout());

    mainSouth.setBorder(BorderFactory.createCompoundBorder(
        BorderFactory.createTitledBorder("Progress:"),
        BorderFactory.createEmptyBorder(5, 5, 5, 5)));

    // Create Interior Panels
    final JPanel pnlStartStop = new JPanel(new BorderLayout());
    final JPanel pnlStatus = new JPanel();
    pnlStatus.setBorder(BorderFactory.createCompoundBorder(
        BorderFactory.createTitledBorder("Status:"),
        BorderFactory.createEmptyBorder(5, 5, 5, 5)));

    btnStart = new JButton("Start");
    btnStart.addActionListener(new ActionListener() {

      //@SuppressWarnings("unused")
      @Override
      public void actionPerformed(final ActionEvent e) {
        new Thread(new Runnable() {
          @Override
          public void run() {
            SwingUtilities.invokeLater(new Runnable() {
              @Override
              public void run() {
                new Start().run();
              }
            });
          }
        }).start(); // start the thread
      }
    });
    btnStop = new JButton("Stop");
    btnStop.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        stop_GUI();

      }
    });
    btnStop.setEnabled(false);

    final JLabel lblMinecraftLandGenerator = new JLabel("Minecraft Land Generator");
    lblMinecraftLandGenerator.setFont(new Font("Arial", Font.BOLD, 14));
    lblMinecraftLandGenerator.setHorizontalAlignment(SwingConstants.CENTER);

    // Add Objects to interior panels

    mainNorth.add(lblMinecraftLandGenerator, BorderLayout.CENTER);

    pnlStartStop.add(btnStart, BorderLayout.LINE_START);
    pnlStartStop.add(btnStop, BorderLayout.LINE_END);

    // Add interior panels to Main panels

    mainWest.add(pnlStartStop, BorderLayout.NORTH);

    final Component horizontalStrutStartStop = Box.createHorizontalStrut(25);
    pnlStartStop.add(horizontalStrutStartStop, BorderLayout.CENTER);
    mainWest.add(pnlStatus, BorderLayout.CENTER);
    pnlStatus.setLayout(null);

    final JLabel lblCurrentStatus = new JLabel("Current Status:");
    lblCurrentStatus.setBounds(12, 12, 118, 15);
    pnlStatus.add(lblCurrentStatus);
    lblCurrentStatus.setFont(arialBold);

    lblCurStatus = new JLabel("Idle");
    lblCurStatus.setBounds(12, 24, 118, 15);
    pnlStatus.add(lblCurStatus);
    lblCurStatus.setHorizontalAlignment(SwingConstants.RIGHT);

    final JLabel lblCurrentLocation = new JLabel("Current Location:");
    lblCurrentLocation.setBounds(12, 48, 118, 15);
    pnlStatus.add(lblCurrentLocation);
    lblCurrentLocation.setFont(arialBold);

    lblCurLoc = new JLabel("[0,0,0]");
    lblCurLoc.setBounds(12, 60, 118, 15);
    pnlStatus.add(lblCurLoc);
    lblCurLoc.setHorizontalAlignment(SwingConstants.RIGHT);

    final JLabel lblTimeRemaining = new JLabel("Time Remaining:");
    lblTimeRemaining.setBounds(12, 84, 118, 15);
    pnlStatus.add(lblTimeRemaining);
    lblTimeRemaining.setFont(arialBold);

    lblTimeRem = new JLabel("0 Seconds");
    lblTimeRem.setBounds(12, 96, 118, 15);
    pnlStatus.add(lblTimeRem);
    lblTimeRem.setHorizontalAlignment(SwingConstants.RIGHT);

    // add Main panels to Top-Level Panel

    frmMLG_GUI.getContentPane().add(mainNorth, BorderLayout.NORTH);
    frmMLG_GUI.getContentPane().add(mainWest, BorderLayout.WEST);
    frmMLG_GUI.getContentPane().add(mainEast, BorderLayout.EAST);

    final JPanel pnlOptions = new JPanel();
    mainEast.add(pnlOptions, BorderLayout.CENTER);
    pnlOptions.setBorder(BorderFactory.createCompoundBorder(
        BorderFactory.createTitledBorder("Options:"),
        BorderFactory.createEmptyBorder(5, 5, 5, 5)));
    pnlOptions.setLayout(new BorderLayout(0, 0));

    final JPanel pnlSize = new JPanel();
    pnlSize.setBorder(BorderFactory.createCompoundBorder(
        BorderFactory.createTitledBorder("Size:"),
        BorderFactory.createEmptyBorder(5, 5, 5, 5)));
    pnlOptions.add(pnlSize, BorderLayout.NORTH);
    pnlSize.setLayout(new BorderLayout(0, 0));

    final JPanel pnlSizeX = new JPanel();
    pnlSize.add(pnlSizeX, BorderLayout.WEST);
    pnlSizeX.setLayout(new BorderLayout(0, 0));

    lblSizeX = new JLabel("X: ");
    pnlSizeX.add(lblSizeX, BorderLayout.WEST);

    txtSizeX = new JFormattedTextField(nfSizeInt);
    txtSizeX.setFont(arial);
    txtSizeX.setText("1000");
    pnlSizeX.add(txtSizeX, BorderLayout.EAST);
    txtSizeX.setColumns(7);

    final JPanel pnlSizeZ = new JPanel();
    pnlSize.add(pnlSizeZ, BorderLayout.EAST);
    pnlSizeZ.setLayout(new BorderLayout(0, 0));

    lblSizeZ = new JLabel(" Z: ");
    pnlSizeZ.add(lblSizeZ, BorderLayout.WEST);

    txtSizeZ = new JFormattedTextField(nfSizeInt);
    txtSizeZ.setFont(arial);
    txtSizeZ.setText("1000");
    txtSizeZ.setColumns(7);
    pnlSizeZ.add(txtSizeZ, BorderLayout.EAST);

    final JPanel pnlSizeXZ = new JPanel();
    pnlSize.add(pnlSizeXZ, BorderLayout.NORTH);
    pnlSizeXZ.setLayout(new BorderLayout(0, 0));

    rdbtnSizeCustomSize = new JRadioButton("Custom Size:");
    rdbtnSizeCustomSize.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        SizeSetEnable(true);
      }
    });

    rdbtnSizeCustomSize.setSelected(true);
    pnlSizeXZ.add(rdbtnSizeCustomSize, BorderLayout.CENTER);

    final JPanel pnlSizeSquarify = new JPanel();
    pnlSize.add(pnlSizeSquarify, BorderLayout.SOUTH);
    pnlSizeSquarify.setLayout(new BorderLayout(0, 0));

    rdbtnSizeSquarify = new JRadioButton("Squarify Existing Land");
    rdbtnSizeSquarify.setToolTipText("Not Functional Yet...");
    rdbtnSizeSquarify.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        SizeSetEnable(false);
        CenterPointSetEnable(false);

      }
    });
    pnlSizeSquarify.add(rdbtnSizeSquarify, BorderLayout.CENTER);

    final JPanel pnlCenterPoint = new JPanel();
    pnlCenterPoint.setBorder(BorderFactory.createCompoundBorder(
        BorderFactory.createTitledBorder("Center Point:"),
        BorderFactory.createEmptyBorder(5, 5, 5, 5)));
    pnlOptions.add(pnlCenterPoint, BorderLayout.CENTER);
    pnlCenterPoint.setLayout(new BorderLayout(0, 0));

    final JPanel pnlCPrb = new JPanel();
    pnlCenterPoint.add(pnlCPrb, BorderLayout.NORTH);
    pnlCPrb.setLayout(new BorderLayout(0, 0));

    rdbtnCenterSpawnPoint = new JRadioButton("Spawn Point");
    rdbtnCenterSpawnPoint.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        CenterPointSetEnable(false);

      }
    });
    rdbtnCenterSpawnPoint.setSelected(true);
    pnlCPrb.add(rdbtnCenterSpawnPoint, BorderLayout.WEST);

    rdbtnCenterOther = new JRadioButton("Other:");
    rdbtnCenterOther.addActionListener(new ActionListener() {

      @Override
      public void actionPerformed(final ActionEvent e) {

        CenterPointSetEnable(true);

      }
    });
    pnlCPrb.add(rdbtnCenterOther, BorderLayout.EAST);

    final ButtonGroup bgCenterPoint = new ButtonGroup();
    bgCenterPoint.add(rdbtnCenterSpawnPoint);
    bgCenterPoint.add(rdbtnCenterOther);

    final JPanel pnlCPSelection = new JPanel();
    pnlCenterPoint.add(pnlCPSelection, BorderLayout.SOUTH);
    pnlCPSelection.setLayout(new BorderLayout(0, 0));

    final JPanel pnlCPx = new JPanel();
    pnlCPSelection.add(pnlCPx, BorderLayout.WEST);
    pnlCPx.setLayout(new BorderLayout(0, 0));

    lblCPX = new JLabel("X: ");
    lblCPX.setEnabled(false);
    pnlCPx.add(lblCPX, BorderLayout.WEST);

    txtCPX = new JFormattedTextField(nfCPInt);
    txtCPX.setFont(arial);
    txtCPX.setEnabled(false);
    txtCPX.setText("0");
    pnlCPx.add(txtCPX, BorderLayout.EAST);
    txtCPX.setColumns(7);

    final JPanel pnlCPz = new JPanel();
    pnlCPSelection.add(pnlCPz, BorderLayout.EAST);
    pnlCPz.setLayout(new BorderLayout(0, 0));

    lblCPZ = new JLabel("Z: ");
    lblCPZ.setEnabled(false);
    pnlCPz.add(lblCPZ, BorderLayout.WEST);

    txtCPZ = new JFormattedTextField(nfCPInt);
    txtCPZ.setEnabled(false);
    txtCPZ.setFont(arial);
    txtCPZ.setText("0");
    pnlCPz.add(txtCPZ, BorderLayout.EAST);
    txtCPZ.setColumns(7);

    final JPanel pnlAlignment = new JPanel();
    pnlAlignment.setBorder(BorderFactory.createCompoundBorder(
        BorderFactory.createTitledBorder("Alignment:"),
        BorderFactory.createEmptyBorder(5, 5, 5, 5)));
    pnlOptions.add(pnlAlignment, BorderLayout.SOUTH);
    pnlAlignment.setLayout(new BorderLayout(0, 0));

    rdbtnAlignChunks = new JRadioButton("Chunks");
    rdbtnAlignChunks.setSelected(true);
    pnlAlignment.add(rdbtnAlignChunks, BorderLayout.WEST);

    rdbtnAlignRegions = new JRadioButton("Regions");
    pnlAlignment.add(rdbtnAlignRegions, BorderLayout.EAST);

    final ButtonGroup bgAlignment = new ButtonGroup();

    bgAlignment.add(rdbtnAlignChunks);
    bgAlignment.add(rdbtnAlignRegions);

    final ButtonGroup bgSize = new ButtonGroup();
    bgSize.add(rdbtnSizeCustomSize);
    bgSize.add(rdbtnSizeSquarify);

    frmMLG_GUI.getContentPane().add(mainSouth, BorderLayout.SOUTH);

    final JPanel pnlCurPrg = new JPanel();
    mainSouth.add(pnlCurPrg, BorderLayout.NORTH);
    pnlCurPrg.setLayout(new BorderLayout(0, 0));

    final JLabel lblCurrentProgress = new JLabel("Current Progress: ");
    pnlCurPrg.add(lblCurrentProgress, BorderLayout.WEST);

    lblCurPer = new JLabel("100%");
    pnlCurPrg.add(lblCurPer, BorderLayout.EAST);

    pgbCurPer = new JProgressBar();
    pnlCurPrg.add(pgbCurPer, BorderLayout.CENTER);

    final JPanel pnlTotPrg = new JPanel();
    mainSouth.add(pnlTotPrg, BorderLayout.SOUTH);
    pnlTotPrg.setLayout(new BorderLayout(0, 0));

    final JLabel lblTotalProgress = new JLabel("Total Progress: ");
    pnlTotPrg.add(lblTotalProgress, BorderLayout.WEST);

    lblTotPer = new JLabel("100%");
    pnlTotPrg.add(lblTotPer, BorderLayout.EAST);

    pgbTotPer = new JProgressBar();
    pnlTotPrg.add(pgbTotPer, BorderLayout.CENTER);

    // Frame size and location

    frmMLG_GUI.validate();
    frmMLG_GUI.pack();
    frmMLG_GUI.setLocationRelativeTo(null);
    frmMLG_GUI.setTitle("Minecraft Land Generator");
    // Finished creation of frame
  }

  static void MapInfo() {

    // TODO: Display Map Info
    JOptionPane.showMessageDialog(frmMLG_GUI, "Seed:" + var.newLine + "SpawnPoint:");

  }

  static void AboutMLG() {

    final String n = var.newLine;
    final String N = n + n;
    final String message =
        "This program uses the Minecraft Server to expand your Minecraft world." + N
            + var.WEBSITE + N + "Authors: " + var.AUTHORS + n
            + "Special Thanks to: Graham Edgecombe (aka ancient) for JNBT" + N
            + "BuildID: (" + var.MLG_Last_Modified_Date.getTime() + ")" + n
            + "This version was last modified on "
            + var.dateFormat.format(var.MLG_Last_Modified_Date);
    final String title = var.PROG_NAME + " v" + var.VERSION;

    //JOptionPane.showMessageDialog(frmMLG_GUI, message, title, JOptionPane.INFORMATION_MESSAGE);
    Out.msg(message, title, JOptionPane.INFORMATION_MESSAGE);

  }

  static void UpdateMLG() {

    final boolean update = Update.updateMLG();

    if (update) {
      //TODO: add a popup saying we got a new version
      Exit();
    } else {
      //TODO: popup: no new version / error
    }

  }

  void ImportCustomList() {

    // TODO: add Import Custom List

    // TODO: disable/enable size objects

  }

  static void Exit() {

    // TODO: Make sure everything has finished...

    // Lets Exit!
    System.exit(0);

  }

  static void SizeSetEnable(final boolean enabled) {

    txtSizeX.setEnabled(enabled);
    txtSizeZ.setEnabled(enabled);
    lblSizeX.setEnabled(enabled);
    lblSizeZ.setEnabled(enabled);

  }

  static void CenterPointSetEnable(final boolean enabled) {

    txtCPX.setEnabled(enabled);
    txtCPZ.setEnabled(enabled);
    lblCPX.setEnabled(enabled);
    lblCPZ.setEnabled(enabled);

  }

  static void stop_GUI() {

    btnStop.setEnabled(false);

    var.stoppingServerGUI = true;

    Time.waitTenSec(true);

    while (var.runningServerGUI) {
      //;
    }

    // TODO: add additional stop code

    if (rdbtnSizeCustomSize.isSelected()) {
      SizeSetEnable(true);
    } else {
      SizeSetEnable(false);
    }

    if (rdbtnCenterSpawnPoint.isSelected()) {
      CenterPointSetEnable(false);
    } else {
      CenterPointSetEnable(true);
    }

    //rdbtnSizeSquarify.setEnabled(true);
    rdbtnSizeCustomSize.setEnabled(true);

    rdbtnAlignRegions.setEnabled(true);
    rdbtnAlignChunks.setEnabled(true);

    rdbtnCenterSpawnPoint.setEnabled(true);
    rdbtnCenterOther.setEnabled(true);

    mntmStop.setEnabled(false);
    mntmStart.setEnabled(true);

    btnStart.setEnabled(true);
    btnStop.setEnabled(false);

    pgbCurPer.setIndeterminate(false);
    pgbTotPer.setIndeterminate(false);

  }

}
TOP

Related Classes of morlok8k.MinecraftLandGenerator.GUI.MLG_GUI

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.