using agw.supertooltip

Hello all,

I can't for the life of it find out how to actually use
supertooltip :slight_smile: I have googled, read the docs, and
checked the demo to no avail...

The idea is this: I am creating a StaticBitmap(). Now I want
to give it a supertooltip:

  bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
  self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)
  # guessed from the demo, doesn't work:
  bmp.tip = agw_stt.SuperToolTip(filename)
  # throws exception about wanting a wx.Tooltip()
  bmp.SetToolTip(agw_stt.SuperToolTip(filename))

How am I supposed to do this ?

Karsten

···

--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

I haven't used this widget yet myself, but you may check the
respective wxpython demo file, maybe
it seems, that the following lines might be relevant:

self.tip = STT.SuperToolTip(message)
...
self.tip.SetTarget(self.toolTipButton)

but in any case, I guess, someone, who uses it, might offer more
competent advice.

  vbr

···

2010/9/26 Karsten Hilbert <Karsten.Hilbert@gmx.net>:

Hello all,

I can't for the life of it find out how to actually use
supertooltip :slight_smile: I have googled, read the docs, and
checked the demo to no avail...

The idea is this: I am creating a StaticBitmap(). Now I want
to give it a supertooltip:

   bmp = wx\.StaticBitmap\(self, \-1, img, style = wx\.NO\_BORDER\)
   self\.\_SZR\_soap\.Add\(bmp, 0, wx\.LEFT | wx\.RIGHT | wx\.TOP | wx\.BOTTOM | wx\.EXPAND, 3\)
   \# guessed from the demo, doesn&#39;t work:
   bmp\.tip = agw\_stt\.SuperToolTip\(filename\)
   \# throws exception about wanting a wx\.Tooltip\(\)
   bmp\.SetToolTip\(agw\_stt\.SuperToolTip\(filename\)\)

How am I supposed to do this ?

Karsten
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

--
To unsubscribe, send email to wxPython-users+unsubscribe@googlegroups.com
or visit http://groups.google.com/group/wxPython-users?hl=en

> supertooltip :slight_smile: � I have googled, read the docs, and
> checked the demo to no avail...

...

I haven't used this widget yet myself, but you may check the
respective wxpython demo file

Karsten

···

On Sun, Sep 26, 2010 at 02:12:01AM +0200, Vlastimil Brom wrote:
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

As Vlastimil mentioned you need to call SetTarget, but I would also not make tip a child of bmp.

I attach a module I have done when first starting to use STT, at the time I had a problem with it to show on grid cell click.

Note that I use stt.DoShowNow() instead of the pure timer approach, I am not sure if this method made it into the latest wxPython release. It is in SVN or you can get the patch from the thread with the subject "agw.supertooltip" a little while ago.

Werner

sttVersusPopup.py (6.48 KB)

···

On 26/09/2010 01:10, Karsten Hilbert wrote:

Hello all,

I can't for the life of it find out how to actually use
supertooltip :slight_smile: I have googled, read the docs, and
checked the demo to no avail...

The idea is this: I am creating a StaticBitmap(). Now I want
to give it a supertooltip:

  bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
  self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)
  # guessed from the demo, doesn't work:
  bmp.tip = agw_stt.SuperToolTip(filename)
  # throws exception about wanting a wx.Tooltip()
  bmp.SetToolTip(agw_stt.SuperToolTip(filename))

How am I supposed to do this ?

>The idea is this: I am creating a StaticBitmap(). Now I want
>to give it a supertooltip:

...

As Vlastimil mentioned you need to call SetTarget

I entirely missed SetTarget, thank your, Werner. I am doing
this now:

    bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
    tip = agw_stt.SuperToolTip(fname)
    tip.SetTarget(bmp)
    bmp.tip = tip
    self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)

, but I would also
not make tip a child of bmp.

Any particular reason for that ?

(I agree effectively doing bmp.tip.SetTarget(bmp) does look
suspicious.)

My reason is that I am doing the above dynamically in a
refresh() method while the user is browsing a tree. Several
bitmaps can get created per node and tooltips attached to
each. If I didn't bind the tips to something they would go
out of scope when I leave the refresh() -- there would not
be any reference to them anymore, would there ? Binding them
as self.list_of_tips(tip) would work, too. I thought by
binding them to the bmp I would get the added advantage of
getting rid of them when I get rid of the previous bitmaps
in refresh().

At any rate, the above code does NOT show supertooltips for
me just yet (using the timer approach) ...

