Ongoing mask refactoring

Further refactoring ideas:

  • question need for MaskType => !2252 (merged)
  • need for OverlayHolder => !2251 (merged)
  • need for MaskContainerItem, or for its inheritance => inheritance removed !2254 (merged)
  • need for MaskResultPresenter => not now
  • merge heatmap/projections/masks frames => !2314 (merged)
  • merge 2D canvasses => No. They have clearly distinct roles.
  • review the entire signalling (inspiration from Steca/lazy?) => can only be improved step by step

Repairs:

  • Visual display does not follow changes in spin box. => !2268 (merged)
  • Value shown in spin box does not update when overlay is moved by mouse. => !2268 (merged)
  • If mask property panel is opened after overlay item has been created, then the overlay does not react to the spin box. => !2268 (merged)
  • When in new-overlay-placement-mode, do not show cursor icons meant for modifying or displacing items. => works fine; no need to modify
  • Checkboxes "Show" and "Mask value" have no effect. => Cannot reproduce after !2269 (merged).
  • In edit mode, show visual handle for line item. => Cursor icon is sufficient.
  • Do not change numbers of items once they are created. => #909 (closed)
  • Newly created or selected masks do not disappear on pressing "lamp" button. After unselecting data and selecting it back the "lamp" works properly again. => After !2268 (merged) we get even a segfault! => Everything seems to work after !2269 (merged)
  • Projection plot does not reflect real state in real time and after creation. Re-selecting data helps. => Unclear. Seems okay after !2353 (merged).
  • Go from "Data" to "Instrument" main tab and back. Mask editing canvas will be small. Returns to full size e.g. after resizing the entire window. => !2281 (merged)
  • Moving lines has no effect upon projections (signal OverlayItem::maskGeometryChanged not emitted?). => !2353 (merged)
  • Segfault upon creating a 2nd projection. => !2282 (merged)
  • Changing rectangle/ellipse size&shape through GUI edge/corner handle works only if mouse is pressed while strictly inside the overlay. It ought to work as long as the cursor is the "arrow" icon. => #908 (closed)
  • Zoom operates only on mask items, not on background image. Introduced somewhen before e154863b. In mask and projections canvas, zoom is broken. => Separate issue, not urgent: #906 (closed)

Improvements:

Edited by Joachim Wuttke