Ticket #6687 (closed: fixed)

Opened 8 years ago

Last modified 5 years ago

Add features to the SCD GUI, such as UB & Peaks save/load.

Reported by: Dennis Mikkelson Owned by: Dennis Mikkelson
Priority: major Milestone: Release 2.5
Component: Mantid Keywords:
Cc: petersonpf@…, owen.arnold@… Blocked By:
Blocking: Tester: Owen Arnold

Description

Additional features will be implemented in the SCD GUI, such as the convenience options for loading and saving the UB and Peaks and for viewing the UB matrix. These options are included under the File and View menu headings.

Attachments

Screen Shot 2013-03-22 at 17.08.43.png (148.5 KB) - added by Owen Arnold 8 years ago.
GUI on the Mac
MantidEV.png (73.1 KB) - added by Dennis Mikkelson 8 years ago.
MantidEV interface on RHEL 6.3 clone

Change History

comment:1 Changed 8 years ago by Dennis Mikkelson

  • Status changed from new to accepted

comment:2 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar

Implemented Save and Load for Isaw Peaks and UB matrix on menu bar. Also added option to just index using the current UB matrix (if any). Refs #6687

Changeset: eeadad27982d96c9bc9e3ef1647feb773fe93eb9

comment:3 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar

Implemented Save and Load for Isaw Peaks and UB matrix on menu bar. Also added option to just index using the current UB matrix (if any). Refs #6687

Changeset: eeadad27982d96c9bc9e3ef1647feb773fe93eb9

comment:4 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, save/load settings.

The settings of all GUI controls are now automatically saved in a default location, and can be optionally saved and loaded from a user specified file. This is implemented using Qt's QSettings object.

Refs #6687

Changeset: 8acda941afea16e058ebb8e82e4dc213934c494b

comment:5 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, save/load settings.

The settings of all GUI controls are now automatically saved in a default location, and can be optionally saved and loaded from a user specified file. This is implemented using Qt's QSettings object.

Refs #6687

Changeset: 8acda941afea16e058ebb8e82e4dc213934c494b

comment:6 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, show UB

Implemented the menubar item View->ShowUB. The UB matrix is displayed using g_log.notice(), both in the internal "Mantid" format and in the external "ISAW" format, along with the lattice parameters.

Refs #6687

Changeset: 469e29ddd475b9077afd422b55a700467d2afecd

comment:7 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, show UB

Implemented the menubar item View->ShowUB. The UB matrix is displayed using g_log.notice(), both in the internal "Mantid" format and in the external "ISAW" format, along with the lattice parameters.

Refs #6687

Changeset: 469e29ddd475b9077afd422b55a700467d2afecd

comment:8 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, clean up code

Removed print statements left over from when the methods were just "stubs". Fix variable scope style flagged by CPP check.

Refs #6687

Changeset: 916f765b2b9228382b77e4979d38b23be57d982e

comment:9 Changed 8 years ago by Dennis Mikkelson

RE 6687 MantidEV menubar, clean up code -- 2

Added Doxygen comments to all methods. Delete local thread pool in the destructor.

Refs #6687

Changeset: ef3be182d010f58a38c7f62c07c778d9947883e0

comment:10 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, clean up code

Removed print statements left over from when the methods were just "stubs". Fix variable scope style flagged by CPP check.

Refs #6687

Changeset: 916f765b2b9228382b77e4979d38b23be57d982e

comment:11 Changed 8 years ago by Dennis Mikkelson

RE 6687 MantidEV menubar, clean up code -- 2

Added Doxygen comments to all methods. Delete local thread pool in the destructor.

Refs #6687

Changeset: ef3be182d010f58a38c7f62c07c778d9947883e0

comment:12 Changed 8 years ago by Dennis Mikkelson

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

Notes to tester:

  1. The branch name is feature/6687_MantidEV_menubar

The code is run by choosing Interfaces->SCD_Event_Data_Reduction, from the MantidPlot menu bar.

  1. In this iteration, all features on the SCD_Event_Data_Reduction menu bar have been implemented, and the last state of the components is automatically stored on exit, and reloaded on start up of the interface. The user will still have to press Apply on each form in sequence to actually reconstruct the workspaces, since only the state of the controls is saved. After loading an SCD event file, from an instrument such as TOPAZ, find peaks (after naming the peaks workspace on the FindPeaks tab) and find the UB matrix by hitting Apply on the the Find UB tab. At this point, you can verify that the Menu bar items all work. Specifically you can check that:
  2. You can View the UB matrix using the View menu.
  3. You can Save and Load the UB matrix.
  4. You can Save and Load the Peaks file. (NOTE: This will lose the UB matrix, so you need to recalculate it if you need it again.)
  5. You can Save and Load the GUI component state to a file.
  6. If you exit the interface and restart it, the previous GUI state will be automatically restored.

