Ticket #2480 (closed: fixed)

Opened 10 years ago

Last modified 5 years ago

Display Default Values and Required Properties in Algorithm Dialogs

Reported by: Peter Peterson Owned by: Peter Parker
Priority: major Milestone: Release 3.2
Component: GUI Keywords:
Cc: Blocked By:
Blocking: #9149, #9356 Tester: Peter Peterson

Description (last modified by Peter Parker) (diff)

  • Where a property requires user input its name will be shown in a bold font.
  • Where a property has a default value it will be shown in grey placeholder text.
  • Where a property is about to overwrite an existing workspace, show an icon.
  • Where a property has been restored from a previously-entered value, show an icon.

Tool tips should show relevant information.

Change History

comment:1 Changed 9 years ago by Nick Draper

  • Owner set to Peter Peterson
  • Status changed from new to assigned

comment:2 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 28 to Iteration 29

Bulk move of tickets at the end of iteration 28

comment:3 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 29 to Iteration 30

Accepted and assigned tickets moved at iteration 29 code freeze

comment:4 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 30 to Iteration 31

Bulk move of tickets to iteration 31 at the iteration 30 code freeze

comment:5 Changed 9 years ago by Nick Draper

  • Milestone changed from Iteration 32 to Iteration 33

Moved to iteration 33 at iteration 32 code freeze

comment:6 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.1 to Release 2.2

Moved at end of release 2.1

comment:7 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.2 to Release 2.3

Moved at the end of release 2.2

comment:8 Changed 8 years ago by Nick Draper

  • Milestone changed from Release 2.3 to Release 2.4

Moved to milestone 2.4

comment:9 Changed 8 years ago by Peter Peterson

  • Milestone changed from Release 2.4 to Release 2.5

comment:10 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.5 to Release 2.6

Moved to r2.6 at the end of r2.5

comment:11 Changed 7 years ago by Nick Draper

  • Status changed from assigned to new

comment:12 Changed 7 years ago by Nick Draper

  • Component changed from Mantid to Framework

comment:13 Changed 7 years ago by Nick Draper

  • Milestone changed from Release 2.6 to Backlog

Moved to backlog at the code freeze for R2.6

comment:14 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned

Bulk move to assigned at the introduction of the triage step

comment:15 Changed 7 years ago by Nick Draper

  • Owner changed from Peter Peterson to Peter Parker

comment:16 Changed 7 years ago by Peter Parker

  • Blocking 9149 added

comment:17 Changed 7 years ago by Peter Parker

  • Status changed from assigned to inprogress
  • Milestone changed from Backlog to Release 3.2
  • Component changed from Framework to User Interface
  • Description modified (diff)
  • Summary changed from Default values displayed in property guis to Display Default Values and Required Properties in Algorithm Dialogs

comment:18 Changed 7 years ago by Peter Parker

Refs #2480 - Display default values and mandatory props in alg diags.

Take same definition of mandatory as WikiMaker, i.e. when a property needs input from the user or else a red asterisk will appear.

Account for instances of EMPTY_* and *_MAX macros. Catch a few that even WikiMaker doesn't.

Changeset: b0f0b220916fee4e54f8c36a6b8ecb4cf8ceaf4c

comment:19 Changed 7 years ago by Peter Parker

Refs #2480 - Fix compiler warnings.

Changeset: 6b5886b3a92a794f9a43d0b9fdb6f5845827ffb1

comment:20 Changed 7 years ago by Peter Parker

Refs #2480 - Fix compiler warning.

A quick google indicates this could be a bug in the version of GCC used on RHEL6. We use boost::optional elsewhere in Mantid, so hopefully this will fix.

Changeset: 83399d52ab17b0d9e5a32a99b21f9f38c0be0190

comment:21 Changed 7 years ago by Peter Parker

Refs #2480 - Fix compiler warning.

Okay, we use get() instead of dereferencing elsewhere, so this should work.

Changeset: bea4d5b7df17145ee74ef0ad450d7d21658d1dd7

