\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
-for a range id identifiers. Pass the ids of the tools.}
+for a range of identifiers. Pass the ids of the tools.}
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
Pass the id of the tool.}
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGED(id, func)}}{Selection has changed.}
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGING(id, func)}}{Selection is changing. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
\twocolitem{{\bf EVT\_TREE\_KEY\_DOWN(id, func)}}{A key has been pressed.}
+\twocolitem{{\bf EVT\_TREE\_ITEM\_GETTOOLTIP(id, func)}}{The opportunity to set the item tooltip
+is being given to the application (call wxTreeEvent::SetToolTip). Windows only.}
\end{twocollist}
\wxheading{See also}
\twocolitem{{\bf EVT\_TREE\_KEY\_DOWN(id, func)}}{A key has been pressed.}
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGED(id, func)}}{Selection has changed.}
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGING(id, func)}}{Selection is changing. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
+\twocolitem{{\bf EVT\_TREE\_KEY\_DOWN(id, func)}}{A key has been pressed.}
+\twocolitem{{\bf EVT\_TREE\_ITEM\_GETTOOLTIP(id, func)}}{The opportunity to set the item tooltip
+is being given to the application (call wxTreeEvent::SetToolTip). Windows only.}
\end{twocollist}%
\wxheading{See also}
Returns true if the label edit was cancelled. This should be
called from within an EVT\_TREE\_END\_LABEL\_EDIT handler.
+\membersection{wxTreeEvent::SetToolTip}
+
+\func{void}{SetToolTip}{\param{const wxString\&}{ tooltip}}
+
+Set the tooltip for the item (valid for EVT\_TREE\_ITEM\_GETTOOLTIP events).
+Windows only.
+
bool IsEditCancelled() const { return m_editCancelled; }
void SetEditCanceled(bool editCancelled) { m_editCancelled = editCancelled; }
+ // Set the tooltip for the item (for EVT\_TREE\_ITEM\_GETTOOLTIP events)
+ void SetToolTip(const wxString& toolTip) { m_label = toolTip; }
+
#if WXWIN_COMPATIBILITY_2_2
// for compatibility only, don't use
int GetCode() const { return m_evtKey.GetKeyCode(); }
DECLARE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK, 616)
DECLARE_EVENT_TYPE(wxEVT_COMMAND_TREE_END_DRAG, 617)
DECLARE_EVENT_TYPE(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, 618)
+ DECLARE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP, 619)
END_DECLARE_EVENT_TYPES()
// GetItem() returns the item being dragged, GetPoint() the mouse coords
// GetItem() returns the item whose state image was clicked on
#define EVT_TREE_STATE_IMAGE_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, NULL ),
+// GetItem() is the item for which the tooltip is being requested
+#define EVT_TREE_ITEM_GETTOOLTIP(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxTreeEventFunction) & fn, (wxObject *) NULL ),
+
#endif // wxUSE_TREECTRL
#endif // _WX_TREEBASE_H_
DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_END_DRAG)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP)
// ----------------------------------------------------------------------------
// Tree event
wstyle |= TVS_CHECKBOXES;
#endif // wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE
+ // Need so that TVN_GETINFOTIP messages will be sent
+ wstyle |= TVS_INFOTIP;
+
// Create the tree control.
if ( !MSWCreateControl(WC_TREEVIEW, wstyle) )
return false;
break;
}
+
+ // These *must* not be removed or TVN_GETINFOTIP will
+ // not be processed each time the mouse is moved
+ // and the tooltip will only ever update once.
+ case TTN_NEEDTEXTA:
+ case TTN_NEEDTEXTW:
+ {
+ *result = 0;
+
+ break;
+ }
+
+ case TVN_GETINFOTIP:
+ {
+ eventType = wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP;
+ NMTVGETINFOTIP *info = (NMTVGETINFOTIP*)lParam;
+
+ // Which item are we trying to get a tooltip for?
+ event.m_item = (WXHTREEITEM) info->hItem;
+
+ break;
+ }
+
case TVN_GETDISPINFO:
eventType = wxEVT_COMMAND_TREE_GET_INFO;
// fall through
DeleteTextCtrl();
break;
+ case TVN_GETINFOTIP:
+ {
+ // If the user permitted a tooltip change, change it
+ if (event.IsAllowed())
+ {
+ SetToolTip(event.m_label);
+ }
+ }
+ break;
+
case TVN_SELCHANGING:
case TVN_ITEMEXPANDING:
// return true to prevent the action from happening