]> git.saurik.com Git - wxWidgets.git/commitdiff
Applied [ 858342 ] Event-based processing of item tooltips in generic TreeCtrl
authorJulian Smart <julian@anthemion.co.uk>
Sat, 13 Dec 2003 10:20:48 +0000 (10:20 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Sat, 13 Dec 2003 10:20:48 +0000 (10:20 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/treectlg.cpp

index 3e40803ef194907438301218808703905266b6a9..e6b2bfd19eeb88ccc8aebc473f2c0b7c8e6cfcab 100644 (file)
@@ -2857,6 +2857,23 @@ void wxGenericTreeCtrl::OnMouse( wxMouseEvent &event )
 {
     if ( !m_anchor ) return;
 
+    // Determines what item we are hovering over and need a tooltip for
+    wxTreeItemId HoverItem = HitTest(ScreenToClient(wxGetMousePosition()));
+
+    // We do not want a tooltip if we are dragging, or if the rename timer is running
+    if (HoverItem.IsOk() && !m_isDragging  && (!m_renameTimer || !m_renameTimer->IsRunning()))
+    {
+        // Ask the tree control what tooltip (if any) should be shown
+        wxTreeEvent hevent(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP, GetId());
+        hevent.m_item = (long) HoverItem;
+        hevent.SetEventObject(this);
+
+        if ( GetEventHandler()->ProcessEvent(hevent) && hevent.IsAllowed() )
+        {
+            SetToolTip(hevent.m_label);
+        }
+    }
+    
     // we process left mouse up event (enables in-place edit), right down
     // (pass to the user code), left dbl click (activate item) and
     // dragging/moving events for items drag-and-drop