← Back to team overview

kicad-developers team mailing list archive

Re: Immediate mode actions

 

The immediate actions are back to the same behavior as the initial
commit (one shot) and using the toolbar or menu to select a tool now
stacks tools so each escape to exit the current tool brings up the
previous tool until you finally end up back at the selection tool.  I
think users are going to expect exiting a tool to always end up back at
the selection tool not the previously selected tool.  Here is a synopsis
of the behavior I think we should aim for:

Immediate actions:

1. The appropriate tool should be enabled and begin drawing at the
current cursor location (works).
2. When the tool is busy drawing, the escape key should cancel the
current edit and the selected tool should remain enabled.  Immediate
actions like move, rotate, mirror, etc. should be blocked until the tool
is idle but I'm open to suggestion on this.  I can see the utility in
canceling the edit and performing the requested action.
3. When the tool is idle, the escape key should exit the tool and return
to the selection tool.  Immediate actions like move, rotate, mirror,
etc. should perform the expected operation and return to the selected tool.

Using the toolbar and menu to select a tool should behave the same as
above except that no drawing begins at the current cursor position
because the cursor position is meaningless while it's over a toolbar
button or menu entry.

I hope I am explaining this well enough.

On 6/18/19 5:35 PM, Jeff Young wrote:
> OK, next attempt is in. ;)
> 
>> On 18 Jun 2019, at 21:07, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>
>> Better but now the second (third, fourth, fifth, ...) escape key does
>> not exit after the first escape key cancels the immediate action.  Using
>> the toolbar or menu to select the tool does work correctly.  One other
>> new oddity is that selecting a second tool using the toolbar or menu
>> will result in the previous tool being selected rather than the
>> selection tool after escape is pressed when the tool is idle.  I think
>> you may have gone too far the other way.
>>
>> On 6/18/19 3:52 PM, Jeff Young wrote:
>>> Hi Wayne,
>>>
>>> I checked in some new code.  Give it a go when you get a chance.
>>>
>>> Cheers,
>>> Jeff.
>>>
>>>
>>>> On 18 Jun 2019, at 13:01, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>>>
>>>> Wire, bus, graphic line, and sheet but only when enabled with an
>>>> immediate hotkey.  When I enable the tool via a toolbar button or
>>>> selecting a menu entry, then the behavior is the same as the legacy tool
>>>> framework.  It really should not matter how a tool is enabled, only the
>>>> initial behavior.
>>>>
>>>> On 6/18/2019 7:53 AM, Jeff Young wrote:
>>>>> Hi Wayne,
>>>>>
>>>>> I wrote the whole PushTool/PopTool stuff exactly for that case.  Which action in particular is going back to the SelectionTool?
>>>>>
>>>>> (Note that some are “supposed” to.  If you click on a tool in the toolbar, or select it from the Place menu, then cancelling should take you back to the SelectionTool.  However, if you use the context menu or a hotkey, it should push and then pop the drawing tool.  Not to say that it’s not buggy, or that the design behaviour isn’t optimal.)
>>>>>
>>>>> Cheers,
>>>>> Jeff.
>>>>>
>>>>> PS: should I make the same changes to Pcbnew, or should be await more feedback?  (Feedback on the forums has been uniformly positive so far, but pretty sparse with only 3 likes.)
>>>>>
>>>>>
>>>>>> On 18 Jun 2019, at 12:48, Wayne Stambaugh <stambaughw@xxxxxxxxx> wrote:
>>>>>>
>>>>>> Hey Jeff,
>>>>>>
>>>>>> I spent some time this morning playing around with the "immediate"
>>>>>> hotkeys in Eeschema and it's better but there is still one annoying
>>>>>> difference from the legacy behavior.  When cancelling (escape key) a
>>>>>> drawing in progress, the drawing is aborted, the current tool is
>>>>>> canceled, and the selection tool is enable.  The legacy behavior was
>>>>>> abort the drawing in progress and keep the current tool enabled.  The
>>>>>> current tool would only be canceled when it was not busy drawing
>>>>>> something.  It's rather cumbersome to have to keep enabling the drawing
>>>>>> tool every time you exit a drawing when you make a mistake.
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>> Wayne
>>>>>>
>>>>>> On 6/15/2019 3:45 PM, Jeff Young wrote:
>>>>>>> I’ve checked in code which makes the drawing hotkeys “immediate” in Eeschema and the Symbol Editor.  It was more involved than I was expecting, so there may be some nasty surprises.
>>>>>>>
>>>>>>> I folks like it, I can apply the same architecture to Pcbnew.
>>>>>>>
>>>>>>> Cheers,
>>>>>>> Jeff.
>>>>>>> _______________________________________________
>>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>
>>>
> 


Follow ups

References