/*
* Copyright (c) 2010 Stiftung Deutsches Elektronen-Synchrotron,
* Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY.
*
* THIS SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "../AS IS" BASIS.
* WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT
NOT LIMITED
* TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE
AND
* NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
BE LIABLE
* FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. SHOULD THE SOFTWARE PROVE
DEFECTIVE
* IN ANY RESPECT, THE USER ASSUMES THE COST OF ANY NECESSARY SERVICING,
REPAIR OR
* CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART
OF THIS LICENSE.
* NO USE OF ANY SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
DISCLAIMER.
* DESY HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
ENHANCEMENTS,
* OR MODIFICATIONS.
* THE FULL LICENSE SPECIFYING FOR THE SOFTWARE THE REDISTRIBUTION,
MODIFICATION,
* USAGE AND OTHER RIGHTS AND OBLIGATIONS IS INCLUDED WITH THE
DISTRIBUTION OF THIS
* PROJECT IN THE FILE LICENSE.HTML. IF THE LICENSE IS NOT INCLUDED YOU
MAY FIND A COPY
* AT HTTP://WWW.DESY.DE/LEGAL/LICENSE.HTM
*/
package org.csstudio.sds.model;
import java.util.List;
import org.csstudio.sds.cursorservice.AbstractCursor;
/**
* TODO (hrickens) :
*
* @author hrickens
* @author $Author: hrickens $
* @version $Revision: 1.1 $
* @since 11.05.2010
*/
public abstract class AbstractTextTypeWidgetModel extends AbstractWidgetModel {
/**
* Type of the displayed text.
*/
public static final String PROP_TEXT_TYPE = "value_type";
/**
* The ID of the precision property.
*/
public static final String PROP_PRECISION = "precision"; //$NON-NLS-1$
/**
* Constructor.
*/
public AbstractTextTypeWidgetModel() {
super();
}
/**
* Constructor.
*/
public AbstractTextTypeWidgetModel(final List<AbstractCursor> cursorDescriptors) {
super(false, cursorDescriptors);
}
/**
* Returns the type of the text (Double or String).
*
* @return The type of the text
*/
public TextTypeEnum getValueType() {
TextTypeEnum result = TextTypeEnum.TEXT;
final int index = getArrayOptionProperty(PROP_TEXT_TYPE);
if (index >= 0 && index < TextTypeEnum.values().length) {
result = TextTypeEnum.values()[index];
}
return result;
}
/**
* Return the precision.
*
* @return The precision.
*/
public int getPrecision() {
return getIntegerProperty(PROP_PRECISION);
}
public abstract String getStringValueID();
/**
* Returns the transparent state of the background.
*
* @return True if the background is transparent, false otherwise
*/
public abstract boolean getTransparent();
public String getStringValue() {
return getStringProperty(getStringValueID());
}
}