EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: CSS/BOY macro substitution problem
From: PaweÅ PrÄdki <[email protected]>
To: "Chen, Xihui" <[email protected]>
Cc: "[email protected]" <[email protected]>
Date: Thu, 05 Aug 2010 17:15:58 +0200
Hi Xihui,

I was sure I did use the BOY preference settings to set the default macro value but apparently I didn't. Thanks for that solution - it works the way I want it to.

The second issue has been resolved as well. Thank you. However, I was wondering whether the rules were documented somewhere? I couldn't find anything about them in the built-in help documentation.

Cheers,
Pawel

On 05.08.2010 17:03, Chen, Xihui wrote:
Hi Pawel,

You can give the default global macros from BOY preference settings, which can be set from menu CSS->Preference->CSS-Applications->Display->BOY. If you set cardno = 0 at here, I think your mainScreen will work as you wanted.

If you don't want to be bothered by Javascript, you can use rules for most of dynamic behavior needs. Please see attachment how the rule can invisble a group widget based on the selection in a combo box.

Thanks,
Xihui
________________________________________
From: PaweÅ PrÄdki [[email protected]]
Sent: Thursday, August 05, 2010 10:32 AM
To: Chen, Xihui
Subject: Re: CSS/BOY macro substitution problem

Here you go. Hopefully, it gets through this time.

On 05.08.2010 16:22, Chen, Xihui wrote:
The attachment is blocked. Could you send them again by compress them in a zip file?

Thanks,
Xihui
________________________________________
From: PaweÅ PrÄdki [[email protected]]
Sent: Thursday, August 05, 2010 10:00 AM
To: Chen, Xihui
Subject: Re: CSS/BOY macro substitution problem

Hi Xihui,

Thanks for such a quick answer. Please find the .opi files attached to
this message.

Hi Pawel,

I've started using the CSS ennvironment and BOY for creating GUIs but
I've come across a problem with macro substitution.

Thanks for using BOY and ask the questions!


I'm creating a GUI for a data acquisition system which consists of
several DAQ boards. My aim is to have only one XY graph visible at once
on the screen and be able to switch between them using, for example,
action buttons.

There may be other options which can make this task easier: using Tab widget or change the pv name of a trace from action button via script.

I don't really want to use the Tab widget and copy the same setup (mainScreen) to all the tabs and changing the names of the PVs connected to the widgets. This will require many manual changes if I want to add another DAQ card, for example. Macros work perfectly in this case.

Changing the trace pv name via script could be a good solution but I
have little experience with JavaScript. On the other hand, I still use
the macro value in other screens so I would like to keep it.

However, when I specify the macro value for the whole display I am not able to change
it using the action buttons. Somehow, the display macro value definition
trumps the one given by the action button.

The macros property cannot be changed via script during runtime. It is only loaded once during opi startup. The display macros will replace the same one from its parents.


The only way I was able to make it work was not specifying any display
macro value. This, however, results in an ugly first screen where all
the controls are disconnected since the macro is undefined. Clicking one
of the action buttons connects to the correct card.

Still cannot understand that clearly. Could you send me the opi files?

When you run the mainScreen.opi the $(cardno) macro is not expanded because it is not defined at the global level. Clicking one of the CARD buttons replaces the current mainScreen with the same screen but with the $(cardno) macro defined. I would like to start the application with, for example, cardno=0 and then change it according to the button pressed. It was possible in EDM.

Also, maybe you are able to answer another question. In the GroupConfig
screen there is a group of controls (Signal Amplitude, Signal Phase)
that I want to become invisible if one of the options in the nearby
Combobox is chosen. Is it necessary to use JavaScript to do so? Would
you be able to give me a hint how to do this?


Thanks, Xihui

Thanks, Pawel



Replies:
RE: CSS/BOY macro substitution problem Chen, Xihui
References:
CSS/BOY macro substitution problem PaweÅ PrÄdki
RE: CSS/BOY macro substitution problem Chen, Xihui
RE: CSS/BOY macro substitution problem Chen, Xihui

Navigate by Date:
Prev: RE: CSS/BOY macro substitution problem Chen, Xihui
Next: RE: CSS/BOY macro substitution problem Chen, Xihui
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: CSS/BOY macro substitution problem Chen, Xihui
Next: RE: CSS/BOY macro substitution problem Chen, Xihui
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·