Skip to content

Commit 93e4545

Browse files
committed
Add value of DESC (if non-null and non-empty) to pv_value in widget tooltip
1 parent 20a7e28 commit 93e4545

File tree

2 files changed

+13
-1
lines changed
  • app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets
  • core/pv/src/main/java/org/phoebus/pv/pva

2 files changed

+13
-1
lines changed

app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/TooltipSupport.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.csstudio.display.builder.representation.javafx.JFXPreferences;
2323
import org.epics.vtype.Alarm;
2424
import org.epics.vtype.AlarmSeverity;
25+
import org.epics.vtype.Display;
2526
import org.epics.vtype.Time;
2627
import org.phoebus.framework.macros.MacroHandler;
2728
import org.phoebus.framework.macros.MacroValueProvider;
@@ -108,6 +109,11 @@ public static void attach(final Node node, final WidgetProperty<String> tooltip_
108109
if (time != null)
109110
buf.append(", ").append(TimestampFormats.FULL_FORMAT.format(time.getTimestamp()));
110111

112+
String display = Display.displayOf(vtype).getDescription();
113+
// Description is non-null only for pva.
114+
if(display != null && !display.isEmpty()){
115+
buf.append(System.lineSeparator()).append(display);
116+
}
111117
spec = spec.replace("$(pv_value)", buf.toString());
112118
}
113119
final Widget widget = tooltip_property.getWidget();

core/pv/src/main/java/org/phoebus/pv/pva/Decoders.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,7 @@ private static Display decodeDisplay(final PVAStructure struct)
234234
String units;
235235
NumberFormat format;
236236
Range display, control, alarm, warn;
237+
String description = "";
237238

238239
// Decode display_t display
239240
PVAStructure section = struct.get("display");
@@ -282,6 +283,11 @@ private static Display decodeDisplay(final PVAStructure struct)
282283
: createNumberFormat(str.get());
283284
}
284285

286+
PVAString pvaStringDescription = section.get("description");
287+
if(pvaStringDescription != null){
288+
description = pvaStringDescription.get();
289+
}
290+
285291
display = Range.of(getDoubleValue(section, "limitLow", Double.NaN),
286292
getDoubleValue(section, "limitHigh", Double.NaN));
287293
}
@@ -312,7 +318,7 @@ private static Display decodeDisplay(final PVAStructure struct)
312318
else
313319
alarm = warn = Range.undefined();
314320

315-
return Display.of(display, alarm, warn, control, units, format);
321+
return Display.of(display, alarm, warn, control, units, format, description);
316322
}
317323

318324
/** @param struct Structure

0 commit comments

Comments
 (0)