/*******************************************************************************
* Copyright (c) 2008-2011 SWTChart project. All rights reserved.
*
* This code is distributed under the terms of the Eclipse Public License v1.0
* which is available at http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.swtchart.internal.axis;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Display;
import org.swtchart.Chart;
import org.swtchart.Constants;
import org.swtchart.IAxis.Direction;
import org.swtchart.internal.Title;
/**
* An Axis title.
*/
public class AxisTitle extends Title {
/** the default text for X Axis */
private static final String DEFAULT_TEXT_FOR_XAXIS = "X Axis";
/** the default text for X Axis */
private static final String DEFAULT_TEXT_FOR_YAXIS = "Y Axis";
/** the default color */
private static final int DEFAULT_FONT_SIZE = Constants.MEDIUM_FONT_SIZE;
/** the default font */
private final Font defaultFont;
/** the axis */
private final Axis axis;
/** the direction of axis */
private final Direction direction;
/**
* Constructor.
*
* @param chart
* the chart
* @param style
* the style
* @param axis
* the axis
* @param direction
* the direction
*/
public AxisTitle(Chart chart, int style, Axis axis, Direction direction) {
super(chart, style);
this.axis = axis;
this.direction = direction;
defaultFont = new Font(Display.getDefault(), "Tahoma",
DEFAULT_FONT_SIZE, SWT.BOLD);
setFont(defaultFont);
setText(getDefaultText());
}
/*
* @see Title#getDefaultText()
*/
@Override
protected String getDefaultText() {
if (direction == Direction.X) {
return DEFAULT_TEXT_FOR_XAXIS;
}
return DEFAULT_TEXT_FOR_YAXIS;
}
/*
* @see Title#isHorizontal()
*/
@Override
protected boolean isHorizontal() {
return axis.isHorizontalAxis();
}
/*
* @see Title#dispose()
*/
@Override
public void dispose() {
super.dispose();
if (!defaultFont.isDisposed()) {
defaultFont.dispose();
}
}
}