package jalview.jbgui;
import jalview.datamodel.SequenceI;
+import jalview.fts.api.FTSDataColumnI;
+import jalview.fts.core.FTSDataColumnPreferences;
+import jalview.fts.core.FTSDataColumnPreferences.PreferenceSource;
+import jalview.fts.service.pdb.PDBFTSRestClient;
import jalview.gui.AlignmentPanel;
import jalview.gui.Desktop;
import jalview.gui.JvSwingUtils;
-import jalview.jbgui.PDBDocFieldPreferences.PreferenceSource;
import jalview.util.MessageManager;
-import jalview.ws.dbsources.PDBRestClient;
-import jalview.ws.dbsources.PDBRestClient.PDBDocField;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
+import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
public abstract class GStructureChooser extends JPanel implements
ItemListener
{
+ protected JPanel statusPanel = new JPanel();
+
+ public JLabel statusBar = new JLabel();
+
+ private JPanel pnl_actionsAndStatus = new JPanel(new BorderLayout());
+
protected String frameTitle = MessageManager
.getString("label.structure_chooser");
protected JTable tbl_summary = new JTable()
{
+ @Override
public String getToolTipText(MouseEvent evt)
{
String toolTipText = null;
try
{
+ if (getValueAt(rowIndex, colIndex) == null)
+ {
+ return null;
+ }
toolTipText = getValueAt(rowIndex, colIndex).toString();
} catch (Exception e)
{
- e.printStackTrace();
+ // e.printStackTrace();
}
toolTipText = (toolTipText == null ? null
: (toolTipText.length() > 500 ? JvSwingUtils.wrapTooltip(
private JTabbedPane pnl_filter = new JTabbedPane();
- private PDBDocFieldPreferences pdbDocFieldPrefs = new PDBDocFieldPreferences(
- PreferenceSource.STRUCTURE_CHOOSER);
+ private FTSDataColumnPreferences pdbDocFieldPrefs = new FTSDataColumnPreferences(
+ PreferenceSource.STRUCTURE_CHOOSER, PDBFTSRestClient.getInstance());
- protected PDBDocField[] previousWantedFields;
+ protected FTSDataColumnI[] previousWantedFields;
public GStructureChooser()
{
tbl_summary.getTableHeader().setReorderingAllowed(false);
tbl_summary.addMouseListener(new MouseAdapter()
{
+ @Override
public void mouseClicked(MouseEvent e)
{
validateSelections();
}
+ @Override
public void mouseReleased(MouseEvent e)
{
validateSelections();
}
break;
case KeyEvent.VK_TAB: // tab key
- btn_view.requestFocus();
+ if (evt.isShiftDown())
+ {
+ pnl_filter.requestFocus();
+ }
+ else
+ {
+ btn_view.requestFocus();
+ }
+ evt.consume();
+ break;
default:
return;
}
tbl_local_pdb.getTableHeader().setReorderingAllowed(false);
tbl_local_pdb.addMouseListener(new MouseAdapter()
{
+ @Override
public void mouseClicked(MouseEvent e)
{
validateSelections();
}
+ @Override
public void mouseReleased(MouseEvent e)
{
validateSelections();
}
break;
case KeyEvent.VK_TAB: // tab key
- btn_cancel.requestFocus();
+ if (evt.isShiftDown())
+ {
+ cmb_filterOption.requestFocus();
+ }
+ else
+ {
+ if (btn_view.isEnabled())
+ {
+ btn_view.requestFocus();
+ }
+ else
+ {
+ btn_cancel.requestFocus();
+ }
+ }
+ evt.consume();
default:
return;
}
btn_view.setText(MessageManager.getString("action.view"));
btn_view.addActionListener(new java.awt.event.ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
ok_ActionPerformed();
btn_cancel.setText(MessageManager.getString("action.cancel"));
btn_cancel.addActionListener(new java.awt.event.ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
mainFrame.dispose();
btn_pdbFromFile.setText(btn_title + " ");
btn_pdbFromFile.addActionListener(new java.awt.event.ActionListener()
{
+ @Override
public void actionPerformed(ActionEvent e)
{
pdbFromFile_actionPerformed();
.getString("label.configure_displayed_columns");
ChangeListener changeListener = new ChangeListener()
{
+ @Override
public void stateChanged(ChangeEvent changeEvent)
{
JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent
.getSource();
int index = sourceTabbedPane.getSelectedIndex();
+ btn_view.setVisible(true);
+ btn_cancel.setVisible(true);
if (sourceTabbedPane.getTitleAt(index).equals(configureCols))
{
btn_view.setEnabled(false);
btn_cancel.setEnabled(false);
- previousWantedFields = PDBDocFieldPreferences
- .getStructureSummaryFields().toArray(
- new PDBRestClient.PDBDocField[0]);
+ btn_view.setVisible(false);
+ btn_cancel.setVisible(false);
+ previousWantedFields = PDBFTSRestClient.getInstance()
+ .getAllDefaulDisplayedDataColumns()
+ .toArray(new FTSDataColumnI[0]);
}
if (sourceTabbedPane.getTitleAt(index)
.equals(foundStructureSummary))
this.setLayout(mainLayout);
this.add(pnl_main, java.awt.BorderLayout.NORTH);
this.add(pnl_switchableViews, java.awt.BorderLayout.CENTER);
- this.add(pnl_actions, java.awt.BorderLayout.SOUTH);
+ // this.add(pnl_actions, java.awt.BorderLayout.SOUTH);
+ statusPanel.setLayout(new GridLayout());
+ pnl_actionsAndStatus.add(pnl_actions, BorderLayout.CENTER);
+ pnl_actionsAndStatus.add(statusPanel, BorderLayout.SOUTH);
+ statusPanel.add(statusBar, null);
+ this.add(pnl_actionsAndStatus, java.awt.BorderLayout.SOUTH);
mainFrame.setVisible(true);
mainFrame.setContentPane(this);
return true;
}
- return Arrays.equals(PDBDocFieldPreferences.getStructureSummaryFields()
- .toArray(new PDBRestClient.PDBDocField[0]),
+ return Arrays.equals(
+ PDBFTSRestClient.getInstance()
+ .getAllDefaulDisplayedDataColumns()
+ .toArray(new FTSDataColumnI[0]),
previousWantedFields) ? false : true;
}
this.view = view;
}
+ @Override
public String toString()
{
return this.name;
this.sequence = seq;
}
+ @Override
public String toString()
{
return name;