package magic.ui.screen.deck.editor;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JToggleButton;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import magic.ui.utility.MagicStyle;
import magic.ui.FontsAndBorders;
@SuppressWarnings("serial")
public class ViewToggleButton extends JToggleButton {
private final Dimension PREF_BUTTON_SIZE = new Dimension(160, 26);
private final Dimension MAX_BUTTON_SIZE = PREF_BUTTON_SIZE;
public ViewToggleButton(String text) {
super(text);
setFont(FontsAndBorders.FONT2.deriveFont(Font.PLAIN));
setForeground(Color.LIGHT_GRAY);
setOpaque(true);
setBorderPainted(false);
setContentAreaFilled(false);
setRolloverEnabled(false);
setPreferredSize(PREF_BUTTON_SIZE);
setMaximumSize(MAX_BUTTON_SIZE);
addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
setFont(getFont().deriveFont(isSelected() ? Font.BOLD : Font.PLAIN));
setForeground(isSelected() ? MagicStyle.getRolloverColor() : Color.LIGHT_GRAY);
}
});
addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
MagicStyle.setHightlight(ViewToggleButton.this, true);
if (isSelected() == false) {
setForeground(MagicStyle.getRolloverColor());
}
}
@Override
public void mouseExited(MouseEvent e) {
MagicStyle.setHightlight(ViewToggleButton.this, false);
setForeground(isSelected() ? MagicStyle.getRolloverColor() : Color.LIGHT_GRAY);
}
});
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.LIGHT_GRAY);
g.drawLine(getWidth()-1, 3, getWidth()-1, getHeight());
}
}