Update the documentation for wxListCtrl column ordering
This commit is contained in:
committed by
Vadim Zeitlin
parent
797bc2c087
commit
48b1175f61
@@ -152,6 +152,40 @@ enum
|
|||||||
modes. You can use the generic implementation for report mode as well by setting
|
modes. You can use the generic implementation for report mode as well by setting
|
||||||
the @c mac.listctrl.always_use_generic system option (see wxSystemOptions) to 1.
|
the @c mac.listctrl.always_use_generic system option (see wxSystemOptions) to 1.
|
||||||
|
|
||||||
|
@subsection column_order Column Ordering
|
||||||
|
|
||||||
|
By default, the columns of a list control appear on the screen in order
|
||||||
|
of their indices, i.e. column 0 appears first, then column 1 next,
|
||||||
|
and so on. However this can be changed by using the SetColumnsOrder() function
|
||||||
|
to arbitrarily reorder the columns visual order.
|
||||||
|
|
||||||
|
The user can also rearrange the columns interactively by dragging them.
|
||||||
|
In this case, the index of the column is not the same as its order and
|
||||||
|
the functions GetColumnOrder() and GetColumnIndexFromOrder() should be
|
||||||
|
used to translate between them.
|
||||||
|
|
||||||
|
@note All the other functions still work with the column indices,
|
||||||
|
i.e. the visual positioning of the columns on screen doesn't affect the
|
||||||
|
code setting or getting their values for example.
|
||||||
|
|
||||||
|
Example of reordering columns:
|
||||||
|
@code
|
||||||
|
wxListCtrl *list = new wxListCtrl(...);
|
||||||
|
for ( int i = 0; i < 3; i++ )
|
||||||
|
list->InsertColumn(i, wxString::Format("Column %d", i));
|
||||||
|
|
||||||
|
wxArrayInt order(3);
|
||||||
|
order[0] = 2;
|
||||||
|
order[1] = 0;
|
||||||
|
order[2] = 1;
|
||||||
|
list->SetColumnsOrder(order);
|
||||||
|
|
||||||
|
// now list->GetColumnsOrder() will return order and
|
||||||
|
// list->GetColumnIndexFromOrder(n) will return order[n] and
|
||||||
|
// list->GetColumnOrder() will return 1, 2 and 0 for the column 0,
|
||||||
|
// 1 and 2 respectively
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
|
||||||
@beginStyleTable
|
@beginStyleTable
|
||||||
@style{wxLC_LIST}
|
@style{wxLC_LIST}
|
||||||
@@ -538,8 +572,10 @@ public:
|
|||||||
corresponds to the value of the element number @a pos in the array
|
corresponds to the value of the element number @a pos in the array
|
||||||
returned by GetColumnsOrder().
|
returned by GetColumnsOrder().
|
||||||
|
|
||||||
Please see SetColumnsOrder() documentation for an example and
|
@note This function makes sense for report view only and currently is only
|
||||||
additional remarks about the columns ordering.
|
implemented in the wxMSW port. Use @c wxHAS_LISTCTRL_COLUMN_ORDER to guard uses
|
||||||
|
of this function so that they will start working under the other platforms when
|
||||||
|
support for the column reordering is added there.
|
||||||
|
|
||||||
@see GetColumnOrder()
|
@see GetColumnOrder()
|
||||||
*/
|
*/
|
||||||
@@ -552,8 +588,10 @@ public:
|
|||||||
given visual position, e.g. calling it with @a col equal to 0 returns
|
given visual position, e.g. calling it with @a col equal to 0 returns
|
||||||
the index of the first shown column.
|
the index of the first shown column.
|
||||||
|
|
||||||
Please see SetColumnsOrder() documentation for an example and
|
@note This function makes sense for report view only and currently is only
|
||||||
additional remarks about the columns ordering.
|
implemented in the wxMSW port. Use @c wxHAS_LISTCTRL_COLUMN_ORDER to guard uses
|
||||||
|
of this function so that they will start working under the other platforms when
|
||||||
|
support for the column reordering is added there.
|
||||||
|
|
||||||
@see GetColumnsOrder(), GetColumnIndexFromOrder()
|
@see GetColumnsOrder(), GetColumnIndexFromOrder()
|
||||||
*/
|
*/
|
||||||
@@ -569,8 +607,10 @@ public:
|
|||||||
|
|
||||||
On error, an empty array is returned.
|
On error, an empty array is returned.
|
||||||
|
|
||||||
Please see SetColumnsOrder() documentation for an example and
|
@note This function makes sense for report view only and currently is only
|
||||||
additional remarks about the columns ordering.
|
implemented in the wxMSW port. Use @c wxHAS_LISTCTRL_COLUMN_ORDER to guard uses
|
||||||
|
of this function so that they will start working under the other platforms when
|
||||||
|
support for the column reordering is added there.
|
||||||
|
|
||||||
@see GetColumnOrder(), GetColumnIndexFromOrder()
|
@see GetColumnOrder(), GetColumnIndexFromOrder()
|
||||||
*/
|
*/
|
||||||
@@ -1027,17 +1067,6 @@ public:
|
|||||||
/**
|
/**
|
||||||
Changes the order in which the columns are shown.
|
Changes the order in which the columns are shown.
|
||||||
|
|
||||||
By default, the columns of a list control appear on the screen in order
|
|
||||||
of their indices, i.e. the column 0 appears first, the column 1 next
|
|
||||||
and so on. However by using this function it is possible to arbitrarily
|
|
||||||
reorder the columns visual order and the user can also rearrange the
|
|
||||||
columns interactively by dragging them. In this case, the index of the
|
|
||||||
column is not the same as its order and the functions GetColumnOrder()
|
|
||||||
and GetColumnIndexFromOrder() should be used to translate between them.
|
|
||||||
Notice that all the other functions still work with the column indices,
|
|
||||||
i.e. the visual positioning of the columns on screen doesn't affect the
|
|
||||||
code setting or getting their values for example.
|
|
||||||
|
|
||||||
The @a orders array must have the same number elements as the number of
|
The @a orders array must have the same number elements as the number of
|
||||||
columns and contain each position exactly once. Its n-th element
|
columns and contain each position exactly once. Its n-th element
|
||||||
contains the index of the column to be shown in n-th position, so for a
|
contains the index of the column to be shown in n-th position, so for a
|
||||||
@@ -1045,28 +1074,9 @@ public:
|
|||||||
results in the third column being displayed first, the first one next
|
results in the third column being displayed first, the first one next
|
||||||
and the second one last.
|
and the second one last.
|
||||||
|
|
||||||
Example of using it:
|
@note This function makes sense for report view only and currently is only
|
||||||
@code
|
implemented in the wxMSW port. Use @c wxHAS_LISTCTRL_COLUMN_ORDER to guard uses
|
||||||
wxListCtrl *list = new wxListCtrl(...);
|
of this function so that they will start working under the other platforms when
|
||||||
for ( int i = 0; i < 3; i++ )
|
|
||||||
list->InsertColumn(i, wxString::Format("Column %d", i));
|
|
||||||
|
|
||||||
wxArrayInt order(3);
|
|
||||||
order[0] = 2;
|
|
||||||
order[1] = 0;
|
|
||||||
order[2] = 1;
|
|
||||||
list->SetColumnsOrder(order);
|
|
||||||
|
|
||||||
// now list->GetColumnsOrder() will return order and
|
|
||||||
// list->GetColumnIndexFromOrder(n) will return order[n] and
|
|
||||||
// list->GetColumnOrder() will return 1, 2 and 0 for the column 0,
|
|
||||||
// 1 and 2 respectively
|
|
||||||
@endcode
|
|
||||||
|
|
||||||
Please notice that this function makes sense for report view only and
|
|
||||||
currently is only implemented in wxMSW port. To avoid explicit tests
|
|
||||||
for @c __WXMSW__ in your code, please use @c wxHAS_LISTCTRL_COLUMN_ORDER
|
|
||||||
as this will allow it to start working under the other platforms when
|
|
||||||
support for the column reordering is added there.
|
support for the column reordering is added there.
|
||||||
|
|
||||||
@see GetColumnsOrder()
|
@see GetColumnsOrder()
|
||||||
|
Reference in New Issue
Block a user