Ticket #8909 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Tiled Graph Displays

Reported by: Nick Draper Owned by: Roman Tolchenov
Priority: major Milestone: Release 3.2
Component: GUI Keywords: SSC,2014,All
Cc: Blocked By:
Blocking: Tester: Samuel Jackson

Description

A window of tiled graphs (or static instrument views)

  • options to remove, sort or pop the graph as a larger window.
  • Could be considered as a collection of your graphs

Notes from Estimation

Improve general layer handling
Different plot types in tiles (1d plots, 2d plots, inst view, slice viewer)
Expand selected windows
Rearrange order/ add,delete - drag drop
Format single+many internal plots
Command interface - creating tiled display from python ,get handles of plots"	

Include reportlab stuff?

Change History

comment:1 Changed 7 years ago by Roman Tolchenov

  • Owner set to Roman Tolchenov

comment:2 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned

Bulk move of tickets out of triage (new) to assigned at the introduction of the triage state

comment:3 Changed 7 years ago by Roman Tolchenov

  • Status changed from assigned to inprogress

Re #8909. Detached MdiSubWindow from ApplicationWindow

Changeset: b2808465f4181b450b72da924bffdb325e8bf7a9

comment:4 Changed 7 years ago by Roman Tolchenov

Merge branch 'master' into feature/8909_tiled_graph_displays

Conflicts:

Code/Mantid/MantidPlot/src/MdiSubWindow.cpp Code/Mantid/MantidPlot/src/MdiSubWindow.h

Re #8909

Changeset: 1420469c301b84590e4204e9b941c59912061cef

comment:5 Changed 7 years ago by Roman Tolchenov

Re #8909. Added TiledWindow window class

Changeset: 29a0c887c05c28bb941a666c42cee2df7c912d01

comment:6 Changed 7 years ago by Roman Tolchenov

Re #8909. Use EmptyTile widgets to fill in empty spaces.

Changeset: 080e0ab01e87f061df8ee928bf5ac56d9e945a03

comment:7 Changed 7 years ago by Roman Tolchenov

Re #8909. Added selection of tiles.

Changeset: 3d72d4d3fc228c1ed62a06dfaee6429c3ba79872

comment:8 Changed 7 years ago by Roman Tolchenov

Re #8909. More visible border for selected tiles.

Changeset: 94cb2a6f611689f2253b58ade78c75122bda165a

comment:9 Changed 7 years ago by Roman Tolchenov

Re #8909. Added range selection with a mouse.

Changeset: 0c9514790749599bbb5adf91092e4789a7df65b5

comment:10 Changed 7 years ago by Roman Tolchenov

Re #8909. Selection, deselection and removing ranges of widgets.

Changeset: b80cd677087f328d37f0701f557578d260098209

comment:11 Changed 6 years ago by Roman Tolchenov

Re #8909. Implemented window reshaping.

Changeset: 316647958a99eca1fab4e70c3f78a75208db1edb

comment:12 Changed 6 years ago by Roman Tolchenov

Re #8909. Added a menu for tiled windows.

Changeset: c77cbfda71680e9df89dfccd0a7737d5b1d4b464

comment:13 Changed 6 years ago by Roman Tolchenov

Re #8909. Implemented dragging and dropping of floating windows

Changeset: 58bb952452b41b46e97c5fe3a670a6484ea2efb2

comment:14 Changed 6 years ago by Roman Tolchenov

Re #8909. Added drag and drop of floating graphs to TiledWindow.

Changeset: 019fe9166283e5abbb2f121fedf622b960a08a01

comment:15 Changed 6 years ago by Roman Tolchenov

Re #8909. Removing widgets from TiledWindow with drag and drop.

Changeset: 363c31e5f1f08592e20b274a4378ec747d905e8b

comment:16 Changed 6 years ago by Roman Tolchenov

Re #8909. Dragging graphs from docked windows, and to floating tiled windows.

Changeset: 2092b46e892e06f5d55147a422061047ee2868b9

