package mekhq.gui;
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Image;
import java.awt.Insets;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import mekhq.IconPackage;
/**
* A specialized JPanel wrapper for repair tasks. This is different from
* BasicInfo due to the need for an extra image on the right side.
*
* @author Cord Awtry (kipstafoo)
*
*/
public class RepairTaskInfo extends JPanel {
private static final long serialVersionUID = 5711048154776436610L;
private JLabel lblImage;
private JLabel lblSecondaryImage;
public RepairTaskInfo(IconPackage i) {
lblImage = new JLabel();
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
setLayout(gridbag);
c.fill = GridBagConstraints.BOTH;
c.insets = new Insets(1, 1, 1, 1);
c.gridx = 0;
c.gridy = 0;
c.weightx = 1.0;
c.weighty = 1.0;
c.gridwidth = 1;
c.gridheight = 1;
c.anchor = GridBagConstraints.WEST;
c.fill = GridBagConstraints.BOTH;
gridbag.setConstraints(lblImage, c);
add(lblImage);
lblSecondaryImage = new JLabel();
lblSecondaryImage.setText("");
c.fill = GridBagConstraints.BOTH;
c.insets = new Insets(1, 1, 1, 5);
c.gridx = 1;
c.gridy = 0;
c.weightx = 0.0;
c.weighty = 0.0;
c.gridwidth = 1;
c.gridheight = 1;
c.anchor = GridBagConstraints.EAST;
gridbag.setConstraints(lblSecondaryImage, c);
add(lblSecondaryImage);
this.setBorder(BorderFactory.createEmptyBorder());
}
public void setText(String s, String color) {
lblImage.setText("<html><font size='2' color='" + color + "'>" + s
+ "</font></html>");
}
public void highlightBorder() {
this.setBorder(new javax.swing.border.LineBorder(Color.BLACK, 5, true));
}
public void unhighlightBorder() {
this.setBorder(javax.swing.BorderFactory.createEtchedBorder());
}
public void setImage(Image img) {
if (null == img) {
lblImage.setIcon(null);
} else {
lblImage.setIcon(new ImageIcon(img));
}
}
public void setSecondaryImage(Image img) {
if (null == img) {
lblSecondaryImage.setIcon(null);
} else {
lblSecondaryImage.setIcon(new ImageIcon(img));
}
}
}