/*
* Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
* Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
*
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Jalview. If not, see .
* The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.jbgui;
import jalview.util.ImageMaker.TYPE;
import jalview.util.MessageManager;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
public class GPCAPanel extends JInternalFrame
{
private static final Font VERDANA_12 = new Font("Verdana", 0, 12);
protected JComboBox xCombobox = new JComboBox<>();
protected JComboBox yCombobox = new JComboBox<>();
protected JComboBox zCombobox = new JComboBox<>();
protected JMenu viewMenu = new JMenu();
protected JCheckBoxMenuItem showLabels = new JCheckBoxMenuItem();
protected JMenu associateViewsMenu = new JMenu();
protected JLabel statusBar = new JLabel();
protected JPanel statusPanel = new JPanel();
protected JMenuItem originalSeqData;
/**
* Constructor
*/
public GPCAPanel()
{
try
{
jbInit();
} catch (Exception e)
{
e.printStackTrace();
}
for (int i = 1; i < 8; i++)
{
xCombobox.addItem("dim " + i);
yCombobox.addItem("dim " + i);
zCombobox.addItem("dim " + i);
}
}
private void jbInit() throws Exception
{
setName("jalview-pca");
this.getContentPane().setLayout(new BorderLayout());
JPanel jPanel2 = new JPanel();
jPanel2.setLayout(new FlowLayout());
JLabel jLabel1 = new JLabel();
jLabel1.setFont(VERDANA_12);
jLabel1.setText("x=");
JLabel jLabel2 = new JLabel();
jLabel2.setFont(VERDANA_12);
jLabel2.setText("y=");
JLabel jLabel3 = new JLabel();
jLabel3.setFont(VERDANA_12);
jLabel3.setText("z=");
jPanel2.setBackground(Color.white);
jPanel2.setBorder(null);
zCombobox.setFont(VERDANA_12);
zCombobox.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
doDimensionChange();
}
});
yCombobox.setFont(VERDANA_12);
yCombobox.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
doDimensionChange();
}
});
xCombobox.setFont(VERDANA_12);
xCombobox.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
doDimensionChange();
}
});
JButton resetButton = new JButton();
resetButton.setFont(VERDANA_12);
resetButton.setText(MessageManager.getString("action.reset"));
resetButton.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
resetButton_actionPerformed();
}
});
JMenu fileMenu = new JMenu();
fileMenu.setText(MessageManager.getString("action.file"));
JMenu saveMenu = new JMenu();
saveMenu.setText(MessageManager.getString("action.save_as"));
JMenuItem eps = new JMenuItem("EPS");
eps.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
makePCAImage(TYPE.EPS);
}
});
JMenuItem png = new JMenuItem("PNG");
png.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
makePCAImage(TYPE.PNG);
}
});
JMenuItem outputValues = new JMenuItem();
outputValues.setText(MessageManager.getString("label.output_values"));
outputValues.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
outputValues_actionPerformed();
}
});
JMenuItem outputPoints = new JMenuItem();
outputPoints.setText(MessageManager.getString("label.output_points"));
outputPoints.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
outputPoints_actionPerformed();
}
});
JMenuItem outputProjPoints = new JMenuItem();
outputProjPoints.setText(
MessageManager.getString("label.output_transformed_points"));
outputProjPoints.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
outputProjPoints_actionPerformed();
}
});
JMenuItem print = new JMenuItem();
print.setText(MessageManager.getString("action.print"));
print.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
print_actionPerformed();
}
});
viewMenu.setText(MessageManager.getString("action.view"));
viewMenu.addMenuListener(new MenuListener()
{
@Override
public void menuSelected(MenuEvent e)
{
viewMenu_menuSelected();
}
@Override
public void menuDeselected(MenuEvent e)
{
}
@Override
public void menuCanceled(MenuEvent e)
{
}
});
showLabels.setText(MessageManager.getString("label.show_labels"));
showLabels.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
showLabels_actionPerformed();
}
});
JMenuItem bgcolour = new JMenuItem();
bgcolour.setText(MessageManager.getString("action.background_colour"));
bgcolour.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
bgcolour_actionPerformed();
}
});
originalSeqData = new JMenuItem();
originalSeqData.setText(MessageManager.getString("label.input_data"));
originalSeqData.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
originalSeqData_actionPerformed();
}
});
associateViewsMenu.setText(
MessageManager.getString("label.associate_nodes_with"));
statusPanel.setLayout(new GridLayout());
statusBar.setFont(VERDANA_12);
// statusPanel.setBackground(Color.lightGray);
// statusBar.setBackground(Color.lightGray);
// statusPanel.add(statusBar, null);
JPanel panelBar = new JPanel(new BorderLayout());
panelBar.add(jPanel2, BorderLayout.NORTH);
panelBar.add(statusPanel, BorderLayout.SOUTH);
this.getContentPane().add(panelBar, BorderLayout.SOUTH);
jPanel2.add(jLabel1, null);
jPanel2.add(xCombobox, null);
jPanel2.add(jLabel2, null);
jPanel2.add(yCombobox, null);
jPanel2.add(jLabel3, null);
jPanel2.add(zCombobox, null);
jPanel2.add(resetButton, null);
JMenuBar jMenuBar1 = new JMenuBar();
jMenuBar1.add(fileMenu);
jMenuBar1.add(viewMenu);
setJMenuBar(jMenuBar1);
fileMenu.add(saveMenu);
fileMenu.add(outputValues);
fileMenu.add(print);
fileMenu.add(originalSeqData);
fileMenu.add(outputPoints);
fileMenu.add(outputProjPoints);
saveMenu.add(eps);
saveMenu.add(png);
viewMenu.add(showLabels);
viewMenu.add(bgcolour);
viewMenu.add(associateViewsMenu);
}
protected void resetButton_actionPerformed()
{
}
protected void outputPoints_actionPerformed()
{
}
protected void outputProjPoints_actionPerformed()
{
}
public void makePCAImage(TYPE imageType)
{
}
protected void outputValues_actionPerformed()
{
}
protected void print_actionPerformed()
{
}
protected void showLabels_actionPerformed()
{
}
protected void bgcolour_actionPerformed()
{
}
protected void originalSeqData_actionPerformed()
{
}
protected void viewMenu_menuSelected()
{
}
protected void doDimensionChange()
{
}
}