Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2008-09

Tooltips in editor not working with trunk

10 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

Hi,

Yesterday I got a svn update (trunk). I'm currently running v0.9.25 r16273M i386-linux-gtk

If I now mouse over a function/procedure the declaration tooltip does not appear. This worked before the update.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Marc Weustink
to Mattias Gärtner
Mattias G?rtner wrote 13 lines
Zitat von Graeme Geldenhuys : > Hi, > > Yesterday I got a svn update (trunk). I'm currently running v0.9.25 > r16273M i386-linux-gtk > > If I now mouse over a function/procedure the declaration tooltip does > not appear. This worked before the update. This is known. The hint is hidden, because of a mouse move message to the window. I had not yet the time to find a good solution.

Did you also find what change led to this.

Marc

Reply by email

Graeme Geldenhuys
to Mattias Gärtner: An embedded and charset-unspecified text was scrubbed... Name: not available Url:…
Mattias G?rtner wrote
This is known. The hint is hidden, because of a mouse move message to the window. I had not yet the time to find a good solution.

Thanks for the feedback.

Speaking of tooltips and mouse move messages. Not really related, but wondered if LCL is affected by this as well. We just implemented basic tooltip support in fpGUI and I noticed very strange behaviour from Windows, which prevented tooltips from appearing in fpGUI under Windows. When a form is shown, hidden or moved, Windows fires off 2 mouse move messages (X11 doesn't), even though the mouse pointer did NOT move.

I know this is probably not related to the issue in the Lazarus editor, because what I'm describing was only an issue under Windows (and I mostly use Lazarus under Linux). Either way, did anybody test LCL-win32 count of mouse move messages, to see if those fake messages also get through to the widgets?

More detailed info on the issue:
http://blogs.msdn.com/oldnewthing/archive/2003/10/01/55108.aspx

To work around this issue in fpGUI, I had to check the mouse pointer co-ordinates before sending the MouseMove message to the widgets. If the co-ordinates are the same as the previous message, trash the current message.

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Vincent Snijders
to Graeme Geldenhuys
Graeme Geldenhuys wrote 22 lines
On Tue, Sep 2, 2008 at 1:33 PM, Mattias G?rtner wrote: > This is known. > The hint is hidden, because of a mouse move message to the window. > I had not yet the time to find a good solution. Thanks for the feedback. Speaking of tooltips and mouse move messages. Not really related, but wondered if LCL is affected by this as well. We just implemented basic tooltip support in fpGUI and I noticed very strange behaviour from Windows, which prevented tooltips from appearing in fpGUI under Windows. When a form is shown, hidden or moved, Windows fires off 2 mouse move messages (X11 doesn't), even though the mouse pointer did NOT move. I know this is probably not related to the issue in the Lazarus editor, because what I'm describing was only an issue under Windows (and I mostly use Lazarus under Linux). Either way, did anybody test LCL-win32 count of mouse move messages, to see if those fake messages also get through to the widgets?

The LCL win32 interface doesn't send mouse move notifications to the LCL, unless the mouse position has changed. Search for "spurious WM_MOUSEMOVE message" in the interfaces\win32 directory.

So, no, it doesn't count mouse move message, because that is not necessry.

Vincent

Reply by email

Graeme Geldenhuys
to Vincent Snijders
Vincent Snijders wrote
The LCL win32 interface doesn't send mouse move notifications to the LCL, unless the mouse position has changed. Search for "spurious WM_MOUSEMOVE message" in the interfaces\win32 directory.

Ah, so LCL win32 interface does exactly what fpGUI under Windows does. :-)

So, no, it doesn't count mouse move message, because that is not necessry.

I read my previous email again, and I was really unclear. ;-) I didn't mean counting messages, I meant looking if the coordinates actually changed compared to the previous mouse move message. LCL and fpGUI does the same in this case.

PS:
I did a search for "spurious WM_MOUSEMOVE message" as you suggested. Talk about code duplication!! Or was that by design? win32callback.inc and wincecallback.inc have a LOT of identical code! Not the best design to be honest.

To see what I mean do the following.
1. Open the wincecallback.inc and place the top line of the editor on line 1499.
2. In a new tab, open the win32callback.inc and place the top line of the editor on line 1761.
3. Now switch between these two files/tabs. The code is copied line-by-line, it's as if you are viewing the same file! :-(

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email

Vincent Snijders
to Graeme Geldenhuys
Graeme Geldenhuys wrote 13 lines
PS: I did a search for "spurious WM_MOUSEMOVE message" as you suggested. Talk about code duplication!! Or was that by design? win32callback.inc and wincecallback.inc have a LOT of identical code! Not the best design to be honest. To see what I mean do the following. 1. Open the wincecallback.inc and place the top line of the editor on line 1499. 2. In a new tab, open the win32callback.inc and place the top line of the editor on line 1761. 3. Now switch between these two files/tabs. The code is copied line-by-line, it's as if you are viewing the same file! :-(

Except that they are using different types from a different windows unit using different base types ...

So this could maybe be fixed by using shared include file, but not by using some kind of inheritance as has be done with the gtk1 and gtk2 interface. And even then, code sharing is not an undivided pleasure ...

Vincent

Reply by email

Felipe Monteiro de Carvalho
to Graeme Geldenhuys: Ah, so LCL win32 interface does exactly what fpGUI under Windows does. :-) I read my…
Graeme Geldenhuys wrote 5 lines
PS: I did a search for "spurious WM_MOUSEMOVE message" as you suggested. Talk about code duplication!! Or was that by design? win32callback.inc and wincecallback.inc have a LOT of identical code! Not the best design to be honest.

We decided to go this way because of the homeric headaches that the mixed gtk/gtk2 caused.

And if you ask me it was the right solution.

Felipe Monteiro de Carvalho

Reply by email

Marc Weustink
to Felipe Monteiro de Carvalho
Felipe Monteiro de Carvalho wrote 12 lines
On Tue, Sep 2, 2008 at 3:32 PM, Graeme Geldenhuys wrote: > PS: > I did a search for "spurious WM_MOUSEMOVE message" as you suggested. > Talk about code duplication!! Or was that by design? > win32callback.inc and wincecallback.inc have a LOT of identical code! > Not the best design to be honest. We decided to go this way because of the homeric headaches that the mixed gtk/gtk2 caused. And if you ask me it was the right solution.

I've still my doubt's if some .inc solution wouldn't have been easier (not derived like gtk)
When implementing graphics stuff I constantly have the feeling that I'm duplicating code. I implement in win32, copy and paste it to wince, test the change and forget. Untill some new changes which only get applied to win32.
See the recent updates Paul did for my last changes.

Marc

Reply by email

Mattias Gaertner
to Marc Weustink: Did you also find what change led to this. Marc
Show quoted text 16 lines
Mattias G?rtner wrote: > Zitat von Graeme Geldenhuys : > >> Hi, >> >> Yesterday I got a svn update (trunk). I'm currently running v0.9.25 >> r16273M i386-linux-gtk >> >> If I now mouse over a function/procedure the declaration tooltip >> does not appear. This worked before the update. > > This is known. > The hint is hidden, because of a mouse move message to the window. > I had not yet the time to find a good solution. Did you also find what change led to this.

Fixed.

Mattias

Reply by email