annotorious / annotorious-v2-plugins

Plugins compatible with the RecogitoJS, Annotorious and AnnotoriousOSD annotation libraries
BSD 3-Clause "New" or "Revised" License
29 stars 19 forks source link

BetterPolygon: handle deletion conflicts with annotation deletion #28

Open AlexMili opened 2 years ago

AlexMili commented 2 years ago

Hi, I would like to handle both deletion of an handle and the deletion of the whole selection but they conflict with each others. The solution I am thinking of is testing if an handle is selected when delete action is caught and ignore selection deletion to let BetterPolygon catch the delete event. The problem is that I don't know how to access if an handle is selected from the Annotorious object. Is there a way to access it ?

rsimon commented 2 years ago

Hi @AlexMili,

a fix for this is underway - hopefully coming on the weekend. (For some background on the issue, you can check this PR, which is closed - although it only fixes part of the issue so far.)

Cheers, R

AlexMili commented 2 years ago

Thank you ! I will look closely the upcoming fixes :)

rsimon commented 2 years ago

That's now fixed. Requires both the latest version of Annotorious (2.7.5) & the BetterPolygon plugin (0.2.0) to work.

AlexMili commented 2 years ago

Works fine for the point deletion thank you :) When I try to delete a point from a triangle the whole selection is deleted and the problem from recogito/annotorious#221 comes back. I don't know if this is intended but maybe the fact that when there are two points remaining, the selection is completely deleted should be documented.

rsimon commented 2 years ago

Argh - yes, of course. It shouldn't delete on triangles, because that would (essentially) create an invalid polygon. I didn't test for that case... I think the desired behavior would be to simply do nothing, i.e. not delete the point; but don't delete the polygon either. What do you think?

(Meanwhile, I'll re-open the ticket.)