// Path: src/main/java/ch/picard/ppimapbuilder/ui/util/PMBUIStyle.java
// public class PMBUIStyle {
// 
// 	private static Color defaultPanelColor = UIManager.getColor("Panel.background");
// 	private static float hsbVals[] = Color.RGBtoHSB(
// 			defaultPanelColor.getRed(),
// 			defaultPanelColor.getGreen(),
// 			defaultPanelColor.getBlue(),
// 			null
// 	);
// 
// 	public static final Color blurActiveTabColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.97f);
// 	public static final Color blurInactiveTabColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.95f);
// 
// 	public static final Color focusActiveTabColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.97f);
// 	public static final Color focusInactiveTabColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.84f);
// 
// 	public static final Color defaultBorderColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.94f);
// 
// 	public static final Border defaultComponentBorder = new LineBorder(defaultBorderColor, 1);
// 	public static final Border fancyPanelBorder = new CompoundBorder(
// 			// Outside border 1px bottom light color
// 			new MatteBorder(0, 0, 1, 0, Color.WHITE),
// 			// Border all around panel 1px dark grey
// 			defaultComponentBorder
// 	);
// 	public static final Border emptyBorder = new EmptyBorder(0, 0, 0, 0);
// 
// }


import ch.picard.ppimapbuilder.ui.util.FocusPropagator;
import ch.picard.ppimapbuilder.ui.util.PMBUIStyle;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;
import javax.swing.border.MatteBorder;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
package ch.picard.ppimapbuilder.ui.util.tabpanel;



class TabButton<T extends TabContent> extends JButton implements FocusListener {

	private final boolean first;
	private boolean active = false;
	private boolean focused = true;

// Path: src/main/java/ch/picard/ppimapbuilder/ui/util/PMBUIStyle.java
// public class PMBUIStyle {
// 
// 	private static Color defaultPanelColor = UIManager.getColor("Panel.background");
// 	private static float hsbVals[] = Color.RGBtoHSB(
// 			defaultPanelColor.getRed(),
// 			defaultPanelColor.getGreen(),
// 			defaultPanelColor.getBlue(),
// 			null
// 	);
// 
// 	public static final Color blurActiveTabColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.97f);
// 	public static final Color blurInactiveTabColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.95f);
// 
// 	public static final Color focusActiveTabColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.97f);
// 	public static final Color focusInactiveTabColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.84f);
// 
// 	public static final Color defaultBorderColor = Color.getHSBColor(hsbVals[0], hsbVals[1], hsbVals[2] *= 0.94f);
// 
// 	public static final Border defaultComponentBorder = new LineBorder(defaultBorderColor, 1);
// 	public static final Border fancyPanelBorder = new CompoundBorder(
// 			// Outside border 1px bottom light color
// 			new MatteBorder(0, 0, 1, 0, Color.WHITE),
// 			// Border all around panel 1px dark grey
// 			defaultComponentBorder
// 	);
// 	public static final Border emptyBorder = new EmptyBorder(0, 0, 0, 0);
// 
// }


// Path: src/main/java/ch/picard/ppimapbuilder/ui/util/tabpanel/TabButton.java
import ch.picard.ppimapbuilder.ui.util.FocusPropagator;
import ch.picard.ppimapbuilder.ui.util.PMBUIStyle;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.CompoundBorder;
import javax.swing.border.MatteBorder;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;

package ch.picard.ppimapbuilder.ui.util.tabpanel;



class TabButton<T extends TabContent> extends JButton implements FocusListener {

	private final boolean first;
	private boolean active = false;
	private boolean focused = true;

	private Border bottomBorder = new MatteBorder(0, 0, 1, 0, PMBUIStyle.defaultBorderColor);