JAL-1705 (new preference option to) hide introns when fetching genomic
[jalview.git] / src / jalview / jbgui / GPreferences.java
index b12355a..0aafe50 100755 (executable)
@@ -44,6 +44,7 @@ import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 
 import javax.swing.BorderFactory;
+import javax.swing.ButtonGroup;
 import javax.swing.DefaultListCellRenderer;
 import javax.swing.JButton;
 import javax.swing.JCheckBox;
@@ -52,6 +53,7 @@ import javax.swing.JFileChooser;
 import javax.swing.JLabel;
 import javax.swing.JList;
 import javax.swing.JPanel;
+import javax.swing.JRadioButton;
 import javax.swing.JScrollPane;
 import javax.swing.JTabbedPane;
 import javax.swing.JTextField;
@@ -108,6 +110,8 @@ public class GPreferences extends JPanel
 
   protected JCheckBox wrap = new JCheckBox();
 
+  protected JCheckBox hideIntrons = new JCheckBox();
+
   protected JComboBox<String> sortby = new JComboBox<String>();
 
   protected JComboBox<String> sortAnnBy = new JComboBox<String>();
@@ -156,6 +160,12 @@ public class GPreferences extends JPanel
 
   protected JTextField chimeraPath = new JTextField();
 
+  protected ButtonGroup mappingMethod = new ButtonGroup();
+
+  protected JRadioButton siftsMapping = new JRadioButton();
+
+  protected JRadioButton nwMapping = new JRadioButton();
+
   /*
    * Colours tab components
    */
@@ -509,6 +519,7 @@ public class GPreferences extends JPanel
     newLink.setText(MessageManager.getString("action.new"));
     newLink.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         newLink_actionPerformed(e);
@@ -518,6 +529,7 @@ public class GPreferences extends JPanel
     editLink.setText(MessageManager.getString("action.edit"));
     editLink.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         editLink_actionPerformed(e);
