Ticket #9041 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Refl GUI plotting

Reported by: Owen Arnold Owned by: Keith Brown
Priority: critical Milestone: Release 3.2
Component: Reflectometry Keywords:
Cc: Blocked By:
Blocking: #9039, #9043 Tester: Owen Arnold

Description

We have a requirement for the new GUI that we have a checkable column for choosing to plot. Users are requesting the same feature in the old gui, and I think we should oblige and do that first as it will make it easier to do in the new gui if we've done it first time round on the old gui. This will mean that we can and should fully separate out the plotting aspects of the reflgui from the rest of the code. We should also see performance improvements.

Change History

comment:1 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned

comment:2 Changed 7 years ago by Keith Brown

  • Status changed from assigned to inprogress

Refs #9041 Fixed bug with coadding workspaces

There was a problem where you couldn't comma or colon delimit workspaces in the runs column as the workspaces were overwriting each other. Unrelated to this ticket, but it prevented me from continuing so it had to be fixed in this ticket.

Changeset: 24228ac8b1a25bcfbdd3b33770fb02040a6a2cae

comment:3 Changed 7 years ago by Keith Brown

Refs #9041 UI file modified

The UI has had the extra column added to the table. Nothing extra done to it yet

Changeset: 9a73cba0c447ae3e65bdb6b26a8f10aa940bc84d

comment:4 Changed 7 years ago by Keith Brown

Refs #9041 Separated plot functionality

The new column is now home to the 'Plot' button and plotting is no longer done automatically when processing.

Plot buttons start off as disabled and are enabled when their row has been processed.

Pressing the plot button will rebin and plot the processing output like was done automatically before.

The are a couple of bugs still: There is now less progress indication when processing; and loading a new table, modifying the table, or clearing the table doesn't reset the plot buttons.

Changeset: b7cd66f6632ae7c9b9feef2beb938c2f7f34de71

comment:5 Changed 7 years ago by Keith Brown

  • Keywords PatchCandidate added

Electing as a patch candidate as there are a few bugs that were squashed in this ticket that shouldn't have got to master.

comment:6 Changed 7 years ago by Keith Brown

Refs #9041 Plot buttons reset appropriately, plus bugfixes

The plot buttons on a row will now reset to disabled when:

  • The table is cleared
  • A new table is loaded
  • The table is reloaded
  • A row is modified (this will only reset the modified row)
  • In the rare case when the plot function fails to load cached data

There have also been a fair few bugfixes or improvements:

  • File->Close Refl Gui now actually closes it, as until now it had loaded help.
  • Clearing, reloading or opening a table will now do a modifed check and offer to save
  • Clearing the table no longer sets the mdoified flag
  • When processing all, only the lines with data in have their plot buttons enabled

Changeset: cc6f580c2c7ff941094db373b4f276ce316b761a

comment:7 Changed 7 years ago by Keith Brown

  • Keywords PatchCandidate removed

Not a PatchCandidate any more, as not all of this ticket is eligable

comment:8 Changed 7 years ago by Keith Brown

Refs #9041 Refactored Save Checks

Having just done the same in #9077 for the patch, I've just refactored the save checks but in a slightly different way

Changeset: e81daed622010a1cc87e6fbba4681574b1626876

comment:9 Changed 7 years ago by Keith Brown

Refs #9041 Tidied up a few things

Removed a bunch of prints that were used for dubgging, and cahnged all other prints to proper logger calls

Removed some line breaks

Changeset: 78f2fdb764db7776aaef7c93fd16b63880092d02

comment:10 Changed 7 years ago by Keith Brown

Refs #9041 Added statusbar progress notification

The Stausbar now updates to let the user know what row is being processed. The font has been made bigger as well.

The process menthod is now a big try-except block to make sure the statusbar has its message cleared if something goes wrong

Changeset: 5faea0176a672d1c6924954f2d33e2553e84c967

comment:11 Changed 7 years ago by Keith Brown

Refs #9041 Statusbar progress

The try-except block changes somehow escaped the last commit. This makes sure that the stausbar clears even if there was an error.

Changeset: 6b4f8484d34957a6a14a2f55bbb05d25865b49a0

comment:12 Changed 7 years ago by Keith Brown

Refs #9041 Merging master in to take care of a merge conflict

Conflict occurred in refl_gui.py

Merge branch origin master into 'feature/9041_refl_gui_plotting'

Conflicts:

Code/Mantid/scripts/Interface/ui/reflectometer/refl_gui.py

Changeset: 9f9dac2d5f658856ff8ff4f6a3da1dc21a683d79

comment:13 Changed 7 years ago by Keith Brown

