Search in sources :

Example 1 with RulesProperty

use of org.csstudio.opibuilder.properties.RulesProperty in project yamcs-studio by yamcs.

the class AbstractWidgetModel method configureBaseProperties.

protected void configureBaseProperties() {
    addProperty(new IntegerProperty(PROP_WIDTH, "Width", WidgetPropertyCategory.Position, 100, 1, 10000));
    addProperty(new IntegerProperty(PROP_HEIGHT, "Height", WidgetPropertyCategory.Position, 100, 1, 10000));
    addProperty(new IntegerProperty(PROP_XPOS, "X", WidgetPropertyCategory.Position, 0));
    addProperty(new IntegerProperty(PROP_YPOS, "Y", WidgetPropertyCategory.Position, 0));
    addProperty(new ColorProperty(PROP_COLOR_BACKGROUND, "Background Color", WidgetPropertyCategory.Display, new RGB(240, 240, 240)));
    addProperty(new ColorProperty(PROP_COLOR_FOREGROUND, "Foreground Color", WidgetPropertyCategory.Display, new RGB(192, 192, 192)));
    addProperty(new FontProperty(PROP_FONT, "Font", WidgetPropertyCategory.Display, MediaService.DEFAULT_FONT));
    addProperty(new ColorProperty(PROP_BORDER_COLOR, "Border Color", WidgetPropertyCategory.Border, new RGB(0, 128, 255)));
    addProperty(new ComboProperty(PROP_BORDER_STYLE, "Border Style", WidgetPropertyCategory.Border, BorderStyle.stringValues(), 0));
    addProperty(new IntegerProperty(PROP_BORDER_WIDTH, "Border Width", WidgetPropertyCategory.Border, 1, 0, 1000));
    addProperty(new BooleanProperty(PROP_ENABLED, "Enabled", WidgetPropertyCategory.Behavior, true));
    addProperty(new BooleanProperty(PROP_VISIBLE, "Visible", WidgetPropertyCategory.Behavior, true));
    addProperty(new ScriptProperty(PROP_SCRIPTS, "Scripts", WidgetPropertyCategory.Behavior));
    addProperty(new ActionsProperty(PROP_ACTIONS, "Actions", WidgetPropertyCategory.Behavior));
    addProperty(new StringProperty(PROP_TOOLTIP, "Tooltip", WidgetPropertyCategory.Display, "", true));
    addProperty(new RulesProperty(PROP_RULES, "Rules", WidgetPropertyCategory.Behavior));
    addProperty(new ComplexDataProperty(PROP_SCALE_OPTIONS, "Scale Options", WidgetPropertyCategory.Position, new WidgetScaleData(this, true, true, false), "Set Scale Options"));
    addProperty(new StringProperty(PROP_WIDGET_UID, "Widget UID", WidgetPropertyCategory.Basic, new UID().toString()));
    // update the WUID saved in connections without triggering anything
    getProperty(PROP_WIDGET_UID).addPropertyChangeListener(new PropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            for (ConnectionModel connection : sourceConnections) {
                connection.setPropertyValue(ConnectionModel.PROP_SRC_WUID, evt.getNewValue(), false);
            }
            for (ConnectionModel connection : targetConnections) {
                connection.setPropertyValue(ConnectionModel.PROP_TGT_WUID, evt.getNewValue(), false);
            }
        }
    });
    setPropertyVisibleAndSavable(PROP_WIDGET_UID, false, true);
    WidgetDescriptor descriptor = WidgetsService.getInstance().getWidgetDescriptor(getTypeID());
    String name;
    name = descriptor == null ? getTypeID().substring(getTypeID().lastIndexOf(".") + 1) : descriptor.getName();
    addProperty(new StringProperty(PROP_NAME, "Name", WidgetPropertyCategory.Basic, name));
    addProperty(new UnchangableStringProperty(PROP_WIDGET_TYPE, "Widget Type", WidgetPropertyCategory.Basic, name));
    addProperty(new UnsavableListProperty(PROP_SRC_CONNECTIONS, "Source Connections", WidgetPropertyCategory.Display, sourceConnections));
    setPropertyVisible(PROP_SRC_CONNECTIONS, false);
    addProperty(new UnsavableListProperty(PROP_TGT_CONNECTIONS, "Target Connections", WidgetPropertyCategory.Display, targetConnections));
    setPropertyVisible(PROP_TGT_CONNECTIONS, false);
}
Also used : ComboProperty(org.csstudio.opibuilder.properties.ComboProperty) IntegerProperty(org.csstudio.opibuilder.properties.IntegerProperty) ComplexDataProperty(org.csstudio.opibuilder.properties.ComplexDataProperty) PropertyChangeEvent(java.beans.PropertyChangeEvent) PropertyChangeListener(java.beans.PropertyChangeListener) BooleanProperty(org.csstudio.opibuilder.properties.BooleanProperty) ActionsProperty(org.csstudio.opibuilder.properties.ActionsProperty) UnchangableStringProperty(org.csstudio.opibuilder.properties.UnchangableStringProperty) ScriptProperty(org.csstudio.opibuilder.properties.ScriptProperty) StringProperty(org.csstudio.opibuilder.properties.StringProperty) UnchangableStringProperty(org.csstudio.opibuilder.properties.UnchangableStringProperty) WidgetDescriptor(org.csstudio.opibuilder.util.WidgetDescriptor) RGB(org.eclipse.swt.graphics.RGB) RulesProperty(org.csstudio.opibuilder.properties.RulesProperty) FontProperty(org.csstudio.opibuilder.properties.FontProperty) UID(java.rmi.server.UID) UnsavableListProperty(org.csstudio.opibuilder.properties.UnsavableListProperty) ColorProperty(org.csstudio.opibuilder.properties.ColorProperty) WidgetScaleData(org.csstudio.opibuilder.datadefinition.WidgetScaleData)

Aggregations

PropertyChangeEvent (java.beans.PropertyChangeEvent)1 PropertyChangeListener (java.beans.PropertyChangeListener)1 UID (java.rmi.server.UID)1 WidgetScaleData (org.csstudio.opibuilder.datadefinition.WidgetScaleData)1 ActionsProperty (org.csstudio.opibuilder.properties.ActionsProperty)1 BooleanProperty (org.csstudio.opibuilder.properties.BooleanProperty)1 ColorProperty (org.csstudio.opibuilder.properties.ColorProperty)1 ComboProperty (org.csstudio.opibuilder.properties.ComboProperty)1 ComplexDataProperty (org.csstudio.opibuilder.properties.ComplexDataProperty)1 FontProperty (org.csstudio.opibuilder.properties.FontProperty)1 IntegerProperty (org.csstudio.opibuilder.properties.IntegerProperty)1 RulesProperty (org.csstudio.opibuilder.properties.RulesProperty)1 ScriptProperty (org.csstudio.opibuilder.properties.ScriptProperty)1 StringProperty (org.csstudio.opibuilder.properties.StringProperty)1 UnchangableStringProperty (org.csstudio.opibuilder.properties.UnchangableStringProperty)1 UnsavableListProperty (org.csstudio.opibuilder.properties.UnsavableListProperty)1 WidgetDescriptor (org.csstudio.opibuilder.util.WidgetDescriptor)1 RGB (org.eclipse.swt.graphics.RGB)1