]> git.saurik.com Git - wxWidgets.git/blob - src/common/treebase.cpp
50a8c96f811392dfee5562e17a59fa48371663cf
[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 DEFINE_EVENT_TYPE(wxEVT_COMMAND_TREE_ITEM_MENU)
67
68 // ----------------------------------------------------------------------------
69 // Tree event
70 // ----------------------------------------------------------------------------
71
72 IMPLEMENT_DYNAMIC_CLASS(wxTreeEvent, wxNotifyEvent)
73
74
75 wxTreeEvent::wxTreeEvent(wxEventType commandType, int id)
76 : wxNotifyEvent(commandType, id)
77 {
78 m_itemOld = 0l;
79 m_editCancelled = false;
80 }
81
82 wxTreeEvent::wxTreeEvent(const wxTreeEvent & event)
83 : wxNotifyEvent(event)
84 {
85 m_evtKey = event.m_evtKey;
86 m_item = event.m_item;
87 m_itemOld = event.m_itemOld;
88 m_pointDrag = event.m_pointDrag;
89 m_label = event.m_label;
90 m_editCancelled = event.m_editCancelled;
91 }
92
93 #if WXWIN_COMPATIBILITY_2_2
94
95 int wxTreeEvent::GetCode() const
96 {
97 return m_evtKey.GetKeyCode();
98 }
99
100 #endif // WXWIN_COMPATIBILITY_2_2
101
102 #endif // wxUSE_TREECTRL
103