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  2010  2011  <20122013  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  2010  2011  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

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  <20122013  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  <20122013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·