comment:13 Changed 8 years ago by Owen Arnold

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

Changed 8 years ago by Owen Arnold

GUI on the Mac

comment:14 Changed 8 years ago by Owen Arnold

I'm in the process of testing the ticket, while the GUI seems to work as I would expect (thus far). There are a couple of things I've noticed.

  • Minor point: Gui window is called MantidEV. Is this right?
  • I'm either not seeing the menus you mention, or they're missing for some reason on the Mac. I wanted to view my UB matrix using the mentioned View Menu, but I can't find it. See screenshot.

Changed 8 years ago by Dennis Mikkelson

MantidEV interface on RHEL 6.3 clone

comment:15 Changed 8 years ago by Dennis Mikkelson

Owen,

There is apparently a portability problem with the Mac. If you have a Mac development environment set up, perhaps you could look at the .ui file with Qt Designer, to see if the menu bar at least shows up there. The .ui file is:

.../Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/MantidEV.ui

I've attached a screen dump of the interface on my Linux system (Scientific Linux, 6.3, RHEL 6 white box rebuild). I'm also rebuilding the feature branch, to double check the version that is in the branch, just in case the .ui file got messed up somehow.

Regarding the name, I've been informally calling this MantidEV, since it is intended to get some of the core functionality of IsawEV ported to Mantid via this interface. Is the name a problem?

comment:16 Changed 8 years ago by Owen Arnold

  • Status changed from verifying to reopened
  • Resolution fixed deleted

comment:17 Changed 8 years ago by Dennis Mikkelson

  • Status changed from reopened to accepted

The menu bar does not appear on Mac systems. This is apparently due to a limitation in the way CustomInterfaces are currently implemented. Some other way to present the menu bar options to the user is needed.

comment:18 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar

Remove unused status bar. Switch main widget layout from grid to box layout.

Refs #6687

Changeset: fcab67bfc11afa6dc5eaf2dc69a07f59e4a27da0

comment:19 Changed 8 years ago by Dennis Mikkelson

  • Cc owen.arnold@… added
  • Status changed from accepted to verify
  • Resolution set to fixed

The menu bar features have been added and are working correctly on windows and Linux. The menu bar does not show up correctly on the Mac. Fixing the problem may take a significant amount of time and that problem should be raised as separate ticket.

The problem on the Mac does not prevent the interface from being used. In particular, all the core functionality still works on the Mac, the only things missing are the convenience operations of loading and saving peaks and matrix files from the menu bar, loading and saving particular state files and viewing the UB. There are fairly simple work-arounds for most of these. Loading and saving peaks and matrix files can also be done from the MantidPlot window. Viewing the UB can be done by writing the UB to a file and viewing the file. The last state will still be saved and restored automatically. The only capability that is really missing is saving and restoring the current state from a named file.

comment:20 Changed 8 years ago by Owen Arnold

  • Status changed from verify to verifying

comment:21 Changed 8 years ago by Owen Arnold

  • Status changed from verifying to closed

comment:22 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar

Implemented Save and Load for Isaw Peaks and UB matrix on menu bar. Also added option to just index using the current UB matrix (if any). Refs #6687

Changeset: eeadad27982d96c9bc9e3ef1647feb773fe93eb9

comment:23 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, save/load settings.

The settings of all GUI controls are now automatically saved in a default location, and can be optionally saved and loaded from a user specified file. This is implemented using Qt's QSettings object.

Refs #6687

Changeset: 8acda941afea16e058ebb8e82e4dc213934c494b

comment:24 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, show UB

Implemented the menubar item View->ShowUB. The UB matrix is displayed using g_log.notice(), both in the internal "Mantid" format and in the external "ISAW" format, along with the lattice parameters.

Refs #6687

Changeset: 469e29ddd475b9077afd422b55a700467d2afecd

comment:25 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, clean up code

Removed print statements left over from when the methods were just "stubs". Fix variable scope style flagged by CPP check.

Refs #6687

Changeset: 916f765b2b9228382b77e4979d38b23be57d982e

comment:26 Changed 8 years ago by Dennis Mikkelson

RE 6687 MantidEV menubar, clean up code -- 2