Any further ideas ?

Karsten

···

On Sun, Sep 26, 2010 at 09:21:37AM +0200, werner wrote:
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

This is with 2.8.10 on Debian/Squeeze, btw.

Karsten

···

> >The idea is this: I am creating a StaticBitmap(). Now I want
> >to give it a supertooltip:

--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

Hi Karsten,

  I entirely missed SetTarget, thank your, Werner. I am

doing


		this now:
bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
tip = agw_stt.SuperToolTip(fname)
tip.SetTarget(bmp)
bmp.tip = tip
self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)

What is fname?

I added a staticbitmap to my previous code and just do this:

       

        msg = 'something'

        tip = STT.SuperToolTip(msg)

        tip.SetTarget(self.staticBitmap1)

If I hover over the bitmap the tip shows with the text "something".

, but I would also
not make tip a child of bmp.
Any particular reason for that ?

No, it just didn’t feel right - but way not.


At any rate, the above code does NOT show supertooltips for
me just yet (using the timer approach) ...
Any further ideas ?
I use the SVN version, but I suspect that "fName" is your frame or

something and not some text see the init for SuperToolTip:

`[`__init__`](http://www.wxpython.org/docs/api/wx.lib.agw.supertooltip.SuperToolTip-class.html#__init__)(self, message, bodyImage, header, headerBmp, footer, footerBmp)`

Werner
···

On 26/09/2010 10:11, Karsten Hilbert wrote:

It's a string holding a filename:

  def refresh(self, document_folder=None, episodes=None, encounter=None):

    self.clear()
    if document_folder is not None:
      soap_docs = document_folder.get_visual_progress_notes(episodes = episodes, encounter = encounter)
      if len(soap_docs) != 0:
        for soap_doc in soap_docs:
          parts = soap_doc.parts
          if len(parts) == 0:
            continue
          fname = parts[0].export_to_file()
          if fname is None:
            continue
          img = gmGuiHelpers.file2scaled_image (
            filename = fname,
            height = 30
          )
          bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
          tip = agw_stt.SuperToolTip(fname)
          tip.SetTarget(bmp)
          bmp.tip = tip
          # this works but we need tooltips with images in them:
          #bmp.SetToolTipString(fname)
          self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)
          self.__bitmaps.append(bmp)

    self.GetParent().Layout()

Note that I never anywhere set any of the delays, such as
the startup delay - would that pose a problem ?

Also, the panel this whole shebang is on (the bitmaps
created above, that is) does NOT have wx.TAB_TRAVERSAL. I
don't think it should make a difference but one never knows.

For clarification, see the attached screenshot. I am talking
about the Kanji images at the bottom right.

Karsten

···

On Sun, Sep 26, 2010 at 10:43:40AM +0200, werner wrote:

> bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
> tip = agw_stt.SuperToolTip(fname)
> tip.SetTarget(bmp)
> bmp.tip = tip
> self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)
>
What is fname?

--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

    bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
    tip = agw_stt.SuperToolTip(fname)
    tip.SetTarget(bmp)
    bmp.tip = tip
    self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)

What is fname?

It's a string holding a filename:

  def refresh(self, document_folder=None, episodes=None, encounter=None):

    self.clear()
    if document_folder is not None:
      soap_docs = document_folder.get_visual_progress_notes(episodes = episodes, encounter = encounter)
      if len(soap_docs) != 0:
        for soap_doc in soap_docs:
          parts = soap_doc.parts
          if len(parts) == 0:
            continue
          fname = parts[0].export_to_file()
          if fname is None:
            continue
          img = gmGuiHelpers.file2scaled_image (
            filename = fname,
            height = 30
          )
          bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
          tip = agw_stt.SuperToolTip(fname)
          tip.SetTarget(bmp)
          bmp.tip = tip
          # this works but we need tooltips with images in them:
          #bmp.SetToolTipString(fname)
          self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)
          self.__bitmaps.append(bmp)

    self.GetParent().Layout()

Note that I never anywhere set any of the delays, such as
the startup delay - would that pose a problem ?

Neither do I.

Also, the panel this whole shebang is on (the bitmaps
created above, that is) does NOT have wx.TAB_TRAVERSAL. I
don't think it should make a difference but one never knows.

Wouldn't think that it would make a difference.

For clarification, see the attached screenshot. I am talking
about the Kanji images at the bottom right.

