package uk.ac.gda.dal.csswidgets.model; import org.csstudio.sds.model.AbstractWidgetModel; import org.csstudio.sds.model.BorderStyleEnum; import org.csstudio.sds.model.TextAlignmentEnum; import org.csstudio.sds.model.WidgetPropertyCategory; import org.csstudio.sds.util.ColorAndFontUtil; public final class ComboModel extends AbstractWidgetModel { public static final String PROP_LABEL = "label"; //$NON-NLS-1$ public static final String PROP_FONT = "font"; //$NON-NLS-1$ public static final String PROP_TEXT_ALIGNMENT = "textAlignment"; //$NON-NLS-1$ public static final int DEFAULT_HEIGHT = 20; public static final int DEFAULT_WIDTH = 80; public static final String ID = "uk.ac.gda.dal.combo"; public ComboModel() { setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); this.setPropertyValue(PROP_BORDER_STYLE, BorderStyleEnum.RAISED.getIndex()); } @Override protected void configureProperties() { addStringProperty(PROP_LABEL, "Label Text", WidgetPropertyCategory.DISPLAY, "", false); //$NON-NLS-1$ addFontProperty(PROP_FONT, "Font", WidgetPropertyCategory.DISPLAY, ColorAndFontUtil.toFontString("Arial", 8), false); //$NON-NLS-1$ addArrayOptionProperty(PROP_TEXT_ALIGNMENT, "Text Alignment", WidgetPropertyCategory.DISPLAY, TextAlignmentEnum.getDisplayNames(), TextAlignmentEnum.CENTER.getIndex(), false); } @Override protected String getDefaultToolTip() { StringBuffer buffer = new StringBuffer(); buffer.append(createTooltipParameter(PROP_ALIASES) + "\n"); buffer.append("Actions:\t"); buffer.append(createTooltipParameter(PROP_ACTIONDATA)); return buffer.toString(); } @Override public String getTypeID() { return ID; } public String getLabel() { return getStringProperty(PROP_LABEL); } /** * Returns the alignment for the text. * * @return int 0 = Center, 1 = Top, 2 = Bottom, 3 = Left, 4 = Right */ public int getTextAlignment() { return getArrayOptionProperty(PROP_TEXT_ALIGNMENT); } }