update spikes/mungo from JAL-3076 patch branch
[jalview.git] / src / jalview / gui / JvSwingUtils.java
index 190eda1..4658668 100644 (file)
@@ -22,10 +22,12 @@ package jalview.gui;
 
 import jalview.util.MessageManager;
 
+import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Component;
-import java.awt.Container;
 import java.awt.Font;
+import java.awt.GridLayout;
+import java.awt.Rectangle;
 import java.awt.event.ActionListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
@@ -37,8 +39,10 @@ import javax.swing.BorderFactory;
 import javax.swing.JButton;
 import javax.swing.JComboBox;
 import javax.swing.JComponent;
+import javax.swing.JLabel;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
+import javax.swing.JPanel;
 import javax.swing.JScrollBar;
 import javax.swing.SwingConstants;
 import javax.swing.border.Border;
@@ -140,23 +144,54 @@ public final class JvSwingUtils
   }
 
   /**
-   * A convenience method that that adds a component with label to a container,
-   * sets a tooltip on both component and label, and optionally specifies layout
-   * constraints for the added component (but not the label)
    * 
-   * @param container
+   * @param panel
    * @param tooltip
    * @param label
-   * @param comp
-   * @param constraints
+   * @param valBox
+   * @return the GUI element created that was added to the layout so it's
+   *         attributes can be changed.
    */
-  public static void addtoLayout(Container container, String tooltip,
-          JComponent label, JComponent comp, String constraints)
+  public static JPanel addtoLayout(JPanel panel, String tooltip,
+          JComponent label, JComponent valBox)
+  {
+    JPanel laypanel = new JPanel(new GridLayout(1, 2));
+    JPanel labPanel = new JPanel(new BorderLayout());
+    JPanel valPanel = new JPanel();
+    labPanel.setBounds(new Rectangle(7, 7, 158, 23));
+    valPanel.setBounds(new Rectangle(172, 7, 270, 23));
+    labPanel.add(label, BorderLayout.WEST);
+    valPanel.add(valBox);
+    laypanel.add(labPanel);
+    laypanel.add(valPanel);
+    valPanel.setToolTipText(tooltip);
+    labPanel.setToolTipText(tooltip);
+    valBox.setToolTipText(tooltip);
+    panel.add(laypanel);
+    panel.validate();
+    return laypanel;
+  }
+
+  public static void mgAddtoLayout(JPanel cpanel, String tooltip,
+          JLabel jLabel, JComponent name)
+  {
+    mgAddtoLayout(cpanel, tooltip, jLabel, name, null);
+  }
+
+  public static void mgAddtoLayout(JPanel cpanel, String tooltip,
+          JLabel jLabel, JComponent name, String params)
   {
-    container.add(label);
-    container.add(comp, constraints);
-    comp.setToolTipText(tooltip); // this doesn't seem to show?
-    label.setToolTipText(tooltip);
+    cpanel.add(jLabel);
+    if (params == null)
+    {
+      cpanel.add(name);
+    }
+    else
+    {
+      cpanel.add(name, params);
+    }
+    name.setToolTipText(tooltip);
+    jLabel.setToolTipText(tooltip);
   }
 
   /**
@@ -321,7 +356,7 @@ public final class JvSwingUtils
 
   /**
    * Adds a titled border to the component in the default font and position (top
-   * left), optionally with italic text
+   * left), optionally witht italic text
    * 
    * @param comp
    * @param title