![JAR search and dependency download from the Maven repository](/logo.png)
org.diirt.javafx.tools.ProbeController Maven / Gradle / Ivy
/**
* Copyright (C) 2010-18 diirt developers. See COPYRIGHT.TXT
* All rights reserved. Use is subject to license terms. See LICENSE.TXT
*/
package org.diirt.javafx.tools;
import java.net.URL;
import java.time.Duration;
import java.util.Collections;
import java.util.EnumMap;
import java.util.Map;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextField;
import javafx.scene.layout.Border;
import javafx.scene.layout.BorderStroke;
import javafx.scene.layout.BorderStrokeStyle;
import javafx.scene.layout.BorderWidths;
import javafx.scene.layout.CornerRadii;
import javafx.scene.paint.Color;
import org.diirt.datasource.PV;
import org.diirt.datasource.PVManager;
import org.diirt.datasource.PVReaderEvent;
import org.diirt.datasource.PVWriterEvent;
import org.diirt.datasource.formula.ExpressionLanguage;
import org.diirt.javafx.util.Executors;
import org.diirt.util.time.TimeDuration;
import org.diirt.vtype.Alarm;
import org.diirt.vtype.AlarmSeverity;
import org.diirt.vtype.SimpleValueFormat;
import org.diirt.vtype.ValueFormat;
import org.diirt.vtype.ValueUtil;
public class ProbeController implements Initializable {
private PV, Object> pv;
private ValueFormat format = new SimpleValueFormat(3);
@FXML
private TextField channelField;
@FXML
private TextField valueField;
@FXML
private TextField newValueField;
@FXML
private TextField errorField;
@FXML
private ValueViewer valueViewer;
@FXML
private EventLogViewer eventLogViewer;
@FXML
private ExpressionProbe expressionProbe;
@FXML
private void onChannelChanged(ActionEvent event) {
if (pv != null) {
pv.close();
newValueField.setText(null);
valueField.setText(null);
newValueField.setEditable(false);
newValueField.setDisable(true);
changeValue(null, false);
errorField.setText(null);
expressionProbe.setExpression(null);
}
expressionProbe.setExpression(channelField.getText());
pv = PVManager.readAndWrite(ExpressionLanguage.formula(channelField.getText()))
.readListener(eventLogViewer.eventLog().
© 2015 - 2025 Weber Informatics LLC | Privacy Policy