NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #886 (accepted defect)

Opened 2011-11-23T10:52:50-06:00

Last modified 2013-03-19T11:06:17-05:00

Update UI widgets to support dynamic changes to input ranges

Reported by: bdezonia Owned by: curtis
Priority: major Milestone: imagej2-b10-compatibility
Component: UI Framework Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1697

Description

There are cases where DynamicPlugins would like to update their associated UI widgets to reflect current data ranges. For example, if you want to delete an axis the allowed range of the plane to keep changes when you select a new axis. These range changes are currently not supported.

Update the various UI widgets to support dynamic changes. We could start with Swing only for now and add others in a later cycle.

The specific code changes required touch ChoiceWidgets and NumberWidgets. For each a range of values could grow or shrink. We need to update refreshWidget() for these classes.

In refreshWidget() we can get min, max, or set of values, compare to current, and update as needed. It's important to update scrollbar, spinner, and slider ranges to reflect new value ranges.

Note we might have to set min, max, and value in one call because the widgets can get unhappy if you try to set one of these outside a value consistewnt with the others.

Change History

comment:1 Changed 2011-11-23T11:15:43-06:00 by bdezonia

  • Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2

comment:2 Changed 2011-11-23T15:27:07-06:00 by bdezonia

Note: a workaround of this issue was put in place in DeleteAxis. It has a callback that always clamps the position to the current axis range. It works for now. It has one gotcha. One can enter a value that is out of range via the keyboard and then select OK with the mouse. When the value is out of bounds the plane position used is the nearest endpoint. This could be unexpected behavior for the user. Make sure we address the ticket for beta2.

comment:3 Changed 2011-11-23T16:42:19-06:00 by bdezonia

Workaround also added to AddData and DeleteData

comment:4 Changed 2012-02-26T21:56:42-06:00 by curtis

  • Blocking 11 added

comment:5 Changed 2012-03-05T14:41:36-06:00 by curtis

  • Blocking 1051 added; 11 removed

comment:6 Changed 2012-05-14T11:01:26-05:00 by bdezonia

  • Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4

comment:7 Changed 2012-05-15T09:41:54-05:00 by curtis

  • Blocking 1052 added; 1051 removed

comment:8 Changed 2012-08-03T10:37:02-05:00 by curtis

  • Owner changed from bdezonia to curtis
  • Status changed from new to assigned
  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta5

comment:9 Changed 2012-08-03T10:40:27-05:00 by curtis

  • Blocking 1357 added

comment:10 Changed 2012-08-03T10:41:04-05:00 by curtis

  • Blocking 1052 removed

comment:11 Changed 2013-03-19T10:59:00-05:00 by curtis

  • Status changed from assigned to accepted
  • Milestone changed from imagej2-b7-ndim-data to imagej2-b10-compatibility

comment:12 Changed 2013-03-19T11:06:17-05:00 by curtis

  • Blocking 1697 added; 1357 removed