Release date: 24th August 2024.
This is the first release of EPICS Qt version 4 and the first release of the 4.1 series.
The main change for this major release is how bespoke property enumeration types are defined in each of the QE widgets.
In version 3, each widget defined it’s own version of common enumeration types used by the framework (e.g. the displayAlarmStateOption property) and made these available to designer with their own Q_ENUM (enumeration-type) declaration. In the actual xml ui file, using QELabel as an example, this would be saved as:
<property name="displayAlarmStateOption">
<enum>QELabel::WhenInAlarm</enum>
</property>
In version 4, essentially all common propery enumeration types are now specified in a single file (QEEnums.h) in a single object class (QE) together with a single Q_ENUM declaration. In the actual xml ui file this would be saved as:
<property name="displayAlarmStateOption">
<enum>QE::WhenInAlarm</enum>
</property>
The advantages of this are:
The disadvantages is ui files created using EPICS Qt version 3 may be incompatible with version 4, specifically if they have explicitly specified a value for one of the relocated enumeration properties. A python tool is avilable to upgrade ui files created with version 3 to be compatible with version 4.
Please see the upgrading to version 4 page more details.
Once upgraded, from a ui form designer point of view, creating and modifying ui files, with a couple of specific exceptions, looks exactly as it did with version 3. These exceptions are also detailed in the upgrading to version 4 guide.
If you have written your own widget plugin module, some code changes may be be required - the complier will help you find these. Please refer to the upgrading to version 4 guide.
During the migration to version 4 and ironing out any issues before releasing to the wider community a number of other on-going updates to the framework and the display manager - these are detailed below.
This widget has been modified to only generate statatisitcs using points explicity displayed on the chart; we do not include any points before or after (such as a value at time now which can adveresly skew the statistics of historical data).
Use simpler data structues to hold archive related PV meta data to greatly reduce the memory requirement. On our system, with approx 500000 (TBC) PVs this saved about 2.8GB.
Also, when the end time is invalid and less that start time, typically 0, set to the current rerad time. This avoids time range (TBC exact wording) errors.
Modified to have a value wrap-around/modulo capability. This only applies when the new wrapValue property is set true.
Hide unnecessary properties in designer, plus use standard code indentation.
Rework to get drag/drop working as actually intended. Also improved standard drag/drop to inhibit initiating drag with empty text.
Update protocol clients to be polymorphic and leverage off this in the QCaObject class.
Stop unwanted pixmap properties being seen in designer.
The QE_PVACCESS_SUPPORT environment variable is now honored by make. Previously, this was selected by the use to EPICS base 7 or later. Now is can be explicity defined as YES or NO by the user. If undefined, then the previous behaviour is preserved.
QEGroupBox, QEPvLoadSaveButton: Tidy up the setManagedVisible slot function.
Remove warning: implicitly-declared operator= warnings (exposed with gcc 11.4.1 on Alma 9), and other deprecated function calls.
windowCustomisation : check is same customisation is being applied - if so return.
Ensure the result of a str.toStdString().c_str() operation stays in scope.
Allow clip-board copy of ui filename/pathnames from windows tab.
Rather than just creating an empty window which needs the Open Window menu entry to be selected to do anything usefull, the New Window menu now invokes the open file dialog.
Added console to the config - this allow console (standardout) output on windows.
Please see the release notes 3.9 page for the the 3.9 series release notes.
Please see the release notes 3.8 page for the the 3.8 series release notes.
Please see the release notes 3.7 page for the the 3.7 series release notes.
Please see the release notes 3.6 page for the the 3.6 series release notes.
Please see the release notes 3.5 page for the the 3.5 series release notes.
Please see the release notes 3.4 page for the the 3.4 series release notes.
Last updated: Sat Aug 17 13:43:11 AEDT 2023