JAL-629 PAE matrix file guesstimate from filename
[jalview.git] / src / jalview / jbgui / GStructureChooser.java
index cfb4665..ac623bc 100644 (file)
@@ -93,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";
@@ -125,12 +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<StructureImportSettings.TFType> 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;
 
@@ -168,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();
 
@@ -409,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)
@@ -490,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)
@@ -515,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)
@@ -538,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)
@@ -557,24 +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);
     }
-    // add changelistener
 
+    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());
-    ;
-    // add actionlistener
+    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));
@@ -668,9 +696,9 @@ 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());
@@ -679,10 +707,14 @@ public abstract class GStructureChooser extends JPanel
     gbc.gridy = 0;
     gbc.weightx = 0.0;
     gbc.weighty = 0.0;
-    gbc.insets = new Insets(0, 0, 18, 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(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);
@@ -690,8 +722,11 @@ public abstract class GStructureChooser extends JPanel
     gbc.insets = new Insets(0, 0, 18, 0);
     pnl_fileOptions.add(combo_tempFacAs, gbc);
     gbc.gridy++;
-    gbc.weighty = 1.0;
+    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.PAGE_START);
@@ -1000,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(