Appearance
Compatibility with MEDM
QtEDM supports the standard MEDM ADL object set, with these intentional differences, current limitations, and additions:
ADL strings – QtEDM intentionally interprets backslash escape sequences in quoted strings and escapes strings when saving. MEDM preserves backslashes literally, so string values and saved text can differ between the applications.
External color maps – QtEDM retains a display's external
cmapfilename but does not load that palette. Displays that depend on it can render with different colors.Custom inline color maps – Loading and saving an unchanged inline palette preserves its colors. An explicit color edit outside that palette is saved as the nearest palette entry and can change on reopen. Copying multiple objects between displays with different palettes can also change colors. External-map loading and custom-palette editing/transfer repairs are deferred; review affected displays before saving or transferring objects.
Appearance – Qt rendering may produce slightly different visual results than Motif
Font handling – QtEDM uses scalable fonts with alias mode for MEDM compatibility
Window management – Some window behaviors may differ depending on the desktop environment
Platform behavior – QtEDM builds natively on Linux, macOS, and Windows, but window management, fonts, printing, and packaging remain platform dependent
QtEDM-only objects – The listed extension blocks are preserved by QtEDM but have no runtime behavior in legacy MEDM
Observe-only operation –
--read-onlyprovides a process-wide, visibly indicated write-inhibition mode covering built-in controls, soft PVs, snapshots, and plugin-provider writes.Sessions and snapshots – Named window-layout sessions and explicitly selected, revalidated PV snapshot restores are QtEDM operational features rather than MEDM ADL behavior.
Display import – QtEDM can convert caQtDM/Qt Designer
.uifiles with a preserved source copy and versioned mapping report.Enhanced Statistics Window – The Statistics Window (View > Statistics Window) includes a third mode called "PV Details" that displays a sortable table of all connected PVs with their connection status, writable status, update rate, and alarm severity. Click the Mode button to cycle through Interval, Average, and PV Details views.
Find PV Dialog – QtEDM provides a Find PV feature (View > Find PV or Ctrl+F) that allows searching for process variables across all open displays. Enter a PV name pattern to locate widgets using matching PVs.
Export Image – QtEDM adds an "Export Image..." option to the right-click context menu in EXECUTE mode. This allows exporting displays as PNG, SVG, JPEG, or BMP images. MEDM supports XWD format via the print command; QtEDM provides more modern image formats including vector SVG output.
Export Data – QtEDM adds data export capabilities for plot widgets in EXECUTE mode:
- Strip Charts: Right-clicking shows the standard context menu with "Export Data..." enabled. Exports include Time, EPOCHTIME (with millisecond precision), and channel value columns in SDDS or CSV format.
- Cartesian Plots: Right-clicking shows a dedicated menu with "Modify Axis Values..." (to access the axis configuration dialog) and "Export Data..." options. Exports include Index and X/Y value pairs for each active trace in SDDS or CSV format.
- Waterfall Plots: Right-clicking adds "Save Image..." and "Save Data..." entries. Data exports include one row per buffered waveform sample along with relative time, epoch time, valid length, and waveform point columns in SDDS or CSV format.
Cartesian Plot Zoom/Pan – QtEDM adds interactive zoom and pan capabilities to Cartesian Plot widgets in EXECUTE mode:
- Zoom: Use the mouse wheel to zoom in and out. The zoom is centered on the cursor position. Hold Shift while scrolling to zoom only the X axis, or hold Ctrl to zoom only the Y axis.
- Pan: Click and drag with the left mouse button to pan the view. The cursor changes to a closed hand while panning.
- Reset: Right-click on a zoomed plot to access the "Reset Zoom" option and restore the original view. Zoom state is also automatically reset when switching from EXECUTE to EDIT mode.
Waterfall Plot Zoom/Pan – Waterfall Plot supports mouse-wheel zoom on the time axis, drag pan while zoomed, hover tooltips showing waveform index, sample age, and intensity, plus a context-menu buffer clear operation in EXECUTE mode.
Audit Logging – QtEDM provides audit logging of all control widget value changes (writes to PVs). This feature is enabled by default and logs to timestamped files in the
~/.medmdirectory.- Log Format: Each entry contains timestamp, username, widget type, PV name, value written, and display file (if available).
- Log Location: Logs are written to
~/.medm/audit_YYYYMMDD_HHMMSS_PID.logby default.QTEDM_AUDIT_DIRselects another directory. - Storage failures: A failed audit write or flush emits a warning and disables logging for that session. PV operations continue; resolve the storage problem and restart QtEDM to resume logging.
- Disable Logging: Use the
-nologcommand line option or set the environment variableQTEDM_NOLOG=1 - Logged writes: Text Entry, Text Area, Slider, Wheel Switch, Menu, Choice Button, Message Button/Toggle, Setpoint Control/Spin Box, plugin-provider, and snapshot-restore writes use the audit path.
- Observe-only records: Writes blocked by
--read-onlyuse the widget typeBLOCKED:ObserveOnly, so they remain distinct from successful puts without changing the six-column log format.