Search in sources :

Example 6 with PROP_PVVALUE

use of org.csstudio.opibuilder.model.IPVWidgetModel.PROP_PVVALUE in project yamcs-studio by yamcs.

the class AbstractChoiceEditPart method registerPropertyChangeHandlers.

@Override
@SuppressWarnings("unchecked")
protected void registerPropertyChangeHandlers() {
    setPropertyChangeHandler(PROP_PVNAME, (oldValue, newValue, figure) -> {
        registerLoadItemsListener();
        return false;
    });
    setPropertyChangeHandler(PROP_PVVALUE, (oldValue, newValue, refreshableFigure) -> {
        if (newValue != null && newValue instanceof VType) {
            var stringValue = VTypeHelper.getString((VType) newValue);
            ((AbstractChoiceFigure) refreshableFigure).setState(stringValue);
        }
        return false;
    });
    setPropertyChangeHandler(PROP_ITEMS, (oldValue, newValue, refreshableFigure) -> {
        if (newValue != null && newValue instanceof List) {
            ((AbstractChoiceFigure) refreshableFigure).setStates(((List<String>) newValue));
            if (getWidgetModel().isItemsFromPV()) {
                ((AbstractChoiceFigure) refreshableFigure).setState(VTypeHelper.getString(getPVValue(PROP_PVNAME)));
            }
        }
        return true;
    });
    IWidgetPropertyChangeHandler selectedColorHandler = (oldValue, newValue, figure) -> {
        ((AbstractChoiceFigure) figure).setSelectedColor(((OPIColor) newValue).getSWTColor());
        return false;
    };
    setPropertyChangeHandler(PROP_SELECTED_COLOR, selectedColorHandler);
    setPropertyChangeHandler(PROP_HORIZONTAL, (oldValue, newValue, figure) -> {
        ((AbstractChoiceFigure) figure).setHorizontal((Boolean) newValue);
        return true;
    });
    IWidgetPropertyChangeHandler handler = (oldValue, newValue, refreshableFigure) -> {
        if (!(Boolean) newValue) {
            ((AbstractChoiceFigure) refreshableFigure).setStates((getWidgetModel().getItems()));
        }
        updatePropSheet((Boolean) newValue);
        return false;
    };
    getWidgetModel().getProperty(PROP_ITEMS_FROM_PV).addPropertyChangeListener(evt -> handler.handleChange(evt.getOldValue(), evt.getNewValue(), getFigure()));
}
Also used : PROP_PVVALUE(org.csstudio.opibuilder.model.IPVWidgetModel.PROP_PVVALUE) VTypeHelper(org.yamcs.studio.data.VTypeHelper) VEnum(org.yamcs.studio.data.vtype.VEnum) PROP_HORIZONTAL(org.csstudio.opibuilder.widgets.model.AbstractChoiceModel.PROP_HORIZONTAL) PROP_PVNAME(org.csstudio.opibuilder.model.IPVWidgetModel.PROP_PVNAME) CustomMediaFactory(org.csstudio.ui.util.CustomMediaFactory) IFigure(org.eclipse.draw2d.IFigure) IPV(org.yamcs.studio.data.IPV) PROP_ITEMS_FROM_PV(org.csstudio.opibuilder.widgets.model.AbstractChoiceModel.PROP_ITEMS_FROM_PV) List(java.util.List) AbstractChoiceFigure(org.csstudio.swt.widgets.figures.AbstractChoiceFigure) VType(org.yamcs.studio.data.vtype.VType) AbstractPVWidgetEditPart(org.csstudio.opibuilder.editparts.AbstractPVWidgetEditPart) IPVListener(org.yamcs.studio.data.IPVListener) PROP_SELECTED_COLOR(org.csstudio.opibuilder.widgets.model.AbstractChoiceModel.PROP_SELECTED_COLOR) OPIColor(org.csstudio.opibuilder.util.OPIColor) PROP_ITEMS(org.csstudio.opibuilder.widgets.model.AbstractChoiceModel.PROP_ITEMS) AbstractChoiceModel(org.csstudio.opibuilder.widgets.model.AbstractChoiceModel) ExecutionMode(org.csstudio.opibuilder.editparts.ExecutionMode) IWidgetPropertyChangeHandler(org.csstudio.opibuilder.properties.IWidgetPropertyChangeHandler) VType(org.yamcs.studio.data.vtype.VType) AbstractChoiceFigure(org.csstudio.swt.widgets.figures.AbstractChoiceFigure) IWidgetPropertyChangeHandler(org.csstudio.opibuilder.properties.IWidgetPropertyChangeHandler) List(java.util.List) OPIColor(org.csstudio.opibuilder.util.OPIColor)

Example 7 with PROP_PVVALUE

use of org.csstudio.opibuilder.model.IPVWidgetModel.PROP_PVVALUE in project yamcs-studio by yamcs.

the class ComboEditPart method registerPropertyChangeHandlers.

