package net.sf.openrocket.gui.print; import java.awt.Color; import net.sf.openrocket.util.AbstractChangeSource; /** * A class containing all printing settings. */ public class PrintSettings extends AbstractChangeSource { private Color templateFillColor = Color.LIGHT_GRAY; private Color templateBorderColor = Color.DARK_GRAY; private PaperSize paperSize = PaperSize.getDefault(); private PaperOrientation paperOrientation = PaperOrientation.PORTRAIT; public Color getTemplateFillColor() { return templateFillColor; } public void setTemplateFillColor(Color templateFillColor) { // Implicitly tests against setting null if (templateFillColor.equals(this.templateFillColor)) { return; } this.templateFillColor = templateFillColor; fireChangeEvent(); } public Color getTemplateBorderColor() { return templateBorderColor; } public void setTemplateBorderColor(Color templateBorderColor) { // Implicitly tests against setting null if (templateBorderColor.equals(this.templateBorderColor)) { return; } this.templateBorderColor = templateBorderColor; fireChangeEvent(); } public PaperSize getPaperSize() { return paperSize; } public void setPaperSize(PaperSize paperSize) { if (paperSize.equals(this.paperSize)) { return; } this.paperSize = paperSize; fireChangeEvent(); } public PaperOrientation getPaperOrientation() { return paperOrientation; } public void setPaperOrientation(PaperOrientation orientation) { if (orientation.equals(paperOrientation)) { return; } this.paperOrientation = orientation; fireChangeEvent(); } /** * Load settings from the specified print settings. * @param settings the settings to load */ public void loadFrom(PrintSettings settings) { this.templateFillColor = settings.templateFillColor; this.templateBorderColor = settings.templateBorderColor; this.paperSize = settings.paperSize; this.paperOrientation = settings.paperOrientation; fireChangeEvent(); } @Override public String toString() { return "PrintSettings [templateFillColor=" + templateFillColor + ", templateBorderColor=" + templateBorderColor + ", paperSize=" + paperSize + ", paperOrientation=" + paperOrientation + "]"; } }