comment:17 Changed 6 years ago by Roman Tolchenov

Re #8909. Marking insertion position between tiles.

Changeset: 34e0cd73675f4ad74e2b9b58127fbca4afa4d404

comment:18 Changed 6 years ago by Roman Tolchenov

Merge branch 'master' into feature/8909_tiled_graph_displays

Conflicts:

Code/Mantid/MantidPlot/src/ApplicationWindow.cpp

Re #8909

Changeset: 8c4a0526a8ce3d78903e36180ed7f9fa50977eb7

comment:19 Changed 6 years ago by Roman Tolchenov

Merge branch 'master' into feature/8909_tiled_graph_displays

Conflicts:

Code/Mantid/MantidPlot/CMakeLists.txt

Re #8909.

Changeset: 43f52b3b42ec7b24548643f8f4bf0016636e499c

comment:20 Changed 6 years ago by Roman Tolchenov

Re #8909. Widgets can be inserted into TiledWindows.

Changeset: 1ff42cb51bf3d4809ab7f24b2f555b221be9e932

comment:21 Changed 6 years ago by Roman Tolchenov

Re #8909. Fixes to TiledWindow reshaping and moving widgets.

Updated python interface. Added new tests.

Changeset: 8d7faee0b4faf84b94860311e7f166dc24d032a2

comment:22 Changed 6 years ago by Roman Tolchenov

Re #8909. Fixed compiler warnings.

Changeset: 9b8aeb4e3fc435f06b5a2f88b236f88c6968a489

comment:23 Changed 6 years ago by Roman Tolchenov

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

