wxTreeEvent::Clone() support [patch #1061198].
[wxWidgets.git] / src / common / treebase.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: treebase.cpp
3 // Purpose: Base wxTreeCtrl classes
4 // Author: Julian Smart
5 // Created: 01/02/97
6 // Modified:
7 // Id: $Id$
8 // Copyright: (c) 1998 Robert Roebling, Julian Smart et al
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 // =============================================================================
13 // declarations
14 // =============================================================================
15
16 // -----------------------------------------------------------------------------
17 // headers
18 // -----------------------------------------------------------------------------
19
20 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
21 #pragma implementation "treebase.h"
22 #endif
23
24 // For compilers that support precompilation, includes "wx.h".
25 #include "wx/wxprec.h"
26
27 #ifdef __BORLANDC__
28 #pragma hdrstop
29 #endif
30
31 #if wxUSE_TREECTRL
32
33 #include "wx/treebase.h"
34 #include "wx/settings.h"
35 #include "wx/log.h"
36 #include "wx/intl.h"
37 #include "wx/dynarray.h"
38 #include "wx/arrimpl.cpp"
39 #include "wx/dcclient.h"
40
41
42 // ----------------------------------------------------------------------------
43 // events
44 // ----------------------------------------------------------------------------
45
46 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_BEGIN_DRAG)
47 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_BEGIN_RDRAG)
48 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT)
49 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_END_LABEL_EDIT)
50 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_DELETE_ITEM)
51 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_GET_INFO)
52 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_SET_INFO)
53 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_EXPANDED)
54 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_EXPANDING)
55 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_COLLAPSED)
56 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_COLLAPSING)
57 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_SEL_CHANGED)
58 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_SEL_CHANGING)
59 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_KEY_DOWN)
60 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_ACTIVATED)
61 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK)
62 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_MIDDLE_CLICK)
63 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_END_DRAG)
64 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_STATE_IMAGE_CLICK)
65 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP)
66
67 // ----------------------------------------------------------------------------
68 // Tree event
69 // ----------------------------------------------------------------------------
70
71 IMPLEMENT_DYNAMIC_CLASS(wxTreeEvent, wxNotifyEvent)
72
73
74 wxTreeEvent::wxTreeEvent(wxEventType commandType, int id)
75 : wxNotifyEvent(commandType, id)
76 {
77 m_itemOld = 0l;
78 m_editCancelled = false;
79 }
80
81 wxTreeEvent::wxTreeEvent(const wxTreeEvent & event)
82 : wxNotifyEvent(event)
83 {
84 m_evtKey = event.m_evtKey;
85 m_item = event.m_item;
86 m_itemOld = event.m_itemOld;
87 m_pointDrag = event.m_pointDrag;
88 m_label = event.m_label;
89 m_editCancelled = event.m_editCancelled;
90 }
91
92 #endif // wxUSE_TREECTRL
93