1 ///////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxListCtrl class
4 // Author: Vadim Zeitlin
7 // Copyright: (c) wxWidgets team
8 // Licence: wxWindows licence
9 ///////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_LISTCTRL_H_BASE_
12 #define _WX_LISTCTRL_H_BASE_
14 #include "wx/defs.h" // headers should include this before first wxUSE_XXX check
18 #include "wx/listbase.h"
20 // ----------------------------------------------------------------------------
22 // ----------------------------------------------------------------------------
24 extern WXDLLIMPEXP_DATA_CORE(const char) wxListCtrlNameStr
[];
26 // ----------------------------------------------------------------------------
27 // include the wxListCtrl class declaration
28 // ----------------------------------------------------------------------------
30 #if defined(__WXMSW__) && !defined(__WXUNIVERSAL__)
31 #include "wx/msw/listctrl.h"
32 #elif defined(__WXMAC__) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON
33 #include "wx/osx/listctrl.h"
35 #include "wx/generic/listctrl.h"
38 // ----------------------------------------------------------------------------
39 // wxListView: a class which provides a better API for list control
40 // ----------------------------------------------------------------------------
42 class WXDLLIMPEXP_CORE wxListView
: public wxListCtrl
46 wxListView( wxWindow
*parent
,
47 wxWindowID winid
= wxID_ANY
,
48 const wxPoint
& pos
= wxDefaultPosition
,
49 const wxSize
& size
= wxDefaultSize
,
50 long style
= wxLC_REPORT
,
51 const wxValidator
& validator
= wxDefaultValidator
,
52 const wxString
&name
= wxListCtrlNameStr
)
54 Create(parent
, winid
, pos
, size
, style
, validator
, name
);
57 // focus/selection stuff
58 // ---------------------
61 void Select(long n
, bool on
= true)
63 SetItemState(n
, on
? wxLIST_STATE_SELECTED
: 0, wxLIST_STATE_SELECTED
);
66 // focus and show the given item
67 void Focus(long index
)
69 SetItemState(index
, wxLIST_STATE_FOCUSED
, wxLIST_STATE_FOCUSED
);
73 // get the currently focused item or -1 if none
74 long GetFocusedItem() const
76 return GetNextItem(-1, wxLIST_NEXT_ALL
, wxLIST_STATE_FOCUSED
);
79 // get first and subsequent selected items, return -1 when no more
80 long GetNextSelected(long item
) const
81 { return GetNextItem(item
, wxLIST_NEXT_ALL
, wxLIST_STATE_SELECTED
); }
82 long GetFirstSelected() const
83 { return GetNextSelected(-1); }
85 // return true if the item is selected
86 bool IsSelected(long index
) const
87 { return GetItemState(index
, wxLIST_STATE_SELECTED
) != 0; }
92 void SetColumnImage(int col
, int image
)
95 item
.SetMask(wxLIST_MASK_IMAGE
);
100 void ClearColumnImage(int col
) { SetColumnImage(col
, -1); }
103 DECLARE_DYNAMIC_CLASS_NO_COPY(wxListView
)
106 #endif // wxUSE_LISTCTRL
109 // _WX_LISTCTRL_H_BASE_