@@ -527,6 +539,7 @@ public class GPreferences extends JPanel
     deleteLink.setText(MessageManager.getString("action.delete"));
     deleteLink.addActionListener(new java.awt.event.ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         deleteLink_actionPerformed(e);
@@ -535,6 +548,7 @@ public class GPreferences extends JPanel
 
     linkURLList.addListSelectionListener(new ListSelectionListener()
     {
+      @Override
       public void valueChanged(ListSelectionEvent e)
       {
         int index = linkURLList.getSelectedIndex();
@@ -544,6 +558,7 @@ public class GPreferences extends JPanel
 
     linkNameList.addListSelectionListener(new ListSelectionListener()
     {
+      @Override
       public void valueChanged(ListSelectionEvent e)
       {
         int index = linkNameList.getSelectedIndex();
@@ -571,6 +586,7 @@ public class GPreferences extends JPanel
 
     defaultBrowser.addMouseListener(new MouseAdapter()
     {
+      @Override
       public void mouseClicked(MouseEvent e)
       {
         if (e.getClickCount() > 1)
@@ -585,6 +601,7 @@ public class GPreferences extends JPanel
     useProxy.setText(MessageManager.getString("label.use_proxy_server"));
     useProxy.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         useProxy_actionPerformed();
@@ -653,6 +670,7 @@ public class GPreferences extends JPanel
     ok.setText(MessageManager.getString("action.ok"));
     ok.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         ok_actionPerformed(e);
@@ -662,6 +680,7 @@ public class GPreferences extends JPanel
     cancel.setText(MessageManager.getString("action.cancel"));
     cancel.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         cancel_actionPerformed(e);
@@ -693,6 +712,7 @@ public class GPreferences extends JPanel
     minColour.setPreferredSize(new Dimension(40, 20));
     minColour.addMouseListener(new MouseAdapter()
     {
+      @Override
       public void mousePressed(MouseEvent e)
       {
         minColour_actionPerformed(minColour);
@@ -707,6 +727,7 @@ public class GPreferences extends JPanel
     maxColour.setPreferredSize(new Dimension(40, 20));
     maxColour.addMouseListener(new MouseAdapter()
     {
+      @Override
       public void mousePressed(MouseEvent e)
       {
         maxColour_actionPerformed(maxColour);
@@ -764,7 +785,7 @@ public class GPreferences extends JPanel
     final int width = 400;
     final int height = 22;
     final int lineSpacing = 25;
-    int ypos = 30;
+    int ypos = 15;
 
     structFromPdb.setFont(LABEL_FONT);
     structFromPdb
@@ -859,13 +880,30 @@ public class GPreferences extends JPanel
     structureTab.add(chimeraPath);
 
     ypos += lineSpacing;
-    // scrl_pdbDocFieldConfig.setPreferredSize(new Dimension(450, 100));
-    // scrl_pdbDocFieldConfig
-    // .setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
-    // scrl_pdbDocFieldConfig.setBounds();
+    nwMapping.setFont(LABEL_FONT);
+    nwMapping.setText(MessageManager.getString("label.nw_mapping"));
+    siftsMapping.setFont(LABEL_FONT);
+    siftsMapping.setText(MessageManager.getString("label.sifts_mapping"));
+    mappingMethod.add(nwMapping);
+    mappingMethod.add(siftsMapping);
+    JPanel mappingPanel = new JPanel();
+    mappingPanel.setFont(LABEL_FONT);
+    TitledBorder mmTitledBorder = new TitledBorder(
+            MessageManager.getString("label.mapping_method"));
+    mmTitledBorder.setTitleFont(LABEL_FONT);
+    mappingPanel.setBorder(mmTitledBorder);
+    mappingPanel.setBounds(new Rectangle(10, ypos, 452, 45));
+    // GridLayout mappingLayout = new GridLayout();
+    mappingPanel.setLayout(new GridLayout());
+    mappingPanel.add(nwMapping);
+    mappingPanel.add(siftsMapping);
+    structureTab.add(mappingPanel);
+
+    ypos += lineSpacing;
+    ypos += lineSpacing;
     PDBDocFieldPreferences docFieldPref = new PDBDocFieldPreferences(
             PreferenceSource.PREFERENCES);
-    docFieldPref.setBounds(new Rectangle(10, ypos + 5, 450, 120));
+    docFieldPref.setBounds(new Rectangle(10, ypos, 450, 120));
     structureTab.add(docFieldPref);
 
     return structureTab;
@@ -1018,6 +1056,7 @@ public class GPreferences extends JPanel
     annotations.setBounds(new Rectangle(169, 12, 200, 23));
     annotations.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         annotations_actionPerformed(e);
@@ -1025,6 +1064,7 @@ public class GPreferences extends JPanel
     });
     identity.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         annotations_actionPerformed(e);
@@ -1032,6 +1072,7 @@ public class GPreferences extends JPanel
     });
     showGroupConsensus.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         annotations_actionPerformed(e);
@@ -1045,6 +1086,7 @@ public class GPreferences extends JPanel
             .getString("action.show_unconserved"));
     showUnconserved.addActionListener(new ActionListener()
     {
+      @Override
       public void actionPerformed(ActionEvent e)
       {
         showunconserved_actionPerformed(e);
@@ -1109,9 +1151,10 @@ public class GPreferences extends JPanel
     startupCheckbox.setHorizontalTextPosition(SwingConstants.LEFT);
     startupCheckbox.setSelected(true);
     startupFileTextfield.setFont(LABEL_FONT);
-    startupFileTextfield.setBounds(new Rectangle(172, 310, 330, 20));
+    startupFileTextfield.setBounds(new Rectangle(173, 328, 330, 20));
     startupFileTextfield.addMouseListener(new MouseAdapter()
     {
+      @Override
       public void mouseClicked(MouseEvent e)
       {
         if (e.getClickCount() > 1)
@@ -1122,19 +1165,19 @@ public class GPreferences extends JPanel
     });
 
     sortby.setFont(LABEL_FONT);
-    sortby.setBounds(new Rectangle(172, 260, 155, 21));
+    sortby.setBounds(new Rectangle(172, 280, 155, 20));
     JLabel sortLabel = new JLabel();
     sortLabel.setFont(LABEL_FONT);
     sortLabel.setHorizontalAlignment(SwingConstants.RIGHT);
     sortLabel.setText(MessageManager.getString("label.sort_by"));
     sortAnnBy.setFont(LABEL_FONT);
-    sortAnnBy.setBounds(new Rectangle(172, 285, 110, 21));
+    sortAnnBy.setBounds(new Rectangle(172, 305, 110, 20));
     JLabel sortAnnLabel = new JLabel();
     sortAnnLabel.setFont(LABEL_FONT);
     sortAnnLabel.setHorizontalAlignment(SwingConstants.RIGHT);
     sortAnnLabel.setText(MessageManager.getString("label.sort_ann_by"));
     sortAutocalc.setFont(LABEL_FONT);
-    sortAutocalc.setBounds(new Rectangle(290, 285, 165, 21));
+    sortAutocalc.setBounds(new Rectangle(290, 305, 165, 20));
 
     JPanel annsettingsPanel = new JPanel();
     annsettingsPanel.setBounds(new Rectangle(173, 34, 320, 75));
@@ -1178,6 +1221,12 @@ public class GPreferences extends JPanel
     wrap.setHorizontalAlignment(SwingConstants.TRAILING);
     wrap.setHorizontalTextPosition(SwingConstants.LEADING);
     wrap.setText(MessageManager.getString("label.wrap_alignment"));
+    hideIntrons.setFont(LABEL_FONT);
+    hideIntrons.setHorizontalAlignment(SwingConstants.TRAILING);
+    hideIntrons.setHorizontalTextPosition(SwingConstants.LEADING);
+    hideIntrons.setText(MessageManager.getString("label.hide_introns"));
+    hideIntrons.setToolTipText(MessageManager
+            .getString("label.hide_introns_tip"));
     rightAlign.setFont(LABEL_FONT);
     rightAlign.setForeground(Color.black);
     rightAlign.setHorizontalAlignment(SwingConstants.RIGHT);
@@ -1195,8 +1244,8 @@ public class GPreferences extends JPanel
     openoverv.setHorizontalTextPosition(SwingConstants.LEFT);
     openoverv.setText(MessageManager.getString(("label.open_overview")));
     JPanel jPanel2 = new JPanel();
-    jPanel2.setBounds(new Rectangle(7, 17, 158, 310));
-    jPanel2.setLayout(new GridLayout(14, 1));
+    jPanel2.setBounds(new Rectangle(7, 17, 158, 330));
+    jPanel2.setLayout(new GridLayout(15, 1));
     jPanel2.add(fullScreen);
     jPanel2.add(openoverv);
     jPanel2.add(seqLimit);
@@ -1208,6 +1257,7 @@ public class GPreferences extends JPanel
     jPanel2.add(scaleProteinToCdna);
     jPanel2.add(gapLabel);
     jPanel2.add(wrap);
+    jPanel2.add(hideIntrons);
     jPanel2.add(sortLabel);
     jPanel2.add(sortAnnLabel);
     jPanel2.add(startupCheckbox);