Search in sources :

Example 1 with Scalar

use of org.diirt.vtype.Scalar in project yamcs-studio by yamcs.

the class MenuButtonEditPart method registerPropertyChangeHandlers.

@Override
protected void registerPropertyChangeHandlers() {
    IWidgetPropertyChangeHandler pvNameHandler = new IWidgetPropertyChangeHandler() {

        @Override
        public boolean handleChange(Object oldValue, Object newValue, IFigure figure) {
            registerLoadActionsListener();
            return false;
        }
    };
    setPropertyChangeHandler(AbstractPVWidgetModel.PROP_PVNAME, pvNameHandler);
    // PV_Value
    IWidgetPropertyChangeHandler pvhandler = new IWidgetPropertyChangeHandler() {

        @Override
        public boolean handleChange(final Object oldValue, final Object newValue, final IFigure refreshableFigure) {
            if ((newValue != null) && (newValue instanceof Scalar))
                ((MenuButtonFigure) refreshableFigure).setText(VTypeHelper.getString((VType) newValue));
            return true;
        }
    };
    setPropertyChangeHandler(MenuButtonModel.PROP_PVVALUE, pvhandler);
    // label
    IWidgetPropertyChangeHandler labelHandler = new IWidgetPropertyChangeHandler() {

        @Override
        public boolean handleChange(final Object oldValue, final Object newValue, final IFigure refreshableFigure) {
            ((MenuButtonFigure) refreshableFigure).setText(newValue.toString());
            return true;
        }
    };
    setPropertyChangeHandler(MenuButtonModel.PROP_LABEL, labelHandler);
    // Transparent
    IWidgetPropertyChangeHandler transparentHandler = new IWidgetPropertyChangeHandler() {

        @Override
        public boolean handleChange(final Object oldValue, final Object newValue, final IFigure refreshableFigure) {
            ((MenuButtonFigure) refreshableFigure).setOpaque(!(Boolean) newValue);
            return true;
        }
    };
    setPropertyChangeHandler(MenuButtonModel.PROP_TRANSPARENT, transparentHandler);
    // Show down arrow
    IWidgetPropertyChangeHandler downArrowHandler = new IWidgetPropertyChangeHandler() {

        @Override
        public boolean handleChange(final Object oldValue, final Object newValue, final IFigure refreshableFigure) {
            ((MenuButtonFigure) refreshableFigure).setDownArrowVisible((boolean) newValue);
            return true;
        }
    };
    setPropertyChangeHandler(MenuButtonModel.PROP_SHOW_DOWN_ARROW, downArrowHandler);
    final IWidgetPropertyChangeHandler handler = new IWidgetPropertyChangeHandler() {

        @Override
        public boolean handleChange(final Object oldValue, final Object newValue, final IFigure refreshableFigure) {
            updatePropSheet((Boolean) newValue);
            return false;
        }
    };
    getWidgetModel().getProperty(MenuButtonModel.PROP_ACTIONS_FROM_PV).addPropertyChangeListener(new PropertyChangeListener() {

        @Override
        public void propertyChange(PropertyChangeEvent evt) {
            handler.handleChange(evt.getOldValue(), evt.getNewValue(), getFigure());
        }
    });
}
Also used : PropertyChangeEvent(java.beans.PropertyChangeEvent) MenuButtonFigure(org.csstudio.opibuilder.widgets.figures.MenuButtonFigure) PropertyChangeListener(java.beans.PropertyChangeListener) IWidgetPropertyChangeHandler(org.csstudio.opibuilder.properties.IWidgetPropertyChangeHandler) IFigure(org.eclipse.draw2d.IFigure) Scalar(org.diirt.vtype.Scalar)

Aggregations

PropertyChangeEvent (java.beans.PropertyChangeEvent)1 PropertyChangeListener (java.beans.PropertyChangeListener)1 IWidgetPropertyChangeHandler (org.csstudio.opibuilder.properties.IWidgetPropertyChangeHandler)1 MenuButtonFigure (org.csstudio.opibuilder.widgets.figures.MenuButtonFigure)1 Scalar (org.diirt.vtype.Scalar)1 IFigure (org.eclipse.draw2d.IFigure)1