To tester

  1. See MantidPlot/test/MantidPlotTiledWindowTest.py for examples of usage.
  2. Create a new TiledWindow form File->New... menu.
  3. Drag and drop graphs and other windows on the TiledWindow. Graphs can be dragged by the canvas (graph's inside). To insert other windows make them floating then move them (by the title bar) on top of the TiledWindow.
  4. Check tile selection: left click selects a single tile, Ctrl+click adds a tile to the selection, Shift+click selects a range.
  5. Check removing tiles by dragging the selection off the window.
  6. Check dragging tiles inside the window.
  7. Check main menu's "Tiled Window" commands.
  8. Check python usage.

comment:24 Changed 6 years ago by Karl Palmen

  • Status changed from verify to verifying
  • Tester set to Karl Palmen

comment:25 Changed 6 years ago by Karl Palmen

git test review did not work for me, so I'm doing the code review by looking at the commits of this ticket. One commit did not display because of the large number (752) files changed.

comment:26 Changed 6 years ago by Karl Palmen

Partial code review suggests that the coding changes were good.

comment:27 Changed 6 years ago by Karl Palmen

Tiled windows worked as expected, except that it did crash when I tested 'clear' having done many things to the tile window. I couldn't reproduce this crash on 'clear' in a simple scenario, so I'm going to pass the ticket and leave the crash on clear to the random testing.

comment:28 Changed 6 years ago by Karl Palmen

  • Status changed from verifying to verify
  • Tester Karl Palmen deleted

I've tested this on Windows.

I think it needs testing on non-Windows systems, so will return the ticket to the testing pool for testing on other systems.

comment:29 Changed 6 years ago by Nick Draper

  • Status changed from verify to reopened
  • Resolution fixed deleted

comment:30 Changed 6 years ago by Nick Draper

Reopened to deal with crash

comment:31 Changed 6 years ago by Roman Tolchenov

  • Status changed from reopened to inprogress

Re #8909. Fixed a crash caused by TiledWindow's clear() method.

Changeset: fb5bc9ac9f9c259e7b70779d1e86688ee787544b

comment:32 Changed 6 years ago by Roman Tolchenov

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

comment:33 Changed 6 years ago by Karl Palmen

  • Status changed from verify to verifying
  • Tester set to Karl Palmen

comment:34 Changed 6 years ago by Karl Palmen

  • Status changed from verifying to verify
  • Tester Karl Palmen deleted

No crash after trying similar to before. I return to testing pool for testing on non-windows systems.

comment:35 Changed 6 years ago by Samuel Jackson

  • Status changed from verify to verifying
  • Tester set to Samuel Jackson

comment:36 Changed 6 years ago by Samuel Jackson

I get a segmentation fault if I create a new tiled window, plot a workspace, then drag the plot onto the tiled window in Ubuntu 12.04.

comment:37 Changed 6 years ago by Samuel Jackson

  • Status changed from verifying to reopened
  • Resolution fixed deleted

comment:38 Changed 6 years ago by Roman Tolchenov

  • Status changed from reopened to inprogress

Re #8909. Moved drop processing outside the event handler

Changeset: 1f49ab7687239c33d096adf51c9d329dd8d5bce2

comment:39 Changed 6 years ago by Roman Tolchenov

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

comment:40 Changed 6 years ago by Samuel Jackson

  • Status changed from verify to verifying

comment:41 Changed 6 years ago by Samuel Jackson

  • Status changed from verifying to reopened
  • Resolution fixed deleted

Couple of issues with this still (Ubuntu 12.04) :

  • Reshaping and dragging a plot out of the window can cause a seg fault on occasions, (although I can't reproduce this reliably, but Roman has observed it too.)
  • Adding some plots then deleting the workspace they came from clears the plots, but they still remain in the tiled window, and when you drag this out of the tiled window it causes a seg fault.
  • If I drag a plot onto the separating lines between tiles, it makes the entire plot magically disappear.
  • The ctrl+w command doesn't work for >1 tiled window.
Last edited 6 years ago by Samuel Jackson (previous) (diff)

comment:42 Changed 6 years ago by Roman Tolchenov

A way to get the seg fault:

  1. Open a tiled window and a couple of graphs.
  2. Add the graphs to the tiled window.
  3. Select one of the graphs (click on it - it will have a green border)
  4. Reshape the window using main menu "Tiled Window->Reshape" option.
  5. Try to interact with the window: crash.

comment:43 Changed 6 years ago by Roman Tolchenov

  • Status changed from reopened to inprogress

Re #8909. Fix the crash and other issues.

Changeset: 52c93b86675a6c19783ba3177dd32b53e06b36d2

comment:44 Changed 6 years ago by Roman Tolchenov

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

comment:45 Changed 6 years ago by Samuel Jackson

  • Status changed from verify to verifying

comment:46 Changed 6 years ago by Samuel Jackson

  • Status changed from verifying to reopened
  • Resolution fixed deleted

All issues mentioned in comment 41 appear to have been resolved, including the seg fault. One further issue I've spotted is that mantid seems to be getting confused about the current active window. To reproduce:

  • Load some data
  • show the data, observe the 3D plot menu (for example) is now visible.
  • close the data window. 3D plot menu is still there, and choosing an option from this list causes a crash!

This might be related to the new TiledWindow menu which is still showing up (with no options) even after I've deleted all the titled windows.

Last edited 6 years ago by Samuel Jackson (previous) (diff)

comment:47 Changed 6 years ago by Roman Tolchenov

  • Status changed from reopened to inprogress

comment:48 Changed 6 years ago by Roman Tolchenov

Re #8909. Fixed the menu issue.

Changeset: 1ce2f547761da5780ee57670d1e12e54c32e980e

comment:49 Changed 6 years ago by Roman Tolchenov

Re #8909. Fix GCC warning

Changeset: 8c0cdfe655f19fa769a8c02e76e64c80d9f17101

comment:50 Changed 6 years ago by Roman Tolchenov

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

comment:51 Changed 6 years ago by Samuel Jackson

  • Status changed from verify to verifying

comment:52 Changed 6 years ago by Samuel Jackson

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/8909_tiled_graph_displays'

Full changeset: b877533934cf506222cc651b33be8aa57b01efff

comment:53 Changed 6 years ago by Nick Draper

  • Keywords SSC,2014,All added; SSC removed

comment:54 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9752

Note: See TracTickets for help on using tickets.