Search in sources :

Example 1 with IPV

use of org.csstudio.simplepv.IPV in project yamcs-studio by yamcs.

the class PVComposite method createPVProperties.

private void createPVProperties(PVInfo pvInfo) {
    IPV pv = pvInfo.getPV();
    StringBuilder stateInfo = new StringBuilder();
    if (!pv.isStarted()) {
        stateInfo.append("Not started");
    } else if (pv.isConnected()) {
        stateInfo.append("Connected");
        if (pv.isPaused()) {
            stateInfo.append(" Paused");
        } else {
            stateInfo.append(" Running");
        }
    } else {
        stateInfo.append("Connecting");
    }
    createKeyValueTextPair("Name", pv.getName());
    createKeyValueTextPair("State", stateInfo.toString());
    createSeparator();
    if (pv.getValue() != null) {
        createKeyValueTextPair("Last Received Value", pv.getValue().toString());
        Display displayInfo = VTypeHelper.getDisplayInfo(pv.getValue());
        if (displayInfo != null) {
            createKeyValueTextPair("Units", displayInfo.getUnits());
            createKeyValueTextPair("Precision", "" + displayInfo.getFormat().getMaximumFractionDigits());
            createKeyValueTextPair("Display Low", "" + displayInfo.getLowerDisplayLimit());
            createKeyValueTextPair("Display High", "" + displayInfo.getUpperDisplayLimit());
            createKeyValueTextPair("Alarm Low", "" + displayInfo.getLowerAlarmLimit());
            createKeyValueTextPair("Warning Low", "" + displayInfo.getLowerWarningLimit());
            createKeyValueTextPair("Warning High", "" + displayInfo.getUpperWarningLimit());
            createKeyValueTextPair("Alarm High", "" + displayInfo.getUpperAlarmLimit());
        }
    }
}
Also used : IPV(org.csstudio.simplepv.IPV) Display(org.diirt.vtype.Display)

Example 2 with IPV

use of org.csstudio.simplepv.IPV in project yamcs-studio by yamcs.

the class AbstractBaseEditPart method deactivate.

@Override
public void deactivate() {
    if (isActive()) {
        doDeActivate();
        ActionsInput input = getWidgetModel().getActionsInput();
        for (AbstractWidgetAction a : input.getActionsList()) {
            a.dispose();
        }
        super.deactivate();
        // remove listener from all properties.
        for (String id : getWidgetModel().getAllPropertyIDs()) {
            getWidgetModel().getProperty(id).removeAllPropertyChangeListeners();
        }
        if (executionMode == ExecutionMode.RUN_MODE) {
            // remove script listeners before stopping PV.
            for (ScriptData scriptData : scriptDataList) {
                ScriptService.getInstance().unRegisterScript(scriptData);
            }
            if (hasStartedPVs) {
                // we should not attempt to stop those pvs; this can happen with linking container
                for (Object pv : pvMap.values().toArray()) {
                    ((IPV) pv).stop();
                }
            }
        }
        propertyListenerMap.clear();
    // propertyListenerMap = null;
    }
}
Also used : ActionsInput(org.csstudio.opibuilder.widgetActions.ActionsInput) ScriptData(org.csstudio.opibuilder.script.ScriptData) AbstractWidgetAction(org.csstudio.opibuilder.widgetActions.AbstractWidgetAction) IPV(org.csstudio.simplepv.IPV)

Example 3 with IPV

use of org.csstudio.simplepv.IPV in project yamcs-studio by yamcs.

the class PVWidgetConnectionHandler method markWidgetAsDisconnected.

@Override
protected void markWidgetAsDisconnected(IPV pv) {
    super.markWidgetAsDisconnected(pv);
    IPVWidgetEditpart pvWidgetEditpart = (IPVWidgetEditpart) editPart;
    final IPV controlPV = pvWidgetEditpart.getControlPV();
    if (controlPV != null && controlPV == pv) {
        UIBundlingThread.getInstance().addRunnable(editPart.getRoot().getViewer().getControl().getDisplay(), new Runnable() {

            @Override
            public void run() {
                pvWidgetEditpart.setControlEnabled(false);
            }
        });
    }
}
Also used : IPV(org.csstudio.simplepv.IPV)

