/*
* TemplateProperties.java
*/
package net.sf.openrocket.gui.print;
import java.awt.Color;
import javax.swing.UIManager;
/**
* This class is responsible for managing various properties of print templates (fin, nose cone, transitions, etc.).
*
* TODO: HIGH: Remove this entire class, and instead pass the PrintSettings object to the print methods.
*/
public class TemplateProperties {
/**
* The property that defines the fill color.
*/
public static final String TEMPLATE_FILL_COLOR_PROPERTY = "template.fill.color";
/**
* The property that defines the line color.
*/
public static final String TEMPLATE_LINE_COLOR_PROPERTY = "template.line.color";
/**
* Get the current fill color.
*
* @return a color to be used as the fill in template shapes
*/
public static Color getFillColor() {
Color fillColor = UIManager.getColor(TemplateProperties.TEMPLATE_FILL_COLOR_PROPERTY);
if (fillColor == null) {
fillColor = Color.lightGray;
}
return fillColor;
}
/**
* Set the template fill color.
*/
public static void setFillColor(Color c) {
UIManager.put(TemplateProperties.TEMPLATE_FILL_COLOR_PROPERTY, c);
}
/**
* Get the current line color.
*
* @return a color to be used as the line in template shapes
*/
public static Color getLineColor() {
Color lineColor = UIManager.getColor(TemplateProperties.TEMPLATE_LINE_COLOR_PROPERTY);
if (lineColor == null) {
lineColor = Color.darkGray;
}
return lineColor;
}
/**
* Set the template line color.
*/
public static void setLineColor(Color c) {
UIManager.put(TemplateProperties.TEMPLATE_LINE_COLOR_PROPERTY, c);
}
/**
* Set the template colors from the print settings.
*/
public static void setColors(PrintSettings settings) {
setFillColor(settings.getTemplateFillColor());
setLineColor(settings.getTemplateBorderColor());
}
}