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)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_MENU)
 
 // ----------------------------------------------------------------------------
 // Tree event
            : wxNotifyEvent(commandType, id)
 {
     m_itemOld = 0l;
-    m_editCancelled = FALSE;
+    m_editCancelled = false;
 }
 
+wxTreeEvent::wxTreeEvent(const wxTreeEvent & event)
+           : wxNotifyEvent(event)
+{
+    m_evtKey = event.m_evtKey;
+    m_item = event.m_item;
+    m_itemOld = event.m_itemOld;
+    m_pointDrag = event.m_pointDrag;
+    m_label = event.m_label;
+    m_editCancelled = event.m_editCancelled;
+}
+
+#if WXWIN_COMPATIBILITY_2_2
+
+int wxTreeEvent::GetCode() const
+{
+    return m_evtKey.GetKeyCode();
+}
+
+#endif // WXWIN_COMPATIBILITY_2_2
+
 #endif // wxUSE_TREECTRL