Opened 5 years ago

Closed 5 years ago

#3823 closed defect (fixed)

shift-pick doesn't log command

Reported by: pett Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Logging Version:
Keywords: Cc: Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Simple picking with the mouse logs a select command. Shift-pick does not. This is basically because shift-pick toggles the selection state of the object, and the picking code doesn't know what command to issue because it doesn't have access to the current selection state of the picked object. I see two possibilities to remedy this:

1) Somehow smarten up the picking code so that it can determine the selection state of the object being shift-picked and issue the appropriate 'select' command.

2) Add a toggle/flip/invert mode to the 'select' command -- pretty much only used in this situation.

Change History (4)

comment:1 by Tom Goddard, 5 years ago

Not sure how hard it is for the mouse select code figures out whether to issue a "select add :29" or a "select subtract :29", probably not hard. I agree a select toggle command is probably not too useful outside logging shift picks.

Also note that drag select currently doesn't log a command I think just because it could be a massive atom-spec if someone drags out 50,000 of 100,000 ribosome atoms.

comment:2 by pett, 5 years ago

I can live with drag select not being logged.

comment:3 by pett, 5 years ago

Drag select logs the total number of atoms/items selected and that it was by dragging, which I think is fine.

comment:4 by Tom Goddard, 5 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

I made shift-ctrl pick of an atom or residue log a select add or select subtract command. Did not log command for other objects like volumes although it would be easy, but rarely needed. In order for a shift picked object to log a command the PickX class for it needs to define a selected() method that says whether any part is currently selected so the code can decide whether shift should add or remove it from the selection.

Note: See TracTickets for help on using tickets.