Subject: |
Re: Operator display description, to get off QT-based tools: Expressions of interest requested |
From: |
"J. Lewis Muir" <[email protected]> |
To: |
EPICS Tech Talk <[email protected]> |
Date: |
Wed, 29 Feb 2012 10:43:40 -0600 |
I'll add the following. A good display tool...
* Should support widgets and behavior found in common toolkits
of the present day. If new widgets or behavior are added to
common toolkits, those need to be considered for addition into
the display tool.
For example, MEDM doesn't have a checkbox widget. Why not?
This is something I've always wished for in MEDM. Another
example is support for disabling a widget. MEDM doesn't
support this, so if I have a button I want to disable, I hack
it with two buttons on top of each other, where one looks
disabled and the other not, and toggle their visibility to
indicate enabled or disabled.
More generally, people creating displays are often trying to
make displays that look like the GUIs on the computers they
most often use or on the computers where they know the GUIs
will be used. When the widgets don't exist in the display
tool, they start doing the hack stuff Kay is talking about,
basically creating widgets and behavior with display tool
graphics primitives, etc. If the display tool provided more
of what people want (i.e. the ability to make displays like
their favorite GUIs), I think we would have far fewer hacked
displays.
* Should not use native widgets. Sorry, I know this flies in
the face of Qt and every other cross-platform GUI toolkit that
attempts to use native widgets. The idea of being able to
design one GUI that will look right on a wide range of
platforms is just broken. My experience is that it's not
feasible. There are different standard spacings, colorings,
widget usages, etc. across platforms. Invariably, a display
designed perfectly for Windows will look strange or broken on
Mac OS X.
In an application, one can get around this by basically
creating a separate display for each target platform, by using
inheritance and tweaking things, or by using some kind of
abstraction to hide the differences to get the window to
render correctly on whatever platform the application is
running on. That's a lot of work, but it's possible, and it
still usually beats developing and maintaining a port of one's
application for each supported platform. But with a display
tool, that's not really workable since the designer is not
writing code.
The best solution is to use emulated widgets that will look
the same on all platforms. No, the displays will not look
like the other native applications on the computer, but they
will at least look correct and as the designer intended on all
platforms.
* Should provide built-in help support for the display designer
to use. Make it easy to create help content and link to it
from the display. For example, make it easy for the designer
to place a help symbol (e.g. question mark) somewhere on a
display that the user can click to get context-sensitive
documentation authored by the designer.
* Should support window resizing (and support disabling window
resizing). When I create a display, I should be able to
specify how widgets are laid out (resized, distributed, etc.)
when the window is resized. I've always wished for this in
MEDM.
Lewis
- References:
- Operator display description, to get off QT-based tools: Expressions of interest requested Kasemir, Kay
- Navigate by Date:
- Prev:
RE: QT-based tools: Expressions of interest requested Elder Matias
- Next:
Re: Operator display description Andrew Johnson
- 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:
RE: Operator display description, to get off QT-based tools: Expressions of interest requested Touchard Dominique
- Next:
Re: Operator display description Andrew Johnson
- 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
|