Ticket #886 (accepted defect)

Opened 8 years ago

Last modified 7 years ago

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 8 years ago by bdezonia

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

comment:2 Changed 8 years ago 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 8 years ago by bdezonia

Workaround also added to AddData and DeleteData

comment:4 Changed 8 years ago by curtis

  • Blocking 11 added

comment:5 Changed 8 years ago by curtis

  • Blocking 1051 added; 11 removed

comment:6 Changed 7 years ago by bdezonia

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

comment:7 Changed 7 years ago by curtis

  • Blocking 1052 added; 1051 removed

comment:8 Changed 7 years ago 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 7 years ago by curtis

  • Blocking 1357 added

comment:10 Changed 7 years ago by curtis

  • Blocking 1052 removed

comment:11 Changed 7 years ago by curtis

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

comment:12 Changed 7 years ago by curtis

  • Blocking 1697 added; 1357 removed
Note: See TracTickets for help on using tickets.