Hi James,
I'm not exactly sure what you would like to accomplish but it sounds as if you would like to use an existing screen as a template. This is doable, but the process is not integrated into the object creation menus.
Suppose you have a template screen that contains one control and one readback. The control PV might be given as $(db):$(pv)Ctl and the readback as $(db):$(pv)Read. This example assumes a simplistic naming convention (which you must externally administer and about which edm knows nothing). In this case, $(pv) is the parameter to be varied implying that all names will be of the form $(db):<pvName>Ctl and $(db):<pvName>Read. Clearly, no one would use a scheme this simple but it might make the example easier to follow.
Before saving the screen you open the "Display Properties" dialog and click the button at the bottom labeled "Template Params". This dialog contains a multiline text entry field labeled "Info" and 30 parameter fields labeled "Param1" through "Param30". In the info field, you may put simple free-form instructions like "Enter the value for pv". For this example, you would enter "pv" into the "Param1" field. After making these entries, save the file.
To use this template file in another screen, you do the following:
1. create a new screen (or open an existing one)
2. Middle click and choose "Insert File as Template"; a dialog pops up
3. Choose the file from the file selection dialog; a dialog pops up displaying Info and containing a text entry field labeled "pv" (from above)
4. Enter the value for "pv"
After the "OK" button is clicked, the contents of the template file are inserted and each occurrence of "pv" in the above names is replaced with the contents entered in step 4 above.
The template file dialog box uses the current path location so you might have a template directory containing a hierarchy of subdirectories representing various categories. You would select the appropriated path location before performing the "Insert File as Template" process. Clearly, the work flow could be improved to make things more natural but no one to my knowledge (except myself) even uses this feature.
Hope this is helpful,
John Sinclair
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Young, James R.
Sent: Tuesday, August 27, 2013 6:58 PM
To: [email protected]
Subject: New edm widgets
Hello,
I would like to create widgets that show up as Objects in the edm builder. Instead of just Graphics/Line or Monitors/Meter (for example) there would also be an option like "Controls/NEWOBJECT," where NEWOBJECT is a widget that accepts PVs and has a list of fields that should be completed. I realize you can do this by simply creating an embedded window called NEWOBJECT and referencing it wherever you need to, but this often seems to lead to a complicated process of locating the original file to edit it.
To my knowledge, the only way to add a new object is to actually write a new class file (like activeLineClass.cc) and header file (like activeLineClass.h) and add the edmObjects file like "activeLineClass $(EDMLIBS)/libEdmBase.so Graphics Lines." Is this the only way to do this? Or is there possibly a way to create an embedded window and translate this to an object.
Thank You,
James
- References:
- New edm widgets Young, James R.
- Navigate by Date:
- Prev:
Re: StreamDevice communication problems Dirk Zimoch
- Next:
Is there an official EPICS collaboration membership? Jeong Han Lee
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
New edm widgets Young, James R.
- Next:
has anyone used ipc-100 of ADVANTECH company as softioc? Silver
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|