X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGStructureChooser.java;h=ac623bcc10ab691b09861c5d1a2e138b4447d671;hb=d2259df2688d404ac89f6dfed3921280a5038c7b;hp=d8101e3d7bc4f40d4dc6044caed00c353a4079e6;hpb=fa9da54fb97cb2eacb1af7859024d90166bddb8f;p=jalview.git diff --git a/src/jalview/jbgui/GStructureChooser.java b/src/jalview/jbgui/GStructureChooser.java index d8101e3..ac623bc 100644 --- a/src/jalview/jbgui/GStructureChooser.java +++ b/src/jalview/jbgui/GStructureChooser.java @@ -27,7 +27,10 @@ import java.awt.Component; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; import java.awt.GridLayout; +import java.awt.Insets; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -56,6 +59,7 @@ import javax.swing.JTabbedPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.ListCellRenderer; +import javax.swing.SwingConstants; import javax.swing.Timer; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; @@ -71,7 +75,10 @@ import jalview.gui.AlignmentPanel; import jalview.gui.Desktop; import jalview.gui.JvSwingUtils; import jalview.gui.StructureViewer; +import jalview.structure.StructureImportSettings; +import jalview.structure.StructureImportSettings.TFType; import jalview.util.MessageManager; +import jalview.util.Platform; import net.miginfocom.swing.MigLayout; @SuppressWarnings("serial") @@ -86,6 +93,8 @@ public abstract class GStructureChooser extends JPanel { private static final Font VERDANA_12 = new Font("Verdana", 0, 12); + private static final Font VERDANA_10 = new Font("Verdana", 0, 10); + public static final String VIEWS_FILTER = "VIEWS_FILTER"; protected static final String VIEWS_FROM_FILE = "VIEWS_FROM_FILE"; @@ -118,6 +127,16 @@ public abstract class GStructureChooser extends JPanel protected JButton btn_pdbFromFile = new JButton(); + protected JLabel lbl_pdbFile = new JLabel(); + + protected JLabel lbl_chooseTempFacType = new JLabel(); + + protected JComboBox combo_tempFacAs = new JComboBox<>(); + + protected JButton btn_paeMatrixFile = new JButton(); + + protected JLabel lbl_paeFile = new JLabel(); + // holder for icon and button protected JPanel pnl_queryTDB; @@ -155,7 +174,7 @@ public abstract class GStructureChooser extends JPanel protected JLabel lbl_pdbManualFetchStatus = new JLabel(errorImage); - protected JLabel lbl_fromFileStatus = new JLabel(errorImage); + // protected JLabel lbl_fromFileStatus = new JLabel(errorImage); protected AssociateSeqPanel idInputAssSeqPanel = new AssociateSeqPanel(); @@ -264,6 +283,7 @@ public abstract class GStructureChooser extends JPanel try { jbInit(); + mainFrame.setFrameIcon(null); mainFrame.setVisible(false); mainFrame.invalidate(); mainFrame.pack(); @@ -395,7 +415,7 @@ public abstract class GStructureChooser extends JPanel JButton btn_cancel = new JButton( MessageManager.getString("action.cancel")); btn_cancel.setFont(VERDANA_12); - btn_cancel.addActionListener(new java.awt.event.ActionListener() + btn_cancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) @@ -476,7 +496,7 @@ public abstract class GStructureChooser extends JPanel MessageManager.formatMessage("action.new_structure_view_with", StructureViewer.getViewerType().toString())); btn_newView.setFont(VERDANA_12); - btn_newView.addActionListener(new java.awt.event.ActionListener() + btn_newView.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) @@ -501,7 +521,7 @@ public abstract class GStructureChooser extends JPanel btn_add = new JButton(MessageManager.getString("action.add")); btn_add.setFont(VERDANA_12); - btn_add.addActionListener(new java.awt.event.ActionListener() + btn_add.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) @@ -524,7 +544,7 @@ public abstract class GStructureChooser extends JPanel btn_pdbFromFile.setFont(VERDANA_12); String btn_title = MessageManager.getString("label.select_pdb_file"); btn_pdbFromFile.setText(btn_title + " "); - btn_pdbFromFile.addActionListener(new java.awt.event.ActionListener() + btn_pdbFromFile.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) @@ -543,6 +563,46 @@ public abstract class GStructureChooser extends JPanel } } }); + lbl_pdbFile.setFont(VERDANA_10); + lbl_pdbFile.setFont(VERDANA_10); + + lbl_chooseTempFacType.setFont(VERDANA_12); + lbl_chooseTempFacType.setText(new StringBuilder() + .append(MessageManager.getString("label.choose_tempfac_type")) + .append(" ").append(MessageManager.getString("label.optional")) + .toString()); + + combo_tempFacAs.setFont(VERDANA_12); + for (TFType t : TFType.values()) + { + combo_tempFacAs.addItem(t); + } + + btn_paeMatrixFile.setFont(VERDANA_12); + btn_paeMatrixFile.setText(new StringBuilder() + .append(MessageManager.getString("label.add_pae_matrix_file")) + .append(" ").append(MessageManager.getString("label.optional")) + .toString()); + btn_paeMatrixFile.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + paeMatrixFile_actionPerformed(); + } + }); + btn_paeMatrixFile.addKeyListener(new KeyAdapter() + { + @Override + public void keyPressed(KeyEvent evt) + { + if (evt.getKeyCode() == KeyEvent.VK_ENTER) + { + paeMatrixFile_actionPerformed(); + } + } + }); + lbl_paeFile.setFont(VERDANA_10); JScrollPane scrl_foundStructures = new JScrollPane(tbl_summary); scrl_foundStructures.setPreferredSize(new Dimension(width, height)); @@ -593,12 +653,23 @@ public abstract class GStructureChooser extends JPanel }); chk_invertFilter.addItemListener(this); - btn_queryTDB = new JButton( - MessageManager.getString("label.search_3dbeacons")); + btn_queryTDB = new JButton(); + if (Platform.isMac()) + { + // needed to make icon button have round corners in vaqua + btn_queryTDB.putClientProperty("JButton.buttonType", "bevel"); + } + btn_queryTDB.setMargin(new Insets(0, 16, 0, 20)); + btn_queryTDB + .setText(MessageManager.getString("label.search_3dbeacons")); + btn_queryTDB.setIconTextGap(12); + btn_queryTDB.setIcon(tdbImage); + btn_queryTDB.setVerticalTextPosition(SwingConstants.CENTER); + btn_queryTDB.setHorizontalTextPosition(SwingConstants.TRAILING); btn_queryTDB.setFont(VERDANA_12); btn_queryTDB.setToolTipText( MessageManager.getString("label.find_models_from_3dbeacons")); - btn_queryTDB.setPreferredSize(new Dimension(300, 24)); + // btn_queryTDB.setPreferredSize(new Dimension(200, 32)); btn_queryTDB.setVisible(false); targetView.setVisible(false); @@ -612,10 +683,11 @@ public abstract class GStructureChooser extends JPanel JPanel pnl_main = new JPanel(new BorderLayout()); JPanel pnl_controls = new JPanel(); - pnl_queryTDB = new JPanel(new FlowLayout()); + pnl_queryTDB = new JPanel(); + pnl_queryTDB.setLayout(new FlowLayout(FlowLayout.CENTER, 4, 4)); pnl_queryTDB.setBackground(getBackground()); - pnl_queryTDB.add(new JLabel(tdbImage)); pnl_queryTDB.add(btn_queryTDB); + pnl_queryTDB.setVisible(false); pnl_main.add(pnl_queryTDB, BorderLayout.NORTH); pnl_controls.add(cmb_filterOption); @@ -624,12 +696,41 @@ public abstract class GStructureChooser extends JPanel pnl_main.add(pnl_controls, BorderLayout.CENTER); lbl_loading.setVisible(false); - JPanel pnl_fileChooser = new JPanel(new FlowLayout()); - pnl_fileChooser.add(btn_pdbFromFile); - pnl_fileChooser.add(lbl_fromFileStatus); + // JPanel pnl_fileChooser = new JPanel(new FlowLayout()); + // pnl_fileChooser.add(btn_pdbFromFile); + // pnl_fileChooser.add(lbl_fromFileStatus); + + JPanel pnl_fileOptions = new JPanel(); + pnl_fileOptions.setLayout(new GridBagLayout()); + GridBagConstraints gbc = new GridBagConstraints(); + gbc.gridx = 0; + gbc.gridy = 0; + gbc.weightx = 0.0; + gbc.weighty = 0.0; + gbc.insets = new Insets(0, 0, 2, 0); + gbc.fill = GridBagConstraints.NONE; + gbc.anchor = GridBagConstraints.FIRST_LINE_START; + // pnl_fileOptions.add(pnl_fileChooser, gbc); + pnl_fileOptions.add(btn_pdbFromFile, gbc); + gbc.gridy++; + gbc.insets = new Insets(0, 0, 18, 0); + pnl_fileOptions.add(lbl_pdbFile, gbc); + gbc.gridy++; + gbc.insets = new Insets(0, 0, 2, 0); + pnl_fileOptions.add(lbl_chooseTempFacType, gbc); + gbc.gridy++; + gbc.insets = new Insets(0, 0, 18, 0); + pnl_fileOptions.add(combo_tempFacAs, gbc); + gbc.gridy++; + gbc.insets = new Insets(0, 0, 2, 0); + pnl_fileOptions.add(btn_paeMatrixFile, gbc); + gbc.gridy++; + gbc.weighty = 1.0; + pnl_fileOptions.add(lbl_paeFile, gbc); + JPanel pnl_fileChooserBL = new JPanel(new BorderLayout()); - pnl_fileChooserBL.add(fileChooserAssSeqPanel, BorderLayout.NORTH); - pnl_fileChooserBL.add(pnl_fileChooser, BorderLayout.CENTER); + pnl_fileChooserBL.add(fileChooserAssSeqPanel, BorderLayout.PAGE_START); + pnl_fileChooserBL.add(pnl_fileOptions, BorderLayout.CENTER); JPanel pnl_idInput = new JPanel(new FlowLayout()); pnl_idInput.add(txt_search); @@ -934,6 +1035,8 @@ public abstract class GStructureChooser extends JPanel protected abstract void pdbFromFile_actionPerformed(); + protected abstract void paeMatrixFile_actionPerformed(); + protected abstract void txt_search_ActionPerformed(); protected abstract void populateCmbAssociateSeqOptions( @@ -945,4 +1048,16 @@ public abstract class GStructureChooser extends JPanel protected abstract void tabRefresh(); protected abstract void validateSelections(); -} \ No newline at end of file + + public JInternalFrame getFrame() + { + return mainFrame; + } + + public void setPdbOptionsEnabled(boolean b) + { + lbl_chooseTempFacType.setEnabled(b); + combo_tempFacAs.setEnabled(b); + btn_paeMatrixFile.setEnabled(b); + } +}