Added Doxygen comments to all methods. Delete local thread pool in the destructor.

Refs #6687

Changeset: ef3be182d010f58a38c7f62c07c778d9947883e0

comment:27 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar

Implemented Save and Load for Isaw Peaks and UB matrix on menu bar. Also added option to just index using the current UB matrix (if any). Refs #6687

Changeset: eeadad27982d96c9bc9e3ef1647feb773fe93eb9

comment:28 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, save/load settings.

The settings of all GUI controls are now automatically saved in a default location, and can be optionally saved and loaded from a user specified file. This is implemented using Qt's QSettings object.

Refs #6687

Changeset: 8acda941afea16e058ebb8e82e4dc213934c494b

comment:29 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, show UB

Implemented the menubar item View->ShowUB. The UB matrix is displayed using g_log.notice(), both in the internal "Mantid" format and in the external "ISAW" format, along with the lattice parameters.

Refs #6687

Changeset: 469e29ddd475b9077afd422b55a700467d2afecd

comment:30 Changed 8 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, clean up code

Removed print statements left over from when the methods were just "stubs". Fix variable scope style flagged by CPP check.

Refs #6687

Changeset: 916f765b2b9228382b77e4979d38b23be57d982e

comment:31 Changed 8 years ago by Dennis Mikkelson

RE 6687 MantidEV menubar, clean up code -- 2

Added Doxygen comments to all methods. Delete local thread pool in the destructor.

Refs #6687

Changeset: ef3be182d010f58a38c7f62c07c778d9947883e0

comment:32 Changed 7 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar

Implemented Save and Load for Isaw Peaks and UB matrix on menu bar. Also added option to just index using the current UB matrix (if any). Refs #6687

Changeset: eeadad27982d96c9bc9e3ef1647feb773fe93eb9

comment:33 Changed 7 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, save/load settings.

The settings of all GUI controls are now automatically saved in a default location, and can be optionally saved and loaded from a user specified file. This is implemented using Qt's QSettings object.

Refs #6687

Changeset: 8acda941afea16e058ebb8e82e4dc213934c494b

comment:34 Changed 7 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, show UB

Implemented the menubar item View->ShowUB. The UB matrix is displayed using g_log.notice(), both in the internal "Mantid" format and in the external "ISAW" format, along with the lattice parameters.

Refs #6687

Changeset: 469e29ddd475b9077afd422b55a700467d2afecd

comment:35 Changed 7 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, clean up code

Removed print statements left over from when the methods were just "stubs". Fix variable scope style flagged by CPP check.

Refs #6687

Changeset: 916f765b2b9228382b77e4979d38b23be57d982e

comment:36 Changed 7 years ago by Dennis Mikkelson

RE 6687 MantidEV menubar, clean up code -- 2

Added Doxygen comments to all methods. Delete local thread pool in the destructor.

Refs #6687

Changeset: ef3be182d010f58a38c7f62c07c778d9947883e0

comment:37 Changed 7 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar

Implemented Save and Load for Isaw Peaks and UB matrix on menu bar. Also added option to just index using the current UB matrix (if any). Refs #6687

Changeset: eeadad27982d96c9bc9e3ef1647feb773fe93eb9

comment:38 Changed 7 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, save/load settings.

The settings of all GUI controls are now automatically saved in a default location, and can be optionally saved and loaded from a user specified file. This is implemented using Qt's QSettings object.

Refs #6687

Changeset: 8acda941afea16e058ebb8e82e4dc213934c494b

comment:39 Changed 7 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, show UB

Implemented the menubar item View->ShowUB. The UB matrix is displayed using g_log.notice(), both in the internal "Mantid" format and in the external "ISAW" format, along with the lattice parameters.

Refs #6687

Changeset: 469e29ddd475b9077afd422b55a700467d2afecd

comment:40 Changed 7 years ago by Dennis Mikkelson

Re 6687 MantidEV menubar, clean up code

Removed print statements left over from when the methods were just "stubs". Fix variable scope style flagged by CPP check.

Refs #6687

Changeset: 916f765b2b9228382b77e4979d38b23be57d982e

comment:41 Changed 7 years ago by Dennis Mikkelson

RE 6687 MantidEV menubar, clean up code -- 2

Added Doxygen comments to all methods. Delete local thread pool in the destructor.

Refs #6687

Changeset: ef3be182d010f58a38c7f62c07c778d9947883e0

comment:42 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 7533

Note: See TracTickets for help on using tickets.