comment:22 Changed 7 years ago by Peter Parker

Refs #2480 - Abandon use of boost::optional.

After a discussion with Martyn it seems likely that for the version of GCC and/or Boost we have for RHEL6 we are unable to return boost::optional objects from functions without getting the warning I've been trying to fix. Elsewhere, we pass them into functions by reference and therefore avoid the problem.

I'm not a huge fan of that option, so in this case exceptions will provide the functionality I need instead.

Also, renamed a function and some variables to make things clearer.

Changeset: 34d31448b985ee62f156c6fcfbd60d5f0b9cc9c9

comment:23 Changed 7 years ago by Peter Parker

Refs #2480 - Only round extremely long numbers.

Changeset: fb3fffeb90a00d6a3db348b30dfd702823ce3dc7

comment:24 Changed 6 years ago by Peter Parker

  • Description modified (diff)

comment:25 Changed 6 years ago by Peter Parker

Refs #2480 - Show further information in prop widgets.

  • Show icon when workspace is about to be replaced.
  • Show icon when value has been restored from a previously-entered value.

Changeset: dc8a6cc9f042e9071f87831873402a56ce947ef4

comment:26 Changed 6 years ago by Peter Parker

Merge branch 'feature/2480_show_required_props_and_default_vals_in_alg_diags' into develop

Conflicts:

Code/Mantid/MantidQt/API/CMakeLists.txt

Refs #2480.

Changeset: 018a586b7478f18d76fe5aba4b0fd05ee5a22ce3

comment:27 Changed 6 years ago by Peter Parker

Refs #2480 - Fix doxygen warnings.

Changeset: 7c4b1fbd8334a48a166a255a021d6d050b7915ee

comment:28 Changed 6 years ago by Peter Parker

  • Status changed from inprogress to verify
  • Resolution set to fixed

Ticket Scope:

These changes will only work for dialogs that use instances of PropertyWidget, which at the moment are the generic, dynamically-generated algorithm dialogs as well as the StartLiveData dialog. All other custom dialogs (i.e. LoadAscii, CatalogPublish, etc) will be unchanged. #9149 has been opened to make the use of PropertyWidget and its child classes more widespread.

Also, please realise that external code has very limited access to algorithm logic. If a property is validated inside an algorithm's exec() method rather than in init() using a validator, then there is no way for the dialog to know about this and so no way, for example, to work out that a property is required and its name should put in a bold font.

In general, I've aimed to do at least as well as the WikiMaker does when displaying optional/required properties and showing default values. #9153 has been opened to review problematic algorithm properties exposed by this ticket and by WikiMaker.

To Test:

Ensure that the four proposed features in the ticket description have been implemented and work as you would expect.

Since these changes are supposed to give visual clues to users to give a better understanding of what's going on, if something is not obvious to you (even after reading tool tips) then feel free to bounce the ticket and suggest a way that the feature could be improved.

Finally, note that the "replace" and "restored" icons are different to the "fading background" functionality I proposed in the Mantid Review meeting on this topic, but hopefully are more intuitive. In any event, getting this in now will mean people have plenty of time to use it and suggest improvements before the release.

Last edited 6 years ago by Peter Parker (previous) (diff)

comment:29 Changed 6 years ago by Peter Peterson

  • Status changed from verify to verifying
  • Tester set to Peter Peterson

comment:30 Changed 6 years ago by Peter Peterson

  • Blocking 9356 added

comment:30 Changed 6 years ago by Peter Peterson

  • Blocking 9356 removed

I am closing this ticket, but there is a bug described in #9356.

comment:32 Changed 6 years ago by Pete Peterson

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/2480_show_required_props_and_default_vals_in_alg_diags'

Full changeset: 6b79121a8f2a7f5885c56950a0acf11f0eefad9f

comment:33 Changed 6 years ago by Peter Peterson

  • Blocking 9356 added

comment:34 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3327

Note: See TracTickets for help on using tickets.