I think it should work what you are doing, but just a wild guess, can you try it just doing it for the first entry in "soap_docs".

Werner

···

On 26/09/2010 11:13, Karsten Hilbert wrote:

On Sun, Sep 26, 2010 at 10:43:40AM +0200, werner wrote:

>Also, the panel this whole shebang is on (the bitmaps
>created above, that is) does NOT have wx.TAB_TRAVERSAL. I
>don't think it should make a difference but one never knows.
>
Wouldn't think that it would make a difference.

I tested that theory and it did not make a difference, as
expected.

I think it should work what you are doing, but just a wild guess, can
you try it just doing it for the first entry in "soap_docs".

I did it on the last rather than the first bmp as that was a lot easier:

  def refresh(self, document_folder=None, episodes=None, encounter=None):

    self.clear()
    if document_folder is not None:
      soap_docs = document_folder.get_visual_progress_notes(episodes = episodes, encounter = encounter)
      if len(soap_docs) > 0:
        for soap_doc in soap_docs:
          parts = soap_doc.parts
          if len(parts) == 0:
            continue
          fname = parts[0].export_to_file()
          if fname is None:
            continue
          img = gmGuiHelpers.file2scaled_image (
            filename = fname,
            height = 30
          )
          bmp = wx.StaticBitmap(self, -1, img, style = wx.NO_BORDER)
          bmp.doc_part = parts[0]
          bmp.Bind(wx.EVT_LEFT_UP, self._on_bitmap_leftclicked)
          self._SZR_soap.Add(bmp, 0, wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM | wx.EXPAND, 3)
          self.__bitmaps.append(bmp)

        # set tooltip on last bmp
        tip = agw_stt.SuperToolTip('supertooltip on last bitmap')
        tip.SetTarget(bmp)
        bmp.tip = tip
        print tip

    self.GetParent().Layout()

That doesn't work either :slight_smile:

Karsten

···

On Sun, Sep 26, 2010 at 12:02:38PM +0200, werner wrote:
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

...

That doesn't work either :slight_smile:

No big surprise, isn't it :slight_smile:

Haven't got any other ideas, besides maybe as a work around doing it on a mouse down event on the static bitmap with using tip.DoShowNow().

Hopefully Andrea will chip in on this and have some insight why it doesn't work for you.

Werner

···

On 26/09/2010 12:44, Karsten Hilbert wrote:

>That doesn't work either :slight_smile:
No big surprise, isn't it :slight_smile:

Haven't got any other ideas,

Thanks anyway for trying.

besides maybe as a work around doing it
on a mouse down event on the static bitmap with using
tip.DoShowNow().

Hopefully Andrea will chip in on this and have some insight why it
doesn't work for you.

/me hopes so as well.

I vaguely remember a post a few months back discussing
whether and how it'd be possible to monkey-patch wxPython at
runtime to always use supertooltips instead of regular
tooltips. I cannot find that post either, anymore.

Anyway, for the time being I am using a regular tooltip
showing textual context information on the visual progress
notes while single-left-clicking the bitmap (which works, so
the bitmap/panel does indeed receive mouse events) opens up
an editor on the image anyway. The plan was to have to
supertooltip show a larger (less iconified) version of the
progress note sketch. Oh well.

Karsten

···

On Sun, Sep 26, 2010 at 01:37:42PM +0200, werner wrote:
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

Karsten,

That doesn't work either :slight_smile:

No big surprise, isn't it :slight_smile:

Haven't got any other ideas,

Thanks anyway for trying.

You are welcome.

Did a bit more trying, as I kept going around my head.

I changed my thing to add some staticbitmaps in a loop and at the end it worked. Couldn't get it to work first as I had the bmp parented to the frame instead of to the panel.

Maybe this helps to pin point why it doesn't work for you.

Werner

sttVersusPopup.py (7.94 KB)

···

On 26/09/2010 13:45, Karsten Hilbert wrote:

On Sun, Sep 26, 2010 at 01:37:42PM +0200, werner wrote:

I don't recall if wx.StaticBitmap (and other "static" widgets) on wxGTK are now getting all of the mouse events, but there was a time in the past where they did not. (Because they are not true widgets at the platform level, just drawn directly on the parent.) You may want to test this theory by setting the tip's target to some other widget in your app, or replacing the wx.StaticBitmaps with the generic widget in wx.lib.statbmp.

···

On 9/26/10 1:14 AM, Karsten Hilbert wrote:

