// Name: wx/listctrl.h
// Purpose: interface of wxListCtrl
// Author: wxWidgets team
-// RCS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
@beginEventEmissionTable{wxListEvent}
@event{EVT_LIST_BEGIN_DRAG(id, func)}
Begin dragging with the left mouse button.
- Processes a @c wxEVT_COMMAND_LIST_BEGIN_DRAG event type.
+ Processes a @c wxEVT_LIST_BEGIN_DRAG event type.
@event{EVT_LIST_BEGIN_RDRAG(id, func)}
Begin dragging with the right mouse button.
- Processes a @c wxEVT_COMMAND_LIST_BEGIN_RDRAG event type.
+ Processes a @c wxEVT_LIST_BEGIN_RDRAG event type.
@event{EVT_BEGIN_LABEL_EDIT(id, func)}
Begin editing a label. This can be prevented by calling Veto().
- Processes a @c wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT event type.
+ Processes a @c wxEVT_LIST_BEGIN_LABEL_EDIT event type.
@event{EVT_LIST_END_LABEL_EDIT(id, func)}
Finish editing a label. This can be prevented by calling Veto().
- Processes a @c wxEVT_COMMAND_LIST_END_LABEL_EDIT event type.
+ Processes a @c wxEVT_LIST_END_LABEL_EDIT event type.
@event{EVT_LIST_DELETE_ITEM(id, func)}
An item was deleted.
- Processes a @c wxEVT_COMMAND_LIST_DELETE_ITEM event type.
+ Processes a @c wxEVT_LIST_DELETE_ITEM event type.
@event{EVT_LIST_DELETE_ALL_ITEMS(id, func)}
All items were deleted.
- Processes a @c wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS event type.
+ Processes a @c wxEVT_LIST_DELETE_ALL_ITEMS event type.
@event{EVT_LIST_ITEM_SELECTED(id, func)}
The item has been selected.
- Processes a @c wxEVT_COMMAND_LIST_ITEM_SELECTED event type.
+ Processes a @c wxEVT_LIST_ITEM_SELECTED event type.
@event{EVT_LIST_ITEM_DESELECTED(id, func)}
The item has been deselected.
- Processes a @c wxEVT_COMMAND_LIST_ITEM_DESELECTED event type.
+ Processes a @c wxEVT_LIST_ITEM_DESELECTED event type.
@event{EVT_LIST_ITEM_ACTIVATED(id, func)}
The item has been activated (ENTER or double click).
- Processes a @c wxEVT_COMMAND_LIST_ITEM_ACTIVATED event type.
+ Processes a @c wxEVT_LIST_ITEM_ACTIVATED event type.
@event{EVT_LIST_ITEM_FOCUSED(id, func)}
The currently focused item has changed.
- Processes a @c wxEVT_COMMAND_LIST_ITEM_FOCUSED event type.
+ Processes a @c wxEVT_LIST_ITEM_FOCUSED event type.
@event{EVT_LIST_ITEM_MIDDLE_CLICK(id, func)}
The middle mouse button has been clicked on an item. This is
only supported by the generic control.
- Processes a @c wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK event type.
+ Processes a @c wxEVT_LIST_ITEM_MIDDLE_CLICK event type.
@event{EVT_LIST_ITEM_RIGHT_CLICK(id, func)}
The right mouse button has been clicked on an item.
- Processes a @c wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK event type.
+ Processes a @c wxEVT_LIST_ITEM_RIGHT_CLICK event type.
@event{EVT_LIST_KEY_DOWN(id, func)}
A key has been pressed.
- Processes a @c wxEVT_COMMAND_LIST_KEY_DOWN event type.
+ Processes a @c wxEVT_LIST_KEY_DOWN event type.
@event{EVT_LIST_INSERT_ITEM(id, func)}
An item has been inserted.
- Processes a @c wxEVT_COMMAND_LIST_INSERT_ITEM event type.
+ Processes a @c wxEVT_LIST_INSERT_ITEM event type.
@event{EVT_LIST_COL_CLICK(id, func)}
A column (m_col) has been left-clicked.
- Processes a @c wxEVT_COMMAND_LIST_COL_CLICK event type.
+ Processes a @c wxEVT_LIST_COL_CLICK event type.
@event{EVT_LIST_COL_RIGHT_CLICK(id, func)}
A column (m_col) has been right-clicked.
- Processes a @c wxEVT_COMMAND_LIST_COL_RIGHT_CLICK event type.
+ Processes a @c wxEVT_LIST_COL_RIGHT_CLICK event type.
@event{EVT_LIST_COL_BEGIN_DRAG(id, func)}
The user started resizing a column - can be vetoed.
- Processes a @c wxEVT_COMMAND_LIST_COL_BEGIN_DRAG event type.
+ Processes a @c wxEVT_LIST_COL_BEGIN_DRAG event type.
@event{EVT_LIST_COL_DRAGGING(id, func)}
The divider between columns is being dragged.
- Processes a @c wxEVT_COMMAND_LIST_COL_DRAGGING event type.
+ Processes a @c wxEVT_LIST_COL_DRAGGING event type.
@event{EVT_LIST_COL_END_DRAG(id, func)}
A column has been resized by the user.
- Processes a @c wxEVT_COMMAND_LIST_COL_END_DRAG event type.
+ Processes a @c wxEVT_LIST_COL_END_DRAG event type.
@event{EVT_LIST_CACHE_HINT(id, func)}
Prepare cache for a virtual list control.
- Processes a @c wxEVT_COMMAND_LIST_CACHE_HINT event type.
+ Processes a @c wxEVT_LIST_CACHE_HINT event type.
@endEventTable
@library{wxcore}
@category{ctrl}
- @appearance{listctrl.png}
+ @appearance{listctrl}
@see @ref overview_listctrl, wxListView, wxListBox, wxTreeCtrl, wxImageList,
wxListEvent, wxListItem, wxEditableListBox
@since 2.9.4
*/
long AppendColumn(const wxString& heading,
- int format = wxLIST_FORMAT_LEFT,
+ wxListColumnFormat format = wxLIST_FORMAT_LEFT,
int width = -1);
/**
/**
Deletes all items and all columns.
- @note This sends an event of type @c wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS
+ @note This sends an event of type @c wxEVT_LIST_DELETE_ALL_ITEMS
under all platforms.
*/
void ClearAll();
/**
Deletes all items in the list control.
- This function does @e not send the @c wxEVT_COMMAND_LIST_DELETE_ITEM
+ This function does @e not send the @c wxEVT_LIST_DELETE_ITEM
event because deleting many items from the control would be too slow
then (unlike wxListCtrl::DeleteItem) but it does send the special @c
- wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS event if the control was not empty.
+ wxEVT_LIST_DELETE_ALL_ITEMS event if the control was not empty.
If it was already empty, nothing is done and no event is sent.
@return @true if the items were successfully deleted or if the control
/**
Deletes the specified item.
- This function sends the @c wxEVT_COMMAND_LIST_DELETE_ITEM event for the
+ This function sends the @c wxEVT_LIST_DELETE_ITEM event for the
item being deleted.
@see DeleteAllItems()
wxTextCtrl* EditLabel(long item,
wxClassInfo* textControlClass = wxCLASSINFO(wxTextCtrl));
+ /**
+ Enable alternating row background colours (also called zebra striping).
+
+ This method can only be called for the control in virtual report mode,
+ i.e. having ::wxLC_REPORT and ::wxLC_VIRTUAL styles.
+
+ When enabling alternating colours, the appropriate colour for the even
+ rows is chosen automatically depending on the default foreground and
+ background colours which are used for the odd rows.
+
+ @param enable
+ If @true, enable alternating row background colours, i.e. different
+ colours for the odd and even rows. If @false, disable this feature
+ and use the same background colour for all rows.
+
+ @since 2.9.5
+
+ @see SetAlternateRowColour()
+ */
+ void EnableAlternateRowColours(bool enable = true);
+
/**
Enable or disable a beep if there is no match for the currently
entered text when searching for the item from keyboard.
*/
wxRect GetViewRect() const;
+ /**
+ Set the alternative row background colour to a specific colour.
+
+ It is recommended to call EnableAlternateRowColours() instead of using
+ these methods as native implementations of this control might support
+ alternating row colours but not setting the exact colour to be used for
+ them.
+
+ As EnableAlternateRowColours(), this method can only be used with
+ controls having ::wxLC_REPORT and ::wxLC_VIRTUAL styles.
+
+ @param colour
+ A valid alternative row background colour to enable alternating
+ rows or invalid colour to disable them and use the same colour for
+ all rows.
+
+ @since 2.9.5
+ */
+ void SetAlternateRowColour(const wxColour& colour);
+
/**
Determines which item (if any) is at the specified point, giving details
in @a flags. Returns index of the item or @c wxNOT_FOUND if no item is at
};
-wxEventType wxEVT_COMMAND_LIST_BEGIN_DRAG;
-wxEventType wxEVT_COMMAND_LIST_BEGIN_RDRAG;
-wxEventType wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT;
-wxEventType wxEVT_COMMAND_LIST_END_LABEL_EDIT;
-wxEventType wxEVT_COMMAND_LIST_DELETE_ITEM;
-wxEventType wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS;
-wxEventType wxEVT_COMMAND_LIST_ITEM_SELECTED;
-wxEventType wxEVT_COMMAND_LIST_ITEM_DESELECTED;
-wxEventType wxEVT_COMMAND_LIST_KEY_DOWN;
-wxEventType wxEVT_COMMAND_LIST_INSERT_ITEM;
-wxEventType wxEVT_COMMAND_LIST_COL_CLICK;
-wxEventType wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK;
-wxEventType wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK;
-wxEventType wxEVT_COMMAND_LIST_ITEM_ACTIVATED;
-wxEventType wxEVT_COMMAND_LIST_CACHE_HINT;
-wxEventType wxEVT_COMMAND_LIST_COL_RIGHT_CLICK;
-wxEventType wxEVT_COMMAND_LIST_COL_BEGIN_DRAG;
-wxEventType wxEVT_COMMAND_LIST_COL_DRAGGING;
-wxEventType wxEVT_COMMAND_LIST_COL_END_DRAG;
-wxEventType wxEVT_COMMAND_LIST_ITEM_FOCUSED;
+wxEventType wxEVT_LIST_BEGIN_DRAG;
+wxEventType wxEVT_LIST_BEGIN_RDRAG;
+wxEventType wxEVT_LIST_BEGIN_LABEL_EDIT;
+wxEventType wxEVT_LIST_END_LABEL_EDIT;
+wxEventType wxEVT_LIST_DELETE_ITEM;
+wxEventType wxEVT_LIST_DELETE_ALL_ITEMS;
+wxEventType wxEVT_LIST_ITEM_SELECTED;
+wxEventType wxEVT_LIST_ITEM_DESELECTED;
+wxEventType wxEVT_LIST_KEY_DOWN;
+wxEventType wxEVT_LIST_INSERT_ITEM;
+wxEventType wxEVT_LIST_COL_CLICK;
+wxEventType wxEVT_LIST_ITEM_RIGHT_CLICK;
+wxEventType wxEVT_LIST_ITEM_MIDDLE_CLICK;
+wxEventType wxEVT_LIST_ITEM_ACTIVATED;
+wxEventType wxEVT_LIST_CACHE_HINT;
+wxEventType wxEVT_LIST_COL_RIGHT_CLICK;
+wxEventType wxEVT_LIST_COL_BEGIN_DRAG;
+wxEventType wxEVT_LIST_COL_DRAGGING;
+wxEventType wxEVT_LIST_COL_END_DRAG;
+wxEventType wxEVT_LIST_ITEM_FOCUSED;
/**
@library{wxcore}
@category{ctrl}
- @appearance{listview.png}
+ @appearance{listview}
@see wxListView::SetColumnImage
*/