version 4.4.0 can be downloaded below
List of modifications for version 4.4.0
Windows MSI packages as well as an OSX package are available too. You will also find caQtDM on the Apple Store. For linux a build can be initiated with caQtDM_Build.
The EPICS display manager MEDM is a very powerful tool with many features and satisfies most of the needs for synoptic displays. However MEDM is based on MOTIF/Xt and X11, systems/libraries that are getting into age. Moreover applications using those systems are difficult to maintain and to extend. At PSI a new Qt based application was written (download below), reproducing the functionality of MEDM. Moreover a parser was written to convert the MEDM files into Qt files, the resulting displays being an exact reproduction of the MEDM displays.
It has to be noticed that the widgets used are not directly epics aware. The idea was to strictly separate the control system from the display part, in order to be able to add other controlsystems if necesssary (which is still the case for our high intensity particle accelerator).
An application is never finished and can always be improved and new things can be added. This is therefore also the case for caQtDM. The widgets could be improved, not everything has been finished and bugs will be found.
We consider this software as an open source software. Try it, use it and improve it. Yust give us your improvements and bug fixes back to us, so that we can integrate them.
The downloadable tar file contains all sources and build procedures. In the parser directory you will find the adl to ui converter.
The application itsself consists of an main programm (caQtDM) using the display class from a shared object library (libcaQtDM_Lib). The control widgets are given by the shared object library libqtcontrols.so or qtcontrols4.dll. The libraries have to be in the LD_LIBRARY_PATH for linux and for Windows you have to define the System path (you can also use scripts). For the designer and caQtDM the 3 plugin libraries have to be copied to the designer plugin directory.
While the display part is handled by the display class, you can build any application using this class with a designer developed ui file. The display class will take care of the controlsystem defined widgets. The other widgets you define like buttons or frames having to contain something you would like to define in your application can be handled (in order to use this feature contact the author)
caQtDM supports also .prc files. These files can be written by a text editor and are used at PSI. for their syntax take a look at some .prc files in directory caQtDM_tests.
Please give feedback if you are using it, found some bugs or made some additions
The application loads a stylesheet and ui files from the path defined by CAQTDM_DISPLAY_PATH or your actual directory. Inside the ui files a stylesheet can also be defined which is the case for the examples (one example proscanprobe.ui uses a different stylesheet given a different look as the other files). However many styles are defined by the widgets themselves and can not be modified
The following screen was created by using the file tests.ui. It contains all available epics related widgets of caQtDM.
Some more examples of caQtDM displays (click to enlarge):
Download | ||
caQtDM_4_4_0_x64.msi |
At APS they recorded a caQtDM Tutorial given by Jim Stevens and uploaded it to YouTube: https://www.youtube.com/watch?v=1vdSy0bsenI
4.2.0
new in 4.1.0
new in 4.0.3
new in 4.0.2
new in 4.0
new in 3.9.5
new in 3.9.4
new in 3.9.3
new in 3.9.1
new in 3.8.9
new in 3.8.7
new in 3.8.5
new in 3.8.4
new in 3.8.1
new in 3.7.8
new in 3.7.7
new in 3.7.6
new in 3.7.3
new in 3.7.0
new in 3.6.4
new in 3.6.2
new in 3.6.1 since 3.5.2
new in 3.5.2
new in 3.5.1
new in 3.5.0
new in 3.4.7
new in 3.4.6
new in 3.4.5
new in 3.4.4
new in 3.4.3
new in 3.4.2
new in 3.4.1
new in 3.4.0
new in 3.3.1
new in 3.3.0
new in 3.2.2
new in 3.2.1
new in 3.2.0
new in 3.1.1
new in 2.8 - 2.5
new in 2.5
new in 2.3
new in 2.1
new in 2.0
by courtesy of Zai Wang from synchrotron.org.au
Graphics | Graphics | Graphics | Description |
MEDM widget (from Doc) | EDM widget (from Doc) | CaQtDM | |
Line | caGraphics | ||
Rectangle | Rectangle | caGraphics | |
Oval | Circle | caGraphics | |
Arc | Arc | caGraphics | |
Text | Static Text | caLabel | |
Image | caImage | ||
GIF Image | caImage | ||
PNG Image | caImage | ||
HTML | ? Qt understands html text | ||
Dynamic Symbols | ? caImage | ||
Polygon | caPolyLine | ||
Polyline | Lines | caPolyLine | |
Monitors | Monitors | Monitors | |
MEDM widget (from Doc) | EDM widget (from Doc) | CaQtDM | |
Meter Monitor | Meter | caCircularGauge | |
Bar | Bar | caThermo | |
Text | Text Monitor | caLineEdit | |
Byte Monitor | caByte | ||
Byte | ? | ||
Cartesian Plot | caCartesianPlot | ||
Strip Chart | caStripPlot | ||
X-Y Graph | caCartesianPlot or caStripPlot | ||
Message Box | ? | ||
Symbols | caImage? | ||
Scale Monitor | caThermo | ||
Controls | Controls | Controls | Description |
MEDM widget (from Doc) | EDM widget (from Doc) | CaQtDM | |
Entry Text | Text | caTextEntry | |
Slider | Slider | caSlider | |
Menu | Menu Button | caMenu | |
Choice Button | Choice Button | caChoice | |
Message Button | Message Button | caMessageButton | |
Related Display | Related Display | caRelatedDisplay | |
Shell Command | Shell Command | caShellCommand | |
Menu Mux (multiplexor) | ? | ||
Multiplexor | ? | ||
Button | ? | ||
Motif Slider | caSlider | ||
Up/Down Button | ? | ||
Exit Button | ? | ||
Radio Box | caChoice | ||
Wheel Switch | caNumeric | ||
Composite | Use caFrame and caInclude | ||