Implemended column header mouse clicks.

Ascending/descending sorting.
  Setting the little arrow indicator for ascending
    and desceding sorting.
  Generic stubs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2006-10-06 09:50:45 +00:00
parent b468ca37a2
commit 31fb32e137
7 changed files with 211 additions and 17 deletions

View File

@@ -287,9 +287,15 @@ int wxCALLBACK wxDataViewListModelSortedDefaultCompare
return 0;
}
int wxCALLBACK wxDataViewListModelSortedDefaultCompareDescending
(unsigned int row1, unsigned int row2, unsigned int col, wxDataViewListModel* model )
{
return wxDataViewListModelSortedDefaultCompare( row2, row1, col, model );
}
static wxDataViewListModelCompare s_CmpFunc;
static wxDataViewListModel *s_CmpModel;
static unsigned int s_CmpCol;
static unsigned int s_CmpCol;
int LINKAGEMODE wxDataViewIntermediateCmp( unsigned int row1, unsigned int row2 )
{
@@ -306,9 +312,8 @@ wxDataViewSortedListModel::wxDataViewSortedListModel( wxDataViewListModel *child
m_array( wxDataViewIntermediateCmp )
{
m_child = child;
s_CmpCol = 0;
s_CmpModel = child;
s_CmpFunc = wxDataViewListModelSortedDefaultCompare;
m_ascending = true;
m_notifierOnChild = new wxDataViewSortedListModelNotifier( this );
m_child->AddNotifier( m_notifierOnChild );
@@ -321,8 +326,21 @@ wxDataViewSortedListModel::~wxDataViewSortedListModel()
m_child->RemoveNotifier( m_notifierOnChild );
}
// FIXME
void wxDataViewSortedListModel::InitStatics()
{
s_CmpCol = 0;
s_CmpModel = m_child;
if (m_ascending)
s_CmpFunc = wxDataViewListModelSortedDefaultCompare;
else
s_CmpFunc = wxDataViewListModelSortedDefaultCompareDescending;
}
void wxDataViewSortedListModel::Resort()
{
InitStatics();
m_array.Clear();
unsigned int n = m_child->GetNumberOfRows();
unsigned int i;
@@ -866,6 +884,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxDataViewEvent,wxNotifyEvent)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_DATAVIEW_ROW_SELECTED)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_DATAVIEW_ROW_ACTIVATED)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_CLICK)
DEFINE_EVENT_TYPE(wxEVT_COMMAND_DATAVIEW_COLUMN_HEADER_RIGHT_CLICK)
#endif