EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2012  2013  2014  2015  <20162017  2018  2019  Index 2012  2013  2014  2015  <20162017  2018  2019 
<== Date ==> <== Thread ==>

Subject: Re: EPICS CA Interface for caQtDM and epicsqt
From: "Mezger Anton Christian (PSI)" <[email protected]>
To: "[email protected]" <[email protected]>, "[email protected]" <[email protected]>
Cc: Zai Wang <[email protected]>, "Ernest L. Williams Jr." <[email protected]>
Date: Wed, 24 Feb 2016 16:06:27 +0000
Dear all,

I just wanted to attract your attention to the fact that a new version of caQtDM is out now. A lot of features have been build in or bugs repaired (we always will find some). Here are the most important features:

# 4.0.2
# caQtDM can now be told to load a specific stylesheet file by the option -stylefile filename
# option -noResize has been implemented now
# capolyline initialisation was missing for proper resize
# new options on command line available for caQtDM: -cs for specifiying default plugin to be used, -options for passing options (key, value pairs) to plugins
# use now the QStringlList editor in Designer for semicolumn separated strings
# mobile handling of config files slightly modified
# adjustment of fonts for android modified / apply button of caapplynumeric is now resizable
# resizing was perturbed by a resize forced by incoming channel data.
# the vertical label has now an alignment property
# cacartesianplot was not always well triggered when a trigger channel was specified, now corrected
# camimebutton added in order to start applications defined through the file extension
# cawavetable can now adapt its rows and columns automatically when zero is specified.
# an enum can be display in calineedit as number when enumeric is specified as format (otherwise as string in all cases)
# a multistring widget has been added to display waveforms with chars and strings (in case of chars a \n will make a new line)
# initialisation of the first stripplot values with nan instead of zero. Value zero was confusing.
# added the possibility to clear the messages through the file menu
# in case of -attach with a huge macro, the shared memory was designed too small. now 2 kBytes can be transferred
# camultilinestring has been implemented in order to mainly display char waveforms where carriage returns (ascii code 13) will produce a new line
# cameter was not updating its label for Qt5; this has been corrected
# some possible buffer overrun conditions corrected
# one can choose now the number of divisions for x on castripplot
# tooltip for properties are now present in psi patched version of Qt4.8.2 and for Qt5.6.0 and higher
# tooltip for caQtDM objects will integrate the tooltip given by the designer
# signal emit of cacalc has now also its integer and double value (this way you can for example switch the tabwidget pages with a cacalc that is updated by a soft/real channel)
# pep emulation has been updated by cosylab
# some slots have been added in order to link signals and slots in designer
# QStackedWidget will also optimize its io for visible/hidden tabs
# color handling for calineedit has been slightly changed in order to be able to get white on red in case of a major alarm (wanted for pep handling)
# cartesianplots have now a group property in order to be able to align the horizontal scale (vertical label rectangle gets same width)
# when a pep file and an ui file were displayed by caQtDM, some resize problems and a problem with capolyline was detected; is now solved
# cainclude can handle now multiple instances of the same file in column, row or rowcolumn mode and use for each instance another macro

On Github you will find also the latest sources, actually in the development branch is version 4.1 with next enhancements:
# 4.1.0
# now a widget can be added (see caLineDemo) without having to change caQtDM_lib. An interface has been defined in order to perform the datacuisition inside the widget class. (thanks zai)
# caLineDemo widget is an example for a fast on QWidget based line monitor
# caMimeDisplay will now take macros into account
# it is now possible to pipe ui data to caQtDM
# reload management had to be changed due to some Qt memory management problem
# eliminated some memory leaks
# corrected wavetable string crash
# one can now define if the size of an included ui file will be size adjusted or not
# cabyte, cabytecontroller performance were bad and had to be be corrected
# camenu and catogglebutton color handling is now done by stylesheet and not with palette colors. This in order to prevent cascading stylesheets, that have precedence over palette colors, to interfere.
# default property for label set to transparent colour
# window for included filenames shows now the number of times and average loadtime for loading.


As usual I really would like to know who is using caQtDM as well as on which platform. Please give us this information in order to have a better idea about its usage.

best regards

Anton



On 16 Feb 2016, at 09:11, Mezger Anton Christian (PSI) <[email protected]> wrote:

Hi Zai,

many thanks for your remarks. The way you implemented a few widgets is certainly a way that one could go. I could implement in a newer version of  caQtDM
this behaviour. However I will not do that for the existing widgets, while I prefer to have the things in one place instead of spread all over the widgets. ButI will implement also your structure with some simple template widget, so that one could use it also the way you proposed.

P.S. I have no clue actually who is using caQtDM. In our Lab it is the standard for synoptic displays as well as some caQtDM_Lib applications. I proposed at some point to create an user list, but it had no echo. However caQtDM is on Github, where hints and problems can be documented.

best regards

Anton

On 16 Feb 2016, at 07:14, Zai Wang <[email protected]> wrote:

Hi Anton,

