package hep.aida.ref.plotter; import hep.aida.IAxisStyle; import hep.aida.ILineStyle; import hep.aida.ITextStyle; /** * * @author The AIDA team @ SLAC. * */ public class AxisStyle extends BaseStyle implements IAxisStyle { protected void initializeBaseStyle() { String[] scaleOptions = {"lin", "linear", "log", "logarithmic"}; addParameter( new StringStyleParameter( Style.AXIS_SCALE, scaleOptions[0], scaleOptions ) ); String[] typeOptions = {"double", "int", "date", "string"}; addParameter( new StringStyleParameter( Style.AXIS_TYPE, typeOptions[0], typeOptions ) ); addParameter( new StringStyleParameter( Style.AXIS_LABEL, "" ) ); addParameter( new BooleanStyleParameter( Style.AXIS_VERTICAL_LABEL, false ) ); addParameter( new BooleanStyleParameter( Style.AXIS_ALLOW_ZERO_SUPPRESSION, true ) ); addParameter( new StringStyleParameter(Style.AXIS_LOWER_LIMIT, null) ); addParameter( new StringStyleParameter(Style.AXIS_UPPER_LIMIT, null) ); setTickLabelStyle(new TextStyle()); setLabelStyle(new TextStyle()); setLineStyle(new LineStyle()); } // JAIDA-only methods public boolean setLowerLimit(String val) { return ( (StringStyleParameter) parameter( Style.AXIS_LOWER_LIMIT ) ).setValue( val ); } public String lowerLimit() { return ( (StringStyleParameter) deepestSetParameter( Style.AXIS_LOWER_LIMIT ) ).value(); } public boolean setUpperLimit(String val) { return ( (StringStyleParameter) parameter( Style.AXIS_UPPER_LIMIT ) ).setValue( val ); } public String upperLimit() { return ( (StringStyleParameter) deepestSetParameter( Style.AXIS_UPPER_LIMIT ) ).value(); } // IAxisStyle methods public boolean setLabel(String label) { return ( (StringStyleParameter) parameter( Style.AXIS_LABEL ) ).setValue( label ); } public String label() { return ( (StringStyleParameter) deepestSetParameter( Style.AXIS_LABEL ) ).value(); } /** * Set the axis scaling (at least "log" and "linear"). */ public boolean setScaling(String scaling) { return ( (StringStyleParameter) parameter( Style.AXIS_SCALE ) ).setValue(scaling); } /** * Get the axis scaling. * return The axis scaling. */ public String scaling() { return ( (StringStyleParameter) deepestSetParameter( Style.AXIS_SCALE ) ).value(); } public ITextStyle labelStyle() { return (ITextStyle) child(Style.AXIS_LABEL_STYLE); } public ILineStyle lineStyle() { return (ILineStyle) child(Style.AXIS_LINE_STYLE); } public ITextStyle tickLabelStyle() { return (ITextStyle) child(Style.AXIS_TICK_LABEL_STYLE); } public boolean setLabelStyle(ITextStyle labelStyle) { return addBaseStyle( labelStyle, Style.AXIS_LABEL_STYLE ); } public boolean setTickLabelStyle(ITextStyle tickLabelStyle) { return addBaseStyle( tickLabelStyle, Style.AXIS_TICK_LABEL_STYLE ); } /** * @deprecated Use setLineStyle instead. */ public boolean setlineStyle(ILineStyle lineStyle) { return setLineStyle(lineStyle); } public boolean setLineStyle(ILineStyle lineStyle) { return addBaseStyle( lineStyle, Style.AXIS_LINE_STYLE ); } }