Example 4 with IPV

use of org.csstudio.simplepv.IPV in project yamcs-studio by yamcs.

the class PVWidgetEditpartDelegate method doDeActivate.

public void doDeActivate() {
    if (pvsHaveBeenStarted) {
        for (IPV pv : pvMap.values()) pv.stop();
        pvsHaveBeenStarted = false;
    }
    for (String pvPropID : pvListenerMap.keySet()) {
        pvMap.get(pvPropID).removeListener(pvListenerMap.get(pvPropID));
    }
    pvMap.clear();
    pvListenerMap.clear();
    stopPulsing();
}
Also used : IPV(org.csstudio.simplepv.IPV)

Example 5 with IPV

use of org.csstudio.simplepv.IPV in project yamcs-studio by yamcs.

the class ScrollbarEditPart method registerLoadLimitsListener.

/**
 */
private void registerLoadLimitsListener() {
    if (getExecutionMode() == ExecutionMode.RUN_MODE) {
        final ScrollBarModel model = getWidgetModel();
        if (model.isLimitsFromPV()) {
            IPV pv = getPV(AbstractPVWidgetModel.PROP_PVNAME);
            if (pv != null) {
                if (pvLoadLimitsListener == null)
                    pvLoadLimitsListener = new IPVListener.Stub() {

                        @Override
                        public void valueChanged(IPV pv) {
                            VType value = pv.getValue();
                            Display displayInfo = VTypeHelper.getDisplayInfo(value);
                            if (value != null && displayInfo != null) {
                                Display new_meta = displayInfo;
                                if (meta == null || !meta.equals(new_meta)) {
                                    meta = new_meta;
                                    model.setPropertyValue(ScrollBarModel.PROP_MAX, meta.getUpperDisplayLimit());
                                    model.setPropertyValue(ScrollBarModel.PROP_MIN, meta.getLowerDisplayLimit());
                                }
                            }
                        }
                    };
                pv.addListener(pvLoadLimitsListener);
            }
        }
    }
}
Also used : VType(org.diirt.vtype.VType) ScrollBarModel(org.csstudio.opibuilder.widgets.model.ScrollBarModel) IPV(org.csstudio.simplepv.IPV) Display(org.diirt.vtype.Display)

Aggregations

IPV (org.csstudio.simplepv.IPV)19 VType (org.diirt.vtype.VType)8 Display (org.diirt.vtype.Display)4 VEnum (org.diirt.vtype.VEnum)3 StringProperty (org.csstudio.opibuilder.properties.StringProperty)2 ScriptData (org.csstudio.opibuilder.script.ScriptData)2 ActionsInput (org.csstudio.opibuilder.widgetActions.ActionsInput)2 PropertyChangeEvent (java.beans.PropertyChangeEvent)1 PropertyChangeListener (java.beans.PropertyChangeListener)1 AbstractBaseEditPart (org.csstudio.opibuilder.editparts.AbstractBaseEditPart)1 AbstractWidgetProperty (org.csstudio.opibuilder.properties.AbstractWidgetProperty)1 IWidgetPropertyChangeHandler (org.csstudio.opibuilder.properties.IWidgetPropertyChangeHandler)1 PVValueProperty (org.csstudio.opibuilder.properties.PVValueProperty)1 WidgetPropertyChangeListener (org.csstudio.opibuilder.properties.WidgetPropertyChangeListener)1 PVTuple (org.csstudio.opibuilder.script.PVTuple)1 RuleData (org.csstudio.opibuilder.script.RuleData)1 ScriptsInput (org.csstudio.opibuilder.script.ScriptsInput)1 AbstractWidgetAction (org.csstudio.opibuilder.widgetActions.AbstractWidgetAction)1 WritePVAction (org.csstudio.opibuilder.widgetActions.WritePVAction)1 AbstractMarkedWidgetModel (org.csstudio.opibuilder.widgets.model.AbstractMarkedWidgetModel)1