more specific solution to tooltips appearing on neighboring views, refs #15072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
2be6dfe6c5
commit
bc6626eb73
@ -3590,6 +3590,13 @@ void wxGenericTreeCtrl::OnMouse( wxMouseEvent &event )
|
||||
wxTreeEvent
|
||||
hevent(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP, this, hoverItem);
|
||||
|
||||
// setting a tooltip upon leaving a view is getting the tooltip displayed
|
||||
// on the neighbouring view ...
|
||||
#ifdef __WXOSX__
|
||||
if ( event.Leaving() )
|
||||
SetToolTip(NULL);
|
||||
else
|
||||
#endif
|
||||
if ( GetEventHandler()->ProcessEvent(hevent) )
|
||||
{
|
||||
// If the user permitted the tooltip change, update it, otherwise
|
||||
|
@ -1180,7 +1180,7 @@ void wxWidgetCocoaImpl::mouseEvent(WX_NSEvent event, WXWidget slf, void *_cmd)
|
||||
{
|
||||
// we are getting moved events for all windows in the hierarchy, not something wx expects
|
||||
// therefore we only handle it for the deepest child in the hierarchy
|
||||
if ( 1 /* [event type] == NSMouseMoved */ )
|
||||
if ( [event type] == NSMouseMoved )
|
||||
{
|
||||
NSView* hitview = [[[slf window] contentView] hitTest:[event locationInWindow]];
|
||||
if ( hitview == NULL || hitview != slf)
|
||||
@ -2522,7 +2522,7 @@ void wxWidgetCocoaImpl::InstallEventHandler( WXWidget control )
|
||||
|
||||
}
|
||||
NSTrackingAreaOptions options = NSTrackingMouseEnteredAndExited|NSTrackingCursorUpdate|NSTrackingMouseMoved|NSTrackingActiveAlways|NSTrackingInVisibleRect;
|
||||
NSTrackingArea* area = [[NSTrackingArea alloc] initWithRect: NSZeroRect options: options owner: m_osxView userInfo: nil];
|
||||
NSTrackingArea* area = [[NSTrackingArea alloc] initWithRect: NSZeroRect options: options owner: m_osxView userInfo: nil];
|
||||
[m_osxView addTrackingArea: area];
|
||||
[area release];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user