This is with 2.8.10 on Debian/Squeeze, btw.

--
Robin Dunn
Software Craftsman

Hm, OK, no, my staticbitmaps are parented to a panel as
well. That panel is defined here (code generated by
wxGlade):

  http://gitorious.org/gnumed/gnumed/blobs/master/gnumed/gnumed/client/wxGladeWidgets/wxgVisualSoapPresenterPnl.py

and subclassed here:

  http://gitorious.org/gnumed/gnumed/blobs/master/gnumed/gnumed/client/wxpython/gmNarrativeWidgets.py#line1984

See refresh() inside that class:

  http://gitorious.org/gnumed/gnumed/blobs/master/gnumed/gnumed/client/wxpython/gmNarrativeWidgets.py#line1995

if anyone should care to look at the actual code :wink:

Note how in the wxGlade code I pre-create a horizontal
boxsizer for the bitmaps which I later retrieve via
GetSizer() on the panel (wxGlade doesn't let me store it as
an attribute on the panel for later reference).

Karsten

···

On Mon, Sep 27, 2010 at 11:57:13AM +0200, werner wrote:

I changed my thing to add some staticbitmaps in a loop and at the end
it worked. Couldn't get it to work first as I had the bmp parented
to the frame instead of to the panel.

Maybe this helps to pin point why it doesn't work for you.

--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

>This is with 2.8.10 on Debian/Squeeze, btw.

I don't recall if wx.StaticBitmap (and other "static" widgets) on
wxGTK are now getting all of the mouse events,

I see. Is there a way to find out ?

but there was a time
in the past where they did not. (Because they are not true widgets
at the platform level, just drawn directly on the parent.)

That would surely explain what I'm seeing.

Does that theory hold against the fact that standard
wxPython tooltips as per

  bmp = wx.StaticBitmap(...)
  bmp.SetToolTipString(...)

work just fine on those bitmaps ?

You may want to test this theory by setting the tip's
target to some other widget in your app,

When I do this:

  tip = agw_stt.SuperToolTip(fname)
  tip.SetTarget(self)

