Hello Mike:
On Apr 12, 2013, at 10:31 , Vítek Michal wrote:
> I am working on a HMI that will be used in a laser lab by a personal with protective glasses (no colors are visible). Therefore I would like to modify widgets behavior regarding the alarm indication. My idea is to have the border of the widget blinking and to show also small pictogram indicating type of the alarm in the upper left corner of the widget. Thus I think I will need to modify abstract classes that are extended by the widgets to add this functionality. Does anyone know what class/classes needs to be changed? Or is there any other recommanded way? (I can make the blinking effect easily with the rules, but how to show a pictogram I do not know…).
The code that reacts to alarm severity changes and updates the widget's border or background color or foreground color, depending on the widget configuration, is in org.csstudio.opibuilder.editparts.PVWidgetEditpartDelegate#registerBasePropertyChangeHandlers().
I would not, at this time, go in there and change it. That code uses the utility.pv API, currently optionally presented with a wrapper of the PVManager (See BOYPVFactory). In the fullness of time, it should be ported to the plain PVManager API. In any case, it would be better to coordinate that with Xihui, the author of that code.
The overall idea of having some way of presenting alarms in a way that supports the color blind or those working as you describe is of course good.
You could help to get there by exploring what it should look like.
You can, for example, put separate triangle etc. markers next to the widget and change the visibility of that with a rule.
Once we have a good idea how to represent alarms that way, it could be added to the basic functionality of each widget: alarm sensitive border, background color, .., widget decoration pictogram.
Somewhat related to this is the idea of 'styling' a display. Right now we have a 'schema' do define defaults for newly created widgets.
It would be nice to be able to 'style' them after the fact. Like applying a Cascading Style Sheet to HTML, how about allowing CSS for CSS displays.
So in the main control room, your display would use the "normal" style sheet, but in the lab you'd apply a "no_colors" style sheet that sets higher contrast colors, sets the "display alarms via widget decoration pictogram" property of all widgets.
This would require:
* something that reads a CSS file (should be very easy to find for Java)
* a 'class' attribute for each widget so that you can apply styles to widgets based on type, id and class.
* some engine that applies the CSS to widgets right after loading a *.opi file
This project is in the early stage of: Yes, we think that would be useful and fundamentally, we have an idea how to do it.
Thanks,
Kay
- References:
- CSS BOY - global widget properties modification Vítek Michal
- Navigate by Date:
- Prev:
Re: autosave limitation? Tim Mooney
- Next:
rdb archiver and eclipse help James F Ross
- 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:
CSS BOY - global widget properties modification Vítek Michal
- Next:
rdb archiver and eclipse help James F Ross
- 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
|