/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package nxm.sys.test;

import java.awt.Dimension;

import nxm.sys.lib.LogUtilities;
import nxm.sys.libg.GraphicsUtil;

/**
 * Developed to have a slightly more realistic Java Swing GUI,
 * both for demo and testing purposes
 * @author Jeanette McCall
 * @since NeXtMidas 3.9.2
 */
public class test_plot_wh_gui extends javax.swing.JFrame {

  /**
   *
   */
  private static final long serialVersionUID = -5344886465432220539L;

  /**
   * Creates new form test_plot_wh_gui
   */
  public test_plot_wh_gui() {
    initComponents();
    setLogTextAreaHandler();
  }

  /**
   * This will set a handler to the class logger.
   * It will also use the custom handler that will log to the JTextAreas added to it.
   */
  private void setLogTextAreaHandler () {
    CustomHandlerWhGui cch = new CustomHandlerWhGui(); // Change to list of locations to log?
    LogUtilities.createAndAddHandler(this.getClass().getName(), cch);
    cch.addTextArea(LogTextArea);
    cch.addTextArea(DataTextArea);
 }

  /**
   * This method is called from within the constructor to initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is always
   * regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")
  // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
  private void initComponents() {

    FullTestScrollPane = new javax.swing.JScrollPane();
    FullTestInternalFrame = new javax.swing.JInternalFrame();
    SplitPaneCntrlPlots = new javax.swing.JSplitPane();
    LeftControlsPanel = new javax.swing.JPanel();
    ExistStatusPanel = new javax.swing.JPanel();
    ExitText = new javax.swing.JTextField();
    PassButton = new javax.swing.JButton();
    FailButton = new javax.swing.JButton();
    InstuctionsScrollPane = new javax.swing.JScrollPane();
    TestInstructionsTextArea = new javax.swing.JTextArea();
    FileViewShortcutsMenusPanel = new javax.swing.JPanel();
    DragboxStatsParamTabbedPane = new javax.swing.JTabbedPane();
    MainTab = new javax.swing.JPanel();
    minTimeLabel = new javax.swing.JLabel();
    dragMinTime = new javax.swing.JTextField();
    maxTimeLabel = new javax.swing.JLabel();
    dragMaxTime = new javax.swing.JTextField();
    minFreqLabel = new javax.swing.JLabel();
    dragMinFreq = new javax.swing.JTextField();
    maxFreqLabel = new javax.swing.JLabel();
    dragMaxFreq = new javax.swing.JTextField();
    throttleLabel = new javax.swing.JLabel();
    throttleField = new javax.swing.JTextField();
    ParamTab = new javax.swing.JPanel();
    StatusTabbedPane = new javax.swing.JTabbedPane();
    MidasPipesTab = new javax.swing.JPanel();
    pane0 = new nxm.sys.libg.MidasControls();
    StatusTab = new javax.swing.JPanel();
    midasControls1 = new nxm.sys.libg.MidasControls();
    FileSelectTabbedPane = new javax.swing.JTabbedPane();
    AllTab = new javax.swing.JPanel();
    ArchiveTab = new javax.swing.JPanel();
    RightPlotLogWorldPanel = new javax.swing.JPanel();
    PSDPane = new javax.swing.JTabbedPane();
    RasterTab = new javax.swing.JPanel();
    TopRaster = new javax.swing.JPanel();
    Raster_T1 = new javax.swing.JPanel();
    PSD_button_T1 = new javax.swing.JButton();
    plot_raster_T1 = new nxm.sys.libg.MidasDisplay();
    Raster_T2 = new javax.swing.JPanel();
    PSD_button_T2 = new javax.swing.JButton();
    plot_raster_T2 = new nxm.sys.libg.MidasDisplay();
    Raster_T3 = new javax.swing.JPanel();
    PSD_button_3 = new javax.swing.JButton();
    plot_raster_T3 = new nxm.sys.libg.MidasDisplay();
    Raster_T4 = new javax.swing.JPanel();
    PSD_button_T4 = new javax.swing.JButton();
    plot_raster_T4 = new nxm.sys.libg.MidasDisplay();
    Raster_T5 = new javax.swing.JPanel();
    PSD_button_T5 = new javax.swing.JButton();
    plot_raster_T5 = new nxm.sys.libg.MidasDisplay();
    Raster_T6 = new javax.swing.JPanel();
    PSD_button_T6 = new javax.swing.JButton();
    plot_raster_T6 = new nxm.sys.libg.MidasDisplay();
    BottomRaster = new javax.swing.JPanel();
    Raster_B1 = new javax.swing.JPanel();
    PSD_button_B1 = new javax.swing.JButton();
    plot_Raster_B1 = new nxm.sys.libg.MidasDisplay();
    Raster_B2 = new javax.swing.JPanel();
    PSD_button_B2 = new javax.swing.JButton();
    plot_raster_B2 = new nxm.sys.libg.MidasDisplay();
    Raster_B3 = new javax.swing.JPanel();
    PSD_button_B3 = new javax.swing.JButton();
    plot_raster_B3 = new nxm.sys.libg.MidasDisplay();
    Raster_B4 = new javax.swing.JPanel();
    PSD_button_B4 = new javax.swing.JButton();
    plot_raster_B4 = new nxm.sys.libg.MidasDisplay();
    Raster_B5 = new javax.swing.JPanel();
    PSD_button_B5 = new javax.swing.JButton();
    plot_raster_B5 = new nxm.sys.libg.MidasDisplay();
    Raster_B6 = new javax.swing.JPanel();
    PSD_button_B6 = new javax.swing.JButton();
    plot_raster_B6 = new nxm.sys.libg.MidasDisplay();
    LinePlotTab = new javax.swing.JPanel();
    TopLine = new javax.swing.JPanel();
    LINE_T1 = new javax.swing.JPanel();
    plot_line_T1 = new nxm.sys.libg.MidasDisplay();
    LINE_T2 = new javax.swing.JPanel();
    plot_line_T2 = new nxm.sys.libg.MidasDisplay();
    LINE_T3 = new javax.swing.JPanel();
    plot_line_T3 = new nxm.sys.libg.MidasDisplay();
    LINE_T4 = new javax.swing.JPanel();
    plot_line_T4 = new nxm.sys.libg.MidasDisplay();
    LINE_T5 = new javax.swing.JPanel();
    plot_line_T5 = new nxm.sys.libg.MidasDisplay();
    LINE_T6 = new javax.swing.JPanel();
    plot_line_T6 = new nxm.sys.libg.MidasDisplay();
    BottomLIne = new javax.swing.JPanel();
    LINE_B1 = new javax.swing.JPanel();
    plot_line_B1 = new nxm.sys.libg.MidasDisplay();
    LINE_B2 = new javax.swing.JPanel();
    plot_line_B2 = new nxm.sys.libg.MidasDisplay();
    LINE_B4 = new javax.swing.JPanel();
    plot_line_B4 = new nxm.sys.libg.MidasDisplay();
    LINE_B3 = new javax.swing.JPanel();
    plot_line_B3 = new nxm.sys.libg.MidasDisplay();
    LINE_B5 = new javax.swing.JPanel();
    plot_line_B5 = new nxm.sys.libg.MidasDisplay();
    LINE_B6 = new javax.swing.JPanel();
    plot_line_B6 = new nxm.sys.libg.MidasDisplay();
    DataLogMetaWorldPanel = new javax.swing.JPanel();
    DataLogMetaTabPane = new javax.swing.JTabbedPane();
    DataPanel = new javax.swing.JPanel();
    DataScrollPane = new javax.swing.JScrollPane();
    DataTextArea = new javax.swing.JTextArea();
    LogPanel = new javax.swing.JPanel();
    LogScrollPane = new javax.swing.JScrollPane();
    LogTextArea = new javax.swing.JTextArea();
    MetaPanel = new javax.swing.JPanel();
    MapPanel = new javax.swing.JPanel();
    MapAlphaSlider = new javax.swing.JSlider();
    MapButtonPanel = new javax.swing.JPanel();
    EllipseButton = new javax.swing.JRadioButton();
    CitiesButton = new javax.swing.JRadioButton();
    FeaturesButton = new javax.swing.JRadioButton();
    StateVectButton = new javax.swing.JRadioButton();
    WORLD_MAP = new nxm.sys.libg.MidasDisplay();
    // This has been added after the class was generated for webswing issues.
    LeftControlsPanel.setPreferredSize(new Dimension(350, getToolkit().getScreenSize().height));
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setPreferredSize(new java.awt.Dimension(2000, 1000));

    FullTestScrollPane.setMaximumSize(new java.awt.Dimension(1000, 5000));
    FullTestScrollPane.setPreferredSize(new java.awt.Dimension(1700, 1200));

    FullTestInternalFrame.setVisible(true);
    FullTestInternalFrame.getContentPane().setLayout(new javax.swing.BoxLayout(FullTestInternalFrame.getContentPane(), javax.swing.BoxLayout.LINE_AXIS));

    SplitPaneCntrlPlots.setPreferredSize(new java.awt.Dimension(1600, 900));

    LeftControlsPanel.setLayout(new javax.swing.BoxLayout(LeftControlsPanel, javax.swing.BoxLayout.Y_AXIS));

    ExistStatusPanel.setPreferredSize(new java.awt.Dimension(200, 20));
    ExistStatusPanel.setLayout(new javax.swing.BoxLayout(ExistStatusPanel, javax.swing.BoxLayout.LINE_AXIS));

    ExitText.setFont(new java.awt.Font("Dialog.plain", 1, 14)); // NOI18N
    ExitText.setText("Exit Status");
    ExistStatusPanel.add(ExitText);

    PassButton.setFont(new java.awt.Font("Dialog.bold", 1, 14)); // NOI18N
    PassButton.setForeground(new java.awt.Color(0, 153, 0));
    PassButton.setText("PASS");
    ExistStatusPanel.add(PassButton);

    FailButton.setFont(new java.awt.Font("Dialog.bold", 1, 14)); // NOI18N
    FailButton.setForeground(new java.awt.Color(255, 0, 51));
    FailButton.setText("FAIL");
    ExistStatusPanel.add(FailButton);

    LeftControlsPanel.add(ExistStatusPanel);

    InstuctionsScrollPane.setPreferredSize(new java.awt.Dimension(200, 200));

    TestInstructionsTextArea.setColumns(20);
    TestInstructionsTextArea.setFont(new java.awt.Font("Dialog.plain", 0, 12)); // NOI18N
    TestInstructionsTextArea.setRows(5);
    TestInstructionsTextArea.setText("1) Draw dragboxes (Shift LMB) in any of the plots except the first.\n    Make sure they render as they are being drawn.\n    For each dragbox, make sure no NPE is thrown.\n2) MMB in the plots and bring up the plot menus\n3) Make sure the plots are responsive\n4) Popout a flowing plot\n    Bring up a MMB plot menu.\n5) Select 'LinePlots' tab\n6) Open a MMB menu on one of the line plots\n    Choose 'Scale'\n    Move the popup menu so the bottom is visible\n    Select 'Submit'\n ");
    InstuctionsScrollPane.setViewportView(TestInstructionsTextArea);

    LeftControlsPanel.add(InstuctionsScrollPane);
    LeftControlsPanel.add(FileViewShortcutsMenusPanel);

    MainTab.setLayout(new javax.swing.BoxLayout(MainTab, javax.swing.BoxLayout.Y_AXIS));

    minTimeLabel.setText("min time - dragbox");
    MainTab.add(minTimeLabel);

    dragMinTime.setText("0");
    MainTab.add(dragMinTime);

    maxTimeLabel.setText("max time - dragbox");
    MainTab.add(maxTimeLabel);

    dragMaxTime.setText("0");
    MainTab.add(dragMaxTime);

    minFreqLabel.setText("min frequency - dragbox");
    MainTab.add(minFreqLabel);

    dragMinFreq.setText("0");
    MainTab.add(dragMinFreq);

    maxFreqLabel.setText("max frequency - dragbox");
    MainTab.add(maxFreqLabel);

    dragMaxFreq.setText("0");
    MainTab.add(dragMaxFreq);

    throttleLabel.setText("throttle");
    MainTab.add(throttleLabel);
    MainTab.add(throttleField);

    DragboxStatsParamTabbedPane.addTab("Main", MainTab);

    javax.swing.GroupLayout ParamTabLayout = new javax.swing.GroupLayout(ParamTab);
    ParamTab.setLayout(ParamTabLayout);
    ParamTabLayout.setHorizontalGroup(
      ParamTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 395, Short.MAX_VALUE)
    );
    ParamTabLayout.setVerticalGroup(
      ParamTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 227, Short.MAX_VALUE)
    );

    DragboxStatsParamTabbedPane.addTab("Parameters", ParamTab);

    LeftControlsPanel.add(DragboxStatsParamTabbedPane);

    StatusTabbedPane.setPreferredSize(new java.awt.Dimension(400, 180));

    javax.swing.GroupLayout MidasPipesTabLayout = new javax.swing.GroupLayout(MidasPipesTab);
    MidasPipesTab.setLayout(MidasPipesTabLayout);
    MidasPipesTabLayout.setHorizontalGroup(
      MidasPipesTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(pane0, javax.swing.GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
    );
    MidasPipesTabLayout.setVerticalGroup(
      MidasPipesTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(pane0, javax.swing.GroupLayout.DEFAULT_SIZE, 154, Short.MAX_VALUE)
    );

    StatusTabbedPane.addTab("Midas Pipes", MidasPipesTab);

    javax.swing.GroupLayout StatusTabLayout = new javax.swing.GroupLayout(StatusTab);
    StatusTab.setLayout(StatusTabLayout);
    StatusTabLayout.setHorizontalGroup(
      StatusTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(midasControls1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
    );
    StatusTabLayout.setVerticalGroup(
      StatusTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(midasControls1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 154, Short.MAX_VALUE)
    );

    StatusTabbedPane.addTab("Status", StatusTab);

    LeftControlsPanel.add(StatusTabbedPane);

    javax.swing.GroupLayout AllTabLayout = new javax.swing.GroupLayout(AllTab);
    AllTab.setLayout(AllTabLayout);
    AllTabLayout.setHorizontalGroup(
      AllTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 395, Short.MAX_VALUE)
    );
    AllTabLayout.setVerticalGroup(
      AllTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 222, Short.MAX_VALUE)
    );

    FileSelectTabbedPane.addTab("ALL", AllTab);

    javax.swing.GroupLayout ArchiveTabLayout = new javax.swing.GroupLayout(ArchiveTab);
    ArchiveTab.setLayout(ArchiveTabLayout);
    ArchiveTabLayout.setHorizontalGroup(
      ArchiveTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 395, Short.MAX_VALUE)
    );
    ArchiveTabLayout.setVerticalGroup(
      ArchiveTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 222, Short.MAX_VALUE)
    );

    FileSelectTabbedPane.addTab("ARCHIVE", ArchiveTab);

    LeftControlsPanel.add(FileSelectTabbedPane);

    SplitPaneCntrlPlots.setLeftComponent(LeftControlsPanel);

    RightPlotLogWorldPanel.setPreferredSize(new java.awt.Dimension(1500, 1000));
    RightPlotLogWorldPanel.setLayout(new javax.swing.BoxLayout(RightPlotLogWorldPanel, javax.swing.BoxLayout.Y_AXIS));

    PSDPane.setPreferredSize(new java.awt.Dimension(1000, 800));

    RasterTab.setPreferredSize(new java.awt.Dimension(400, 400));
    RasterTab.setLayout(new javax.swing.BoxLayout(RasterTab, javax.swing.BoxLayout.Y_AXIS));

    TopRaster.setLayout(new javax.swing.BoxLayout(TopRaster, javax.swing.BoxLayout.LINE_AXIS));

    Raster_T1.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_T1.setLayout(new javax.swing.BoxLayout(Raster_T1, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_T1.setText("AUDIO");
    Raster_T1.add(PSD_button_T1);
    Raster_T1.add(plot_raster_T1);

    TopRaster.add(Raster_T1);

    Raster_T2.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_T2.setLayout(new javax.swing.BoxLayout(Raster_T2, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_T2.setText("AUDIO");
    Raster_T2.add(PSD_button_T2);
    Raster_T2.add(plot_raster_T2);

    TopRaster.add(Raster_T2);

    Raster_T3.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_T3.setLayout(new javax.swing.BoxLayout(Raster_T3, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_3.setText("AUDIO");
    Raster_T3.add(PSD_button_3);
    Raster_T3.add(plot_raster_T3);

    TopRaster.add(Raster_T3);

    Raster_T4.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_T4.setLayout(new javax.swing.BoxLayout(Raster_T4, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_T4.setText("AUDIO");
    Raster_T4.add(PSD_button_T4);
    Raster_T4.add(plot_raster_T4);

    TopRaster.add(Raster_T4);

    Raster_T5.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_T5.setLayout(new javax.swing.BoxLayout(Raster_T5, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_T5.setText("AUDIO");
    Raster_T5.add(PSD_button_T5);
    Raster_T5.add(plot_raster_T5);

    TopRaster.add(Raster_T5);

    Raster_T6.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_T6.setLayout(new javax.swing.BoxLayout(Raster_T6, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_T6.setText("AUDIO");
    Raster_T6.add(PSD_button_T6);
    Raster_T6.add(plot_raster_T6);

    TopRaster.add(Raster_T6);

    RasterTab.add(TopRaster);

    BottomRaster.setLayout(new javax.swing.BoxLayout(BottomRaster, javax.swing.BoxLayout.LINE_AXIS));

    Raster_B1.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_B1.setLayout(new javax.swing.BoxLayout(Raster_B1, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_B1.setText("AUDIO");
    Raster_B1.add(PSD_button_B1);
    Raster_B1.add(plot_Raster_B1);

    BottomRaster.add(Raster_B1);

    Raster_B2.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_B2.setLayout(new javax.swing.BoxLayout(Raster_B2, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_B2.setText("AUDIO");
    Raster_B2.add(PSD_button_B2);
    Raster_B2.add(plot_raster_B2);

    BottomRaster.add(Raster_B2);

    Raster_B3.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_B3.setLayout(new javax.swing.BoxLayout(Raster_B3, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_B3.setText("AUDIO");
    Raster_B3.add(PSD_button_B3);
    Raster_B3.add(plot_raster_B3);

    BottomRaster.add(Raster_B3);

    Raster_B4.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_B4.setLayout(new javax.swing.BoxLayout(Raster_B4, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_B4.setText("AUDIO");
    Raster_B4.add(PSD_button_B4);
    Raster_B4.add(plot_raster_B4);

    BottomRaster.add(Raster_B4);

    Raster_B5.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_B5.setLayout(new javax.swing.BoxLayout(Raster_B5, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_B5.setText("AUDIO");
    Raster_B5.add(PSD_button_B5);
    Raster_B5.add(plot_raster_B5);

    BottomRaster.add(Raster_B5);

    Raster_B6.setPreferredSize(new java.awt.Dimension(50, 124));
    Raster_B6.setLayout(new javax.swing.BoxLayout(Raster_B6, javax.swing.BoxLayout.Y_AXIS));

    PSD_button_B6.setText("AUDIO");
    Raster_B6.add(PSD_button_B6);
    Raster_B6.add(plot_raster_B6);

    BottomRaster.add(Raster_B6);

    RasterTab.add(BottomRaster);

    PSDPane.addTab("RASTER", RasterTab);

    LinePlotTab.setPreferredSize(new java.awt.Dimension(1000, 800));
    LinePlotTab.setLayout(new javax.swing.BoxLayout(LinePlotTab, javax.swing.BoxLayout.X_AXIS));

    TopLine.setPreferredSize(new java.awt.Dimension(500, 800));
    TopLine.setLayout(new javax.swing.BoxLayout(TopLine, javax.swing.BoxLayout.Y_AXIS));

    LINE_T1.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T1.setLayout(new javax.swing.BoxLayout(LINE_T1, javax.swing.BoxLayout.LINE_AXIS));

    plot_line_T1.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T1.add(plot_line_T1);

    TopLine.add(LINE_T1);

    LINE_T2.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T2.setLayout(new javax.swing.BoxLayout(LINE_T2, javax.swing.BoxLayout.Y_AXIS));

    plot_line_T2.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T2.add(plot_line_T2);

    TopLine.add(LINE_T2);

    LINE_T3.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T3.setLayout(new javax.swing.BoxLayout(LINE_T3, javax.swing.BoxLayout.Y_AXIS));

    plot_line_T3.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T3.add(plot_line_T3);

    TopLine.add(LINE_T3);

    LINE_T4.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T4.setLayout(new javax.swing.BoxLayout(LINE_T4, javax.swing.BoxLayout.Y_AXIS));

    plot_line_T4.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T4.add(plot_line_T4);

    TopLine.add(LINE_T4);

    LINE_T5.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T5.setLayout(new javax.swing.BoxLayout(LINE_T5, javax.swing.BoxLayout.Y_AXIS));

    plot_line_T5.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T5.add(plot_line_T5);

    TopLine.add(LINE_T5);

    LINE_T6.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T6.setLayout(new javax.swing.BoxLayout(LINE_T6, javax.swing.BoxLayout.Y_AXIS));

    plot_line_T6.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_T6.add(plot_line_T6);

    TopLine.add(LINE_T6);

    LinePlotTab.add(TopLine);

    BottomLIne.setPreferredSize(new java.awt.Dimension(500, 800));
    BottomLIne.setLayout(new javax.swing.BoxLayout(BottomLIne, javax.swing.BoxLayout.Y_AXIS));

    LINE_B1.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B1.setLayout(new javax.swing.BoxLayout(LINE_B1, javax.swing.BoxLayout.Y_AXIS));

    plot_line_B1.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B1.add(plot_line_B1);

    BottomLIne.add(LINE_B1);

    LINE_B2.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B2.setLayout(new javax.swing.BoxLayout(LINE_B2, javax.swing.BoxLayout.Y_AXIS));

    plot_line_B2.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B2.add(plot_line_B2);

    BottomLIne.add(LINE_B2);

    LINE_B4.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B4.setLayout(new javax.swing.BoxLayout(LINE_B4, javax.swing.BoxLayout.Y_AXIS));
    LINE_B4.add(plot_line_B4);

    BottomLIne.add(LINE_B4);

    LINE_B3.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B3.setLayout(new javax.swing.BoxLayout(LINE_B3, javax.swing.BoxLayout.Y_AXIS));

    plot_line_B3.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B3.add(plot_line_B3);

    BottomLIne.add(LINE_B3);

    LINE_B5.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B5.setLayout(new javax.swing.BoxLayout(LINE_B5, javax.swing.BoxLayout.Y_AXIS));

    plot_line_B5.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B5.add(plot_line_B5);

    BottomLIne.add(LINE_B5);

    LINE_B6.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B6.setLayout(new javax.swing.BoxLayout(LINE_B6, javax.swing.BoxLayout.Y_AXIS));

    plot_line_B6.setPreferredSize(new java.awt.Dimension(150, 50));
    LINE_B6.add(plot_line_B6);

    BottomLIne.add(LINE_B6);

    LinePlotTab.add(BottomLIne);

    PSDPane.addTab("LINE", LinePlotTab);

    RightPlotLogWorldPanel.add(PSDPane);

    DataLogMetaWorldPanel.setPreferredSize(new java.awt.Dimension(1000, 300));
    DataLogMetaWorldPanel.setLayout(new javax.swing.BoxLayout(DataLogMetaWorldPanel, javax.swing.BoxLayout.LINE_AXIS));

    DataLogMetaTabPane.setPreferredSize(new java.awt.Dimension(400, 100));

    DataTextArea.setColumns(20);
    DataTextArea.setRows(5);
    DataScrollPane.setViewportView(DataTextArea);

    javax.swing.GroupLayout DataPanelLayout = new javax.swing.GroupLayout(DataPanel);
    DataPanel.setLayout(DataPanelLayout);
    DataPanelLayout.setHorizontalGroup(
      DataPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(DataScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
    );
    DataPanelLayout.setVerticalGroup(
      DataPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(DataScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE)
    );

    DataLogMetaTabPane.addTab("Data", DataPanel);

    LogTextArea.setColumns(20);
    LogTextArea.setRows(5);
    LogScrollPane.setViewportView(LogTextArea);

    javax.swing.GroupLayout LogPanelLayout = new javax.swing.GroupLayout(LogPanel);
    LogPanel.setLayout(LogPanelLayout);
    LogPanelLayout.setHorizontalGroup(
      LogPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(LogScrollPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 395, Short.MAX_VALUE)
    );
    LogPanelLayout.setVerticalGroup(
      LogPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(LogScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE)
    );

    DataLogMetaTabPane.addTab("Log", LogPanel);

    javax.swing.GroupLayout MetaPanelLayout = new javax.swing.GroupLayout(MetaPanel);
    MetaPanel.setLayout(MetaPanelLayout);
    MetaPanelLayout.setHorizontalGroup(
      MetaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 395, Short.MAX_VALUE)
    );
    MetaPanelLayout.setVerticalGroup(
      MetaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 245, Short.MAX_VALUE)
    );

    DataLogMetaTabPane.addTab("Meta", MetaPanel);

    DataLogMetaWorldPanel.add(DataLogMetaTabPane);

    MapPanel.setPreferredSize(new java.awt.Dimension(500, 300));
    MapPanel.setLayout(new java.awt.BorderLayout());
    MapPanel.add(MapAlphaSlider, java.awt.BorderLayout.PAGE_START);

    MapButtonPanel.setLayout(new javax.swing.BoxLayout(MapButtonPanel, javax.swing.BoxLayout.Y_AXIS));

    EllipseButton.setText("Ellipse");
    MapButtonPanel.add(EllipseButton);

    CitiesButton.setText("Cities");
    MapButtonPanel.add(CitiesButton);

    FeaturesButton.setText("Features");
    MapButtonPanel.add(FeaturesButton);

    StateVectButton.setText("State Vectors");
    MapButtonPanel.add(StateVectButton);

    MapPanel.add(MapButtonPanel, java.awt.BorderLayout.LINE_START);

    WORLD_MAP.setPreferredSize(new java.awt.Dimension(400, 300));
    MapPanel.add(WORLD_MAP, java.awt.BorderLayout.CENTER);

    DataLogMetaWorldPanel.add(MapPanel);

    RightPlotLogWorldPanel.add(DataLogMetaWorldPanel);

    SplitPaneCntrlPlots.setRightComponent(RightPlotLogWorldPanel);

    FullTestInternalFrame.getContentPane().add(SplitPaneCntrlPlots);

    FullTestScrollPane.setViewportView(FullTestInternalFrame);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(FullTestScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE, Short.MAX_VALUE)
    );
    layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(FullTestScrollPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 1000, Short.MAX_VALUE)
    );

    pack();

    // added in 3.9.2 to fix the screen size issue at the borders
    GraphicsUtil.fitFrameToScreen(this);
  }// </editor-fold>//GEN-END:initComponents

  /** main
   *  @param args the command line arguments
   */
  public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
     */
    try {
      for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if ("Nimbus".equals(info.getName())) {
          javax.swing.UIManager.setLookAndFeel(info.getClassName());
          break;
        }
      }
    } catch (ClassNotFoundException ex) {
      java.util.logging.Logger.getLogger(test_plot_wh_gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
      java.util.logging.Logger.getLogger(test_plot_wh_gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
      java.util.logging.Logger.getLogger(test_plot_wh_gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
      java.util.logging.Logger.getLogger(test_plot_wh_gui.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>

    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
      public void run() {
        new test_plot_wh_gui().setVisible(true);
      }
    });
  }

  // Variables declaration - do not modify//GEN-BEGIN:variables
  /** The all tab */
  private javax.swing.JPanel AllTab;
  /** The archive tab */
  private javax.swing.JPanel ArchiveTab;
  /** The main bottom line panel for all the bottom line plot panels */
  private javax.swing.JPanel BottomLIne;
  /** The main bottom raster panel for all the bottom raster plot panels */
  private javax.swing.JPanel BottomRaster;
  /** The cities radio button */
  private javax.swing.JRadioButton CitiesButton;
  /** The data-log-meta tabbed pane containing the data tab and panel, the log tab and panel, and the meta tab and panel */
  private javax.swing.JTabbedPane DataLogMetaTabPane;
  /** The data-log-meta-world-panel containing the data-log-meta tabbed pane and the map panel */
  private javax.swing.JPanel DataLogMetaWorldPanel;
  /** The data panel containing the data scroll pane */
  private javax.swing.JPanel DataPanel;
  /** The data scroll pane containing the data text area */
  private javax.swing.JScrollPane DataScrollPane;
  /** The data text area */
  private javax.swing.JTextArea DataTextArea;
  /** The dragbox-stats-param tabbed pane containing the main tab and the parameters tab */
  private javax.swing.JTabbedPane DragboxStatsParamTabbedPane;
  /** The ellipse radio button */
  private javax.swing.JRadioButton EllipseButton;
  /** The exit status panel containing the exit text and the PASS/FAIL status buttons */
  private javax.swing.JPanel ExistStatusPanel;
  /** The exit text */
  private javax.swing.JTextField ExitText;
  /** The FAIL status button */
  private javax.swing.JButton FailButton;
  /** The features radio button */
  private javax.swing.JRadioButton FeaturesButton;
  /** The file select tabbed pane containing the all tab and the archive tab */
  private javax.swing.JTabbedPane FileSelectTabbedPane;
  /** The file-view-shortcuts-menus panel */
  private javax.swing.JPanel FileViewShortcutsMenusPanel;
  /** The full test internal frame containing the controls-plots split pane*/
  private javax.swing.JInternalFrame FullTestInternalFrame;
  /** The full test scroll pane containing the full test internal frame */
  private javax.swing.JScrollPane FullTestScrollPane;
  /** The instructions scroll pane containing the test instructions text area */
  private javax.swing.JScrollPane InstuctionsScrollPane;
  /** The first bottom line panel for the first bottom line plot display */
  private javax.swing.JPanel LINE_B1;
  /** The second bottom line panel for the second bottom line plot display */
  private javax.swing.JPanel LINE_B2;
  /** The third bottom line panel for the third bottom line plot display */
  private javax.swing.JPanel LINE_B3;
  /** The fourth bottom line panel for the fourth bottom line plot display */
  private javax.swing.JPanel LINE_B4;
  /** The fifth bottom line panel for the fifth bottom line plot display */
  private javax.swing.JPanel LINE_B5;
  /** The sixth bottom line panel for the sixth bottom line plot display */
  private javax.swing.JPanel LINE_B6;
  /** The first top line panel for the first top line plot display */
  private javax.swing.JPanel LINE_T1;
  /** The second top line panel for the second top line plot display */
  private javax.swing.JPanel LINE_T2;
  /** The third top line panel for the third top line plot display */
  private javax.swing.JPanel LINE_T3;
  /** The fourth top line panel for the fourth top line plot display */
  private javax.swing.JPanel LINE_T4;
  /** The fifth top line panel for the fifth top line plot display */
  private javax.swing.JPanel LINE_T5;
  /** The sixth top line panel for the sixth top line plot display */
  private javax.swing.JPanel LINE_T6;
  /** The left controls panel containing the exit status panel, the instructions scroll pane, the file-view-shortcuts-menus panel, the dragbox-stats-param tabbed pane, the status tabbed pane, and the file select tabbed pane*/
  private javax.swing.JPanel LeftControlsPanel;
  /** The line plot tab */
  private javax.swing.JPanel LinePlotTab;
  /** The log panel containing the log scroll pane */
  private javax.swing.JPanel LogPanel;
  /** The log scroll pane containing the log text area */
  private javax.swing.JScrollPane LogScrollPane;
  /** The log text area */
  private javax.swing.JTextArea LogTextArea;
  /** The main tab containing the minimum time label and field, the maximum time label and field, the minimum frequency label and field,
   *  the maximum frequency label and field, and the throttle label and field */
  private javax.swing.JPanel MainTab;
  /** The map alpha slider */
  private javax.swing.JSlider MapAlphaSlider;
  /** The map button panel containing the ellipse radio button, the cities radio button, the features radio button, and the state vectors radio button */
  private javax.swing.JPanel MapButtonPanel;
  /** The map panel containing the map alpha slider, the map button panel, and the world-map plot display */
  private javax.swing.JPanel MapPanel;
  /** The meta panel */
  private javax.swing.JPanel MetaPanel;
  /** The midas pipe tab containing the plot midas controls */
  private javax.swing.JPanel MidasPipesTab;
  /** The PSD pane containing the raster plot tab and the line plot tab */
  private javax.swing.JTabbedPane PSDPane;
  /** The third top PSD audio button */
  private javax.swing.JButton PSD_button_3;
  /** The first bottom PSD audio button */
  private javax.swing.JButton PSD_button_B1;
  /** The second bottom PSD audio button */
  private javax.swing.JButton PSD_button_B2;
  /** The third bottom PSD audio button */
  private javax.swing.JButton PSD_button_B3;
  /** The fourth bottom PSD audio button */
  private javax.swing.JButton PSD_button_B4;
  /** The fifth bottom PSD audio button */
  private javax.swing.JButton PSD_button_B5;
  /** The sixth bottom PSD audio button */
  private javax.swing.JButton PSD_button_B6;
  /** The first top PSD audio button */
  private javax.swing.JButton PSD_button_T1;
  /** The second top PSD audio button */
  private javax.swing.JButton PSD_button_T2;
  /** The fourth top PSD audio button */
  private javax.swing.JButton PSD_button_T4;
  /** The fifth top PSD audio button */
  private javax.swing.JButton PSD_button_T5;
  /** The sixth top PSD audio button */
  private javax.swing.JButton PSD_button_T6;
  /** The parameters tab */
  private javax.swing.JPanel ParamTab;
  /** The PASS status button */
  private javax.swing.JButton PassButton;
  /** The raster plot tab */
  private javax.swing.JPanel RasterTab;
  /** The first bottom raster panel containing the first bottom raster plot display and the first bottom PSD button */
  private javax.swing.JPanel Raster_B1;
  /** The second bottom raster panel containing the second bottom raster plot display and the second bottom PSD button */
  private javax.swing.JPanel Raster_B2;
  /** The third bottom raster panel containing the third bottom raster plot display and the third bottom PSD button */
  private javax.swing.JPanel Raster_B3;
  /** The fourth bottom raster panel containing the fourth bottom raster plot display and the fourth bottom PSD button */
  private javax.swing.JPanel Raster_B4;
  /** The fifth bottom raster panel containing the fifth bottom raster plot display and the fifth bottom PSD button */
  private javax.swing.JPanel Raster_B5;
  /** The sixth bottom raster panel containing the sixth bottom raster plot display and the sixth bottom PSD button */
  private javax.swing.JPanel Raster_B6;
  /** The first top raster panel containing the first top raster plot display and the first top PSD button */
  private javax.swing.JPanel Raster_T1;
  /** The second top raster panel containing the second top raster plot display and the second top PSD button */
  private javax.swing.JPanel Raster_T2;
  /** The third top raster panel containing the third top raster plot display and the third top PSD button */
  private javax.swing.JPanel Raster_T3;
  /** The fourth top raster panel containing the fourth top raster plot display and the fourth top PSD button */
  private javax.swing.JPanel Raster_T4;
  /** The fifth top raster panel containing the fifth top raster plot display and the fifth top PSD button */
  private javax.swing.JPanel Raster_T5;
  /** The sixth top raster panel containing the sixth top raster plot display and the sixth top PSD button */
  private javax.swing.JPanel Raster_T6;
  /** The right-plot-log-world panel containing the PSD pane and the data-log-meta-world panel */
  private javax.swing.JPanel RightPlotLogWorldPanel;
  /** The controls-plots split pane containing the left controls panel and the right-plot-log-world panel */
  private javax.swing.JSplitPane SplitPaneCntrlPlots;
  /** The state vectors radio button */
  private javax.swing.JRadioButton StateVectButton;
  /** The status tab containing the status midas controls */
  private javax.swing.JPanel StatusTab;
  /** The status tabbed pane containing the midas pipe tab and the status tab */
  private javax.swing.JTabbedPane StatusTabbedPane;
  /** The test instructions text area */
  private javax.swing.JTextArea TestInstructionsTextArea;
  /** The main top line panel for all the top line plot panels */
  private javax.swing.JPanel TopLine;
  /** The main top raster panel for all the top raster plot panels */
  private javax.swing.JPanel TopRaster;
  /** The world-map plot display */
  private nxm.sys.libg.MidasDisplay WORLD_MAP;
  /** The maximum-frequency-dragbox text field */
  private javax.swing.JTextField dragMaxFreq;
  /** The maximum-time-dragbox text field */
  private javax.swing.JTextField dragMaxTime;
  /** The minimum-frequency-dragbox text field */
  private javax.swing.JTextField dragMinFreq;
  /** The minimum-time-dragbox text field */
  private javax.swing.JTextField dragMinTime;
  /** The maximum frequency label */
  private javax.swing.JLabel maxFreqLabel;
  /** The maximum time label */
  private javax.swing.JLabel maxTimeLabel;
  /** The plot midas controls */
  private nxm.sys.libg.MidasControls midasControls1;
  /** The minimum frequency label */
  private javax.swing.JLabel minFreqLabel;
  /** The minimum time label */
  private javax.swing.JLabel minTimeLabel;
  /** The status midas controls */
  private nxm.sys.libg.MidasControls pane0;
  /** The first bottom raster plot display */
  private nxm.sys.libg.MidasDisplay plot_Raster_B1;
  /** The first bottom line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_B1;
  /** The second bottom line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_B2;
  /** The third bottom line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_B3;
  /** The fourth bottom line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_B4;
  /** The fifth bottom line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_B5;
  /** The sixth bottom line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_B6;
  /** The first top line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_T1;
  /** The second top line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_T2;
  /** The third top line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_T3;
  /** The fourth top line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_T4;
  /** The fifth top line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_T5;
  /** The sixth top line plot display */
  private nxm.sys.libg.MidasDisplay plot_line_T6;
  /** The second bottom raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_B2;
  /** The third bottom raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_B3;
  /** The fourth bottom raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_B4;
  /** The fifth bottom raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_B5;
  /** The sixth bottom raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_B6;
  /** The first top raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_T1;
  /** The second top raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_T2;
  /** The third top raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_T3;
  /** The fourth top raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_T4;
  /** The fifth top raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_T5;
  /** The sixth top raster plot display */
  private nxm.sys.libg.MidasDisplay plot_raster_T6;
  /** The throttle field */
  private javax.swing.JTextField throttleField;
  /** The throttle label */
  private javax.swing.JLabel throttleLabel;
  // End of variables declaration//GEN-END:variables
}
