nion-software / nionswift

Nion Swift is open source scientific image processing software integrating hardware control, data acquisition, visualization, processing, and analysis using Python. Nion Swift is easily extended using Python. It runs on Windows, Linux, and macOS.
http://nion.com/swift
GNU General Public License v3.0
45 stars 33 forks source link

Allow graphics behind other graphics to be selected #149

Open cmeyer opened 6 years ago

cmeyer commented 6 years ago

Either by cycling through layers on each click (Andrew) or by keyboard shortcut to select item under or over (Matt). Investigate how other applications (CAD, Illustrator) handle it.

Ion-e commented 2 months ago

In Illustrator, there’s a dedicated UI for managing layers, where you can track and mofidy rules for each layer such as opacity, locks, masks, order...(see: https://helpx.adobe.com/illustrator/using/layers.html). However, layers in Illustrator often contain multiple objects, making it more complex that we would need for the requirements here. My understanding is that Swift already has a certain degree of the layers feature, albeit not directly controlled by the user (a bottom layer for data and a top layer for graphics).

My understanding in Illustrator there are 2 methods (besides the layers) to select overlapping objects in the same layer (See: https://helpx.adobe.com/illustrator/using/selecting-objects.html):

Method 1: Control+Click to iterate between them (see: "Select Behind Objects" in previous link). Method 2: Right click the object > choose "Select" > "Next Object above/Below" (See: "Select the next object" in previous link)

If we decide to go for a "layer per graphic" solution, the work on #58 may have some unintended behaviours with this feature.

Ion-e commented 1 month ago

@cmeyer