g+
g+ Communities
Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013 
<== Date ==> <== Thread ==>

Subject: Re: EDM Related Displays
From: Kay-Uwe Kasemir <kasemirk@ornl.gov>
To: Robert Emery <duma@u.washington.edu>
Cc: tech-talk@aps.anl.gov
Date: Fri, 02 Mar 2007 16:10:22 -0500

On Mar 2, 2007, at 15:51 , Robert Emery wrote:



I am using edm to set up operator displays. There are instances where I
would like to open an edm display using a related display button and at
the same time have another edm display (not the one with the related
display button in it) close.


For example, I have a main menu display along the left of the screen and
a beamline display along the bottom. I would use related display
buttons in the main menu display to call up different beamline
displays. If a new beamline related display was selected from the main
menu, I would like it to open and I would like the existing beamline
display (that had previously been opened from the main menu) to close.


Any ideas?


Hi:

I don't think you can close another display via a related button.
But for what you want to do, this might work:

On one big display, you have a row of buttons on the top
or along the left to select a sub display,
then a big "embedded display" area using the rest of that
display.

So that "embedded window" shows your related screen within
the original screen.
The buttons can select which one.


Detail:


The embedded window gets configured to display
one of a list of related displays within its window
based on the value of a PV.

The row of buttons of course writes 0, 1, 2, ... to that
selector PV.

The added trick: For that selector PV, you don't use a PV
on an IOC, because that would mean that every instance of that
screen would show the same embedded sub-display.
Instead, you use a local EDM PV, local to your display instance.
Syntax for that PV:

\LOC\$(!W)MySubSelector=i:0

The idea behind this mad looking PV:
\LOC\ means local, not ChannelAccess
$(!W) gets replaced by the window ID,
so this creates a unique PV
=i:0 creates an integer, initialized with 0

The message buttons use the same "\LOC\$(!W)MySubSelector=i:0"
and write 0, 1, 2, 3, ....

I always get confused about the "i:0":
Whichever widget happens to get initialized first will create
the integer PV with value 0.
On subsequent use, the "=i:0" is really ignored.



References:
EDM Related Displays Robert Emery

Navigate by Date:
Prev: Re: EDM Related Displays Emmanuel Mayssat
Next: 3.13.6 daylight-savings follies Laznovsky, Michael
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013 
Navigate by Thread:
Prev: Re: EDM Related Displays Emmanuel Mayssat
Next: 3.13.6 daylight-savings follies Laznovsky, Michael
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  <20072008  2009  2010  2011  2012  2013 
ANJ, 10 Nov 2011 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·