While ago - with caQtDM-3.8.9, I did some investigation on how to develop caQtDM-based widgets with caQtDM_Lib changes if possible.  A prove-concept prototype was implemented to demonstrate a possible short-term solution. So the developers(e.g. someone like Tim Mooney: aps.anl.gov) from the EPICS community could be much easy to create caQtDM-based widgets(include deriving from existing caQtDM widgets).

The caQtDM has been improved a lot since then (now up to version 4.0.2).

Before I forgot all that, I would like to put the idea together as a recommendation.

During last weekend, I merged my changes into caQtDM-4.0.2 for the concept demonstration only.

Hope it helps to promote your caQtDM framework further especially for SLAC and EPICS Qt in general.

 

Brief description below and one tar file Attached - a few existing files changed and two new interface files created

 

<image001.png>

 

 

Best regards

 

Zai Wang

=============================================================================================================

Subject:
RE: EPICS CA Interface for caQtDM and epicsqt
From:
"Mooney, Tim M." <[email protected]>
To:
Zenon Szalata <[email protected]>, Andrew Rhyder <[email protected]>, "Mezger Anton Christian (PSI)" <[email protected]>, "Williams Jr., Ernest L." <[email protected]>
Cc:
"[email protected]" <[email protected]>, "Shankar, Murali" <[email protected]>, "Babbitt, Alisha" <[email protected]>
Date:
Mon, 23 Mar 2015 21:18:01 +0000
For me, the advantage of having both caQtDM and epicsqt is that I can have a nearly exact replacement for MEDM, and also add custom widgets in an easily maintainable way.  At least, I hope this is or will be the case.  Here's why:
 
I wrote a custom widget for caQtDM (to display 2D raster-scan data as they are acquired), and added it to several versions of caQtDM as they became available.  It was great; I could never have done this with MEDM.  Now, I don't want to bother Anton Mezger with any additional maintenence that my widget might require, and it isn't ready for general distribution in any case.  But adding a custom widget to each new release of caQtDM is a complicated and error prone process, involving edits to nine sections of six caQtDM files, in addition to adding source files for the custom widget, and maybe editing them for compatibility with the new version of caQtDM.  It's not going to be exactly the same edits every time, of course, so some study is required in advance.  Every time.  I did it three times, and that's enough to persuade me to look for an alternative way to add custom epics-aware widgets.
 
What I would prefer is to be able to maintain my custom widget in my own repository, and use qt's native ability to include widgets from different sources into an application.  This is what I think epicsqt's widget model will enable me to do, though I'm not yet far enough up the learning curve to know that it will work or how to do it.
 
Tim Mooney ([email protected]) (630)252-5417
Software Services Group (www.aps.anl.gov)
Advanced Photon Source, Argonne National Lab
 
 
________________________________________
From: [email protected] [[email protected]] on behalf of Zenon Szalata [[email protected]]
Sent: Monday, March 23, 2015 2:07 PM
To: Andrew Rhyder; Mezger Anton Christian       (PSI); Williams Jr., Ernest L.
Cc: [email protected]; Shankar,      Murali; Babbitt,        Alisha
Subject: Re: EPICS CA Interface for caQtDM and epicsqt
 
Hi All,
I have been using epicsQT for a number of years.  My approach is to use
epicsQT widgets only when Channel Access is needed, for anything else I
use Qt widgets.  Also, I did not find the QEGui display manager useful,
since I prefer to create well defined standalone applications.
The related display I implement with a Qt push button and a little C++
code around, which works perfectly well for me.  I am using QEForm
widget the way I would use Embedded Window widget in EDM.
I have not looked at caQtDM, since I became aware of it some time after
I started using epicsQT.  I wonder what is the advantage of combining
epicsQT and caQtDM?  Perhaps caQtDM has some useful widgets which might
be missing in epicsQT?  In my opinion, epicsQT is very well written and
reasonably complete and yet when I find it lacking, I just subclass my
own widget either from a Qt widget, QWT widget, or from an epicsQT
widget, to get what I need.
Now, my concern is that should epicsQT and caQtDM merge into one
package, then all my epicsQT based application would stop working. But
perhaps this kind of merger is not what is being contemplated.
Anyway, my 2 cents,
Zen

 

 

<caqtdm4.0.2.tar.gz>



References:
RE: EPICS CA Interface for caQtDM and epicsqt Zai Wang
Re: EPICS CA Interface for caQtDM and epicsqt Mezger Anton Christian (PSI)

Navigate by Date:
Prev: Re: EPICS CA Interface for caQtDM and epicsqt Mezger Anton Christian (PSI)
Next: caQtDM Mezger Anton Christian (PSI)
Index: 2012  2013  2014  2015  <20162017  2018  2019 
Navigate by Thread:
Prev: Re: EPICS CA Interface for caQtDM and epicsqt Mezger Anton Christian (PSI)
Next: caQtDM Mezger Anton Christian (PSI)
Index: 2012  2013  2014  2015  <20162017  2018  2019 
ANJ, 03 Jan 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·