Refs #9041 Resolve difference in implementation between patch and 3.2

Resolve merge conflicts to develop arising from differences to the way a fix was implementated between #9041 and #9077

Merge branch 'feature/9041_refl_gui_plotting' into develop

Conflicts:

Code/Mantid/scripts/Interface/ui/reflectometer/refl_gui.py

Changeset: 71f5e59ac1e5c252a41e77b4454c854faebfe11d

comment:14 Changed 7 years ago by Keith Brown

Refs #9041 Added debug log for processing

The log is now written to at debug level when it starts processing a new row

Changeset: f0f6fab05bad0575ce3d7d2e0e0a1c089d11b331

comment:15 Changed 7 years ago by Keith Brown

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

To Tester:

First test the gui as detailed here, note that it may be slightly out of date: http://www.mantidproject.org/Testing_ISIS_Reflectometry_GUI

Then specifically make sure that the following works:

  • The new row to the far right features disabled "plot" buttons when the gui is freshly loaded
  • When processing, there shouldn't be any plotting done automatically.
  • The plot buttons become active after processing
  • When processing all, only the lines with data in have their plot buttons enabled
  • The plot buttons to disabled when: The table is cleared, a new table is loaded, the table is reloaded, or a row is modified (this will only reset the modified row)
  • File->Close Refl Gui now actually closes it, as until now it had loaded help.
  • Clearing, reloading or opening a table will now do a modified check and offer to save
  • Clearing the table no longer sets the modified flag
  • The statusbar updates when processing to show the row being processed
  • The log (at debug level) shows the row being processed

comment:16 Changed 7 years ago by Owen Arnold

  • Status changed from verify to verifying
  • Tester set to Owen Arnold

comment:17 Changed 7 years ago by Owen Arnold

  • Status changed from verifying to reopened
  • Resolution fixed deleted

Error on close

  File "<Interface>", line 29, in closeEvent
NameError: global name 'savecheck' is not defined

comment:18 Changed 7 years ago by Keith Brown

  • Status changed from reopened to inprogress

Refs #9041 Forgot a self in the base class

There was a missing 'self 'causing an error

Changeset: 5588fafadefb5a04a0e4deeb687000165113f418

comment:19 Changed 7 years ago by Keith Brown

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

should be fixed now

comment:20 Changed 7 years ago by Owen Arnold

  • Status changed from verify to reopened
  • Resolution fixed deleted

Am now getting this error on reloading the table

Traceback (most recent call last):
  File "/Applications/MantidPlot.app/scripts/Interface/ui/reflectometer/refl_gui.py", line 56, in on_actionReload_from_Disk_triggered
    self.reloadTable()
  File "/Applications/MantidPlot.app/scripts/Interface/ui/reflectometer/refl_gui.py", line 642, in reloadTable
    logger.error('Could not load file: ' + filename + '. File not found or unable to read from file.')
Boost.Python.ArgumentError: Python argument types in
    Logger.error(Logger, unicode)
did not match C++ signature:
    error(N6Mantid6Kernel6LoggerE {lvalue}, Ss)

comment:21 Changed 7 years ago by Keith Brown

  • Status changed from reopened to inprogress

Refs #9041 Re-worked reload functionality

there were a couple of bugs pertaining to the current table and the type of the filename (as it was unicode), they've been fixed. Some instances where the loggere is given a variable have been fxied to convert to string to make sure unicode doesn't cause an error.

The reload functioanlity has also been changed to check if there is a loaded tabled before checking the mod flag

Changeset: 8ae1252683120ada941395feccf0a103fd328888

comment:22 Changed 7 years ago by Keith Brown

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

comment:23 Changed 7 years ago by Owen Arnold

  • Status changed from verify to verifying

comment:24 Changed 7 years ago by Keith Brown

  • Blocking 9039, 9043 added

As this ticket involved heavy changes to the UI file i would expect conflicts from other tickets if they were to attempt a merge, so until this has been tested and merged any other Reflectometry tickets can't be checkbuilt.

comment:25 Changed 7 years ago by Keith Brown

  • Blocking 9043 removed

(In #9043) As this ticket involved heavy changes to the UI file i would expect conflicts from other tickets if they were to attempt a merge, so until this has been tested and merged any other Reflectometry tickets can't be checkbuilt.

comment:26 Changed 7 years ago by Keith Brown

  • Blocking 9043 added

comment:27 Changed 7 years ago by Owen Arnold

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/9041_refl_gui_plotting'

Full changeset: 317d4b6909d359c378e43a0345a756d3f93adcb0

comment:28 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9884

Note: See TracTickets for help on using tickets.