Value List Widget

From ParaQ Wiki
Jump to navigationJump to search

This page describes the design for a value list editor. It is currently used in ParaView in the Contour filter.

Current vtkContourFilter UI, in ParaView 2.4. The value list editor occupies the 'Contour Values', 'Add Value', and 'Generate Range of Values' portion of the UI.
Proposed Value List widget, which supports all current functions through direct manipulation, right mouse menu, and function buttons. Here's the current design
Expanded, super-cool value widget, which includes a histogram widget that is coordinated with the list. Here's the current design

In general, I believe that we should have as much 'active content' on the screen as we can, and get rid of things that should be modal dialogue boxes, or that can be supported through direct manipulation of a widget. This proposal describes a directly-manipulated list of values, meant to replace the UI that ParaView currently uses for creating a list of values in the Contour filter UI.

The proposed design includes all the current functionality, but presents it as an editable list of values.

Design

The design and interactions for this widget are spelled out in this file. Admittedly, this is a 'dogmatic' design, in which the entire set of interactions is supported through right mouse clicks. There are alternatives to this that have buttons at the side, etc., but I wanted to see if there was a good way to support the uses with a very simple UI that had no wasted space.

Issues

  • First obvious one is that the entry of a range of the form '10 vals from 1e-10 to 1e14' might not be that easy to understand, and it may be an expert mode thing. In that case, the New Range menu item would be 'New Range ...', and a dialogue would pop up with easy scmeezy no-fault widgets in it.
  • Feedback, especially in the case of editing the range phrase, is essential.
  • Finally, there is very little indicating to the user how the list is to be used, and it may not be possible to get away with the 'no button' approach to this. However, I do think we can at least get rid of the 'values' and 'value range' portions of the interface, since those occupy screen real estate even when they are not doing anything. These are essentially modal dialogue boxes that remain on the screen all the time.

Additions

  • There should be a 'Scientific Notation' menu item that is checked or unchecked. This controls the format of all the displayed items. Users can enter a non-scientific notation number, even if this item is checked.
  • If we really want to get fancy, we can connect this to a histogram widget, and use that to select and display the values. The list and the histogram could be used together, for added goodness.
  • Color coordination with the lookup table would be great. I think a swatch of color between the eye icon and the text would be nice. Perhaps clicking on it would bring up the LUT editor.
  • Text should be directly editable. If the user wants to change a value, use the 'normal' windows edit-in-place interactions.
  • Indicate Range
    • The current variable's range should be shown somewhere.
    • If a value isn't valid on the current range, that should be indicated. Check the design document for ideas on that.