@Override
@SuppressWarnings("unchecked")
protected void registerPropertyChangeHandlers() {
    setPropertyChangeHandler(PROP_PVNAME, (oldValue, newValue, figure) -> {
        registerLoadItemsListener();
        return false;
    });
    autoSizeWidget((ComboFigure) getFigure());
    setPropertyChangeHandler(PROP_PVVALUE, (oldValue, newValue, refreshableFigure) -> {
        if (newValue != null) {
            var stringValue = VTypeHelper.getString((VType) newValue);
            if (Arrays.asList(combo.getItems()).contains(stringValue)) {
                combo.setText(stringValue);
            } else {
                combo.deselectAll();
            // 
            // if(getWidgetModel().isBorderAlarmSensitve())
            // autoSizeWidget((ComboFigure) refreshableFigure);
            }
        }
        return true;
    });
    setPropertyChangeHandler(PROP_ITEMS, (oldValue, newValue, refreshableFigure) -> {
        if (newValue != null && newValue instanceof List) {
            updateCombo((List<String>) newValue);
            if (getWidgetModel().isItemsFromPV()) {
                combo.setText(VTypeHelper.getString(getPVValue(PROP_PVNAME)));
            }
        }
        return true;
    });
    IWidgetPropertyChangeHandler handler = (oldValue, newValue, refreshableFigure) -> {
        updatePropSheet((Boolean) newValue);
        return false;
    };
    getWidgetModel().getProperty(PROP_ITEMS_FROM_PV).addPropertyChangeListener(evt -> handler.handleChange(evt.getOldValue(), evt.getNewValue(), getFigure()));
    // size change handlers--always apply the default height
    IWidgetPropertyChangeHandler handle = (oldValue, newValue, figure) -> {
        autoSizeWidget((ComboFigure) figure);
        return true;
    };
    setPropertyChangeHandler(PROP_WIDTH, handle);
    setPropertyChangeHandler(PROP_HEIGHT, handle);
    setPropertyChangeHandler(PROP_BORDER_STYLE, handle);
    setPropertyChangeHandler(PROP_BORDER_WIDTH, handle);
    setPropertyChangeHandler(PROP_FONT, handle);
}
Also used : PROP_PVVALUE(org.csstudio.opibuilder.model.IPVWidgetModel.PROP_PVVALUE) Arrays(java.util.Arrays) PROP_BORDER_WIDTH(org.csstudio.opibuilder.model.AbstractWidgetModel.PROP_BORDER_WIDTH) ComboModel(org.csstudio.opibuilder.widgets.model.ComboModel) PROP_HEIGHT(org.csstudio.opibuilder.model.AbstractWidgetModel.PROP_HEIGHT) PROP_ITEMS_FROM_PV(org.csstudio.opibuilder.widgets.model.ComboModel.PROP_ITEMS_FROM_PV) PROP_PVNAME(org.csstudio.opibuilder.model.IPVWidgetModel.PROP_PVNAME) IFigure(org.eclipse.draw2d.IFigure) PROP_ITEMS(org.csstudio.opibuilder.widgets.model.ComboModel.PROP_ITEMS) IPV(org.yamcs.studio.data.IPV) ComboFigure(org.csstudio.opibuilder.widgets.figures.ComboFigure) IPVListener(org.yamcs.studio.data.IPVListener) ExecutionMode(org.csstudio.opibuilder.editparts.ExecutionMode) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Combo(org.eclipse.swt.widgets.Combo) VTypeHelper(org.yamcs.studio.data.VTypeHelper) VEnum(org.yamcs.studio.data.vtype.VEnum) PROP_FONT(org.csstudio.opibuilder.model.AbstractWidgetModel.PROP_FONT) List(java.util.List) VType(org.yamcs.studio.data.vtype.VType) AbstractPVWidgetEditPart(org.csstudio.opibuilder.editparts.AbstractPVWidgetEditPart) SelectionEvent(org.eclipse.swt.events.SelectionEvent) PROP_BORDER_STYLE(org.csstudio.opibuilder.model.AbstractWidgetModel.PROP_BORDER_STYLE) PROP_WIDTH(org.csstudio.opibuilder.model.AbstractWidgetModel.PROP_WIDTH) IWidgetPropertyChangeHandler(org.csstudio.opibuilder.properties.IWidgetPropertyChangeHandler) SelectionListener(org.eclipse.swt.events.SelectionListener) IWidgetPropertyChangeHandler(org.csstudio.opibuilder.properties.IWidgetPropertyChangeHandler) List(java.util.List) ComboFigure(org.csstudio.opibuilder.widgets.figures.ComboFigure)

Aggregations

PROP_PVNAME (org.csstudio.opibuilder.model.IPVWidgetModel.PROP_PVNAME)7 PROP_PVVALUE (org.csstudio.opibuilder.model.IPVWidgetModel.PROP_PVVALUE)7 IWidgetPropertyChangeHandler (org.csstudio.opibuilder.properties.IWidgetPropertyChangeHandler)7 VTypeHelper (org.yamcs.studio.data.VTypeHelper)7 VType (org.yamcs.studio.data.vtype.VType)7 AbstractPVWidgetEditPart (org.csstudio.opibuilder.editparts.AbstractPVWidgetEditPart)6 ExecutionMode (org.csstudio.opibuilder.editparts.ExecutionMode)6 IFigure (org.eclipse.draw2d.IFigure)6 List (java.util.List)4 PROP_BORDER_STYLE (org.csstudio.opibuilder.model.AbstractWidgetModel.PROP_BORDER_STYLE)4 PROP_BORDER_WIDTH (org.csstudio.opibuilder.model.AbstractWidgetModel.PROP_BORDER_WIDTH)4 IPV (org.yamcs.studio.data.IPV)4 IPVListener (org.yamcs.studio.data.IPVListener)4 VEnum (org.yamcs.studio.data.vtype.VEnum)4 AbstractWidgetModel (org.csstudio.opibuilder.model.AbstractWidgetModel)3 PROP_FONT (org.csstudio.opibuilder.model.AbstractWidgetModel.PROP_FONT)3 ITextFigure (org.csstudio.swt.widgets.figures.ITextFigure)3 CustomMediaFactory (org.csstudio.ui.util.CustomMediaFactory)3 EditPolicy (org.eclipse.gef.EditPolicy)3 Request (org.eclipse.gef.Request)3