freenode/#clim - IRC Chatlog
Search
8:55:38
scymtym
jackdaniel: we didn't finish the discussion about drag and drop translators. i would like ask about one particular thing if you have time
8:57:47
scymtym
the pointer is over a presentation and two drag and drop translators ca translate from this presentation. one is associated with the :select gesture and the other one with a button press gesture that includes a modifier
8:58:35
scymtym
when i press the modifier and start dragging, the appropriate translator is selected and used when running the :test, generating feedback, etc.
9:00:20
scymtym
but when i drag the pointer over a presentation that is valid as the "to" presentation type of both translator, it appears to be unclear the translation function of which translator is run in the end
9:01:19
scymtym
from a user perspective, this feels like explicitly initiating one command (by pressing the modifier) but then having a different command run
9:02:41
jackdaniel
I don't think that this behavior is new (but I've worked on it too long ago to claim that with certainity)
9:02:46
scymtym
this is easy to mitigate by preferring the already "active" translator when choosing the translator whose translation function should be run, but now i'm curious what the rules are
9:03:43
scymtym
i.e. why can the target presentation effectively cancel the current translator and replace it with a different one?
9:04:59
jackdaniel
when you look for translator matching the context type, then they are sorted by priority
9:05:59
jackdaniel
another is to return NIL from the test-drag-and-drop-translator, then search continues
9:07:03
jackdaniel
if no destination translator is found (or all fail on a test), the "original translator's which got us here" feedback/highlight etc are used
9:07:30
jackdaniel
(also, when there is no applicable translator we do not highlight the presentation)