where "self" is the panel the bitmaps are on I get this
traceback on mouseover:

  2010-09-28 12:18:56 DEBUG gm.gui (/home/ncq/Projekte/gm-git/gnumed/gnumed/Gnumed/wxpython/gmExceptionHandlingWidgets.py::handle_uncaught_exception_wx() #46): unhandled exception caught:
  Traceback (most recent call last):
    File "/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode/wx/lib/agw/supertooltip.py", line 212, in OnPaint
      topColour, middleColour, bottomColour = classParent.GetTopGradientColour(), \
    File "/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode/wx/lib/agw/supertooltip.py", line 1060, in GetTopGradientColour
      return self._topColour
  AttributeError: 'SuperToolTip' object has no attribute '_topColour'

which at least proves something is happening. Setting the
three gradient colors manually on creation makes the
supertooltip work on the panel. Which would mean that the
supertooltip implementation in Debian/Squeeze's wxPython
2.8.10 lacks appropriate defaults.

But which also seems to show that, indeed, the standard
bitmaps do not receive the enter/leave events.

or replacing the wx.StaticBitmaps with the
generic widget in wx.lib.statbmp.

That works and the tooltip appears.

Thanks,
Karsten

···

On Mon, Sep 27, 2010 at 09:20:09AM -0700, Robin Dunn wrote:
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

The tooltip code seems to have a bug:

- make the tooltip appear
- move the mouse pointer inside the tooltipwindow until
  outside the area of the triggering control laying
  below the tooltip
- leave the tooltipwindow area

Now, the tooltip would be expected to disappear after a
delay. It does not, however, very likely because the
triggering control does not see a wx.EVENT_LEAVE_WINDOW.

It probably needs to also bind to the ToolTipWindow's
EVENT_LEAVE_WINDOW.

The faulty behaviour is that the tooltip stays right there.
One can make it disappear by re-hovering over the triggering
control and then moving out of that control directly (not
via the tipwindow).

HTH,
Karsten

···

On Tue, Sep 28, 2010 at 01:12:15PM +0200, Karsten Hilbert wrote:

> or replacing the wx.StaticBitmaps with the
> generic widget in wx.lib.statbmp.

That works and the tooltip appears.

--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346

Hi Karsten,

>This is with 2.8.10 on Debian/Squeeze, btw.

I don't recall if wx.StaticBitmap (and other "static" widgets) on
wxGTK are now getting all of the mouse events,

I see. Is there a way to find out ?

but there was a time
in the past where they did not. (Because they are not true widgets
at the platform level, just drawn directly on the parent.)

That would surely explain what I'm seeing.

Does that theory hold against the fact that standard
wxPython tooltips as per

   bmp = wx\.StaticBitmap\(\.\.\.\)
   bmp\.SetToolTipString\(\.\.\.\)

work just fine on those bitmaps ?

You may want to test this theory by setting the tip's
target to some other widget in your app,

When I do this:

   tip = agw\_stt\.SuperToolTip\(fname\)
   tip\.SetTarget\(self\)

where "self" is the panel the bitmaps are on I get this
traceback on mouseover:

   2010\-09\-28 12:18:56  DEBUG     gm\.gui \(/home/ncq/Projekte/gm\-git/gnumed/gnumed/Gnumed/wxpython/gmExceptionHandlingWidgets\.py::handle\_uncaught\_exception\_wx\(\) \#46\): unhandled exception caught:
   Traceback \(most recent call last\):
     File &quot;/usr/lib/python2\.6/dist\-packages/wx\-2\.8\-gtk2\-unicode/wx/lib/agw/supertooltip\.py&quot;, line 212, in OnPaint
       topColour, middleColour, bottomColour = classParent\.GetTopGradientColour\(\), \\
     File &quot;/usr/lib/python2\.6/dist\-packages/wx\-2\.8\-gtk2\-unicode/wx/lib/agw/supertooltip\.py&quot;, line 1060, in GetTopGradientColour
       return self\.\_topColour
   AttributeError: &#39;SuperToolTip&#39; object has no attribute &#39;\_topColour&#39;

which at least proves something is happening. Setting the
three gradient colors manually on creation makes the
supertooltip work on the panel. Which would mean that the
supertooltip implementation in Debian/Squeeze's wxPython
2.8.10 lacks appropriate defaults.

Have you tried the SVN version of SuperToolTip? It has been modified a
few times since 2.8.10.

Andrea.

"Imagination Is The Only Weapon In The War Against Reality."
http://xoomer.alice.it/infinity77/

==> Never *EVER* use RemovalGroup for your house removal. You'll
regret it forever.
The Doomed City: Removal Group: the nightmare <==

···

On 28 September 2010 12:12, Karsten Hilbert wrote:

On Mon, Sep 27, 2010 at 09:20:09AM -0700, Robin Dunn wrote:

Hi Karsten,

> or replacing the wx.StaticBitmaps with the
> generic widget in wx.lib.statbmp.

That works and the tooltip appears.

The tooltip code seems to have a bug:

- make the tooltip appear
- move the mouse pointer inside the tooltipwindow until
outside the area of the triggering control laying
below the tooltip
- leave the tooltipwindow area

Now, the tooltip would be expected to disappear after a
delay. It does not, however, very likely because the
triggering control does not see a wx.EVENT_LEAVE_WINDOW.

It probably needs to also bind to the ToolTipWindow's
EVENT_LEAVE_WINDOW.

The faulty behaviour is that the tooltip stays right there.
One can make it disappear by re-hovering over the triggering
control and then moving out of that control directly (not
via the tipwindow).

I'll check if it happens with the SVN version as well and, if it does,
I'll commit a fix.

Andrea.

"Imagination Is The Only Weapon In The War Against Reality."
http://xoomer.alice.it/infinity77/

==> Never *EVER* use RemovalGroup for your house removal. You'll
regret it forever.
The Doomed City: Removal Group: the nightmare <==

···

On 28 September 2010 12:48, Karsten Hilbert wrote:

On Tue, Sep 28, 2010 at 01:12:15PM +0200, Karsten Hilbert wrote:

It sounds to me like you have already determined that it is not getting at least the enter/leave events. If you want to do a more thorough experiment then you could create a small application that binds all mouse events and prints the event name in the handlers. Then see what you are not getting when running the test.

···

On 9/28/10 4:12 AM, Karsten Hilbert wrote:

On Mon, Sep 27, 2010 at 09:20:09AM -0700, Robin Dunn wrote:

This is with 2.8.10 on Debian/Squeeze, btw.

I don't recall if wx.StaticBitmap (and other "static" widgets) on
wxGTK are now getting all of the mouse events,

I see. Is there a way to find out ?

--
Robin Dunn
Software Craftsman