Description
I would like that when the popup is visible, and I type ; or space, it disappears.
So call setHideOnNoText(true) (via a sub class because the method is protected : should it be public, by the way ?)
It works well.
But I would also like that when I move the caret with Left/Right key, the behaviour is the same.
For example :
a line contains the texte toto(); I want to modify the function name with 'tata'
I show the popup with Ctrl-Space but I will eventually not use it
after typing tata, i move the caret on the right (on the ;)
I would like that le popup disappear in this case
But the popup is still there
I think it is because AutoCompletePopupWindow receive 2 events
1) right arrow -> it calls refreshPopupWindow()
as the popup is visible and text.length==0 this method hide it
2) caretUpdate -> it calls refreshPopupWindow() again !!
as the popup is not visible, refreshPopupWindow() ignore the flag hideOnNoText and continue and then show the popup ...
To correct this, I think that in the refreshPopupWindow() method :
return getLineOfCaret(); shoud be out of the test if (isPopupVisible())
and executed each time (textLen == 0 && isHideOnNoText()) is true
Description I would like that when the popup is visible, and I type ; or space, it disappears. So call setHideOnNoText(true) (via a sub class because the method is protected : should it be public, by the way ?) It works well.
But I would also like that when I move the caret with Left/Right key, the behaviour is the same. For example :
But the popup is still there
I think it is because AutoCompletePopupWindow receive 2 events 1) right arrow -> it calls refreshPopupWindow() as the popup is visible and text.length==0 this method hide it 2) caretUpdate -> it calls refreshPopupWindow() again !! as the popup is not visible, refreshPopupWindow() ignore the flag hideOnNoText and continue and then show the popup ...
To correct this, I think that in the refreshPopupWindow() method :
return getLineOfCaret();
shoud be out of the testif (isPopupVisible())
and executed each time(textLen == 0 && isHideOnNoText())
is true