1 #ifndef GUI_WIDGETS_CONTROLS___ROW_MODEL__HPP
2 #define GUI_WIDGETS_CONTROLS___ROW_MODEL__HPP
36 #include <wx/variant.h>
83 return (*m_Sorter)( bRow, aRow );
100 : m_SorterOne( aSorter )
101 , m_SorterTwo( bSorter )
107 bool rv =(*m_SorterOne)( aRow, bRow );
112 rv = (*m_SorterOne)( bRow, aRow );
117 return (*m_SorterTwo)( aRow, bRow );
127 virtual bool operator()(
const wxVariant& aAny,
const wxVariant& bAny )
const = 0;
141 : m_Sorter( aSorter )
142 , m_Column( aColumn )
163 : m_ColSorters( aSorters )
169 ITERATE( vector<CSorterByColumn*>, sort_itr, m_ColSorters ){
172 int cmp = (*sorter)( aRow, bRow );
virtual bool operator()(const IwxRowModel &aRow, const IwxRowModel &bRow) const
CReverseSorter(CIRef< IRowSorter > aSorter)
CIRef< IRowSorter > m_Sorter
CSorterByColumn(IwxVariantSorter *aSorter, int aColumn)
IwxVariantSorter * m_Sorter
void SetColumn(int aColumn)
virtual bool operator()(const IwxRowModel &aRow, const IwxRowModel &bRow) const
CSorterByMultiCols(vector< CSorterByColumn * > aSorters)
virtual bool operator()(const IwxRowModel &aRow, const IwxRowModel &bRow) const
vector< CSorterByColumn * > m_ColSorters
CIRef< IRowSorter > m_SorterOne
CIRef< IRowSorter > m_SorterTwo
virtual bool operator()(const IwxRowModel &aRow, const IwxRowModel &bRow) const
CTandemSorter(CIRef< IRowSorter > aSorter, CIRef< IRowSorter > bSorter)
virtual bool operator()(const IwxRowModel &aRow) const =0
virtual bool operator()(const IwxRowModel &aRow, const IwxRowModel &bRow) const =0
virtual int GetNumColumns() const =0
virtual wxVariant GetValueAtColumn(int col) const =0
virtual bool operator()(const wxVariant &aAny, const wxVariant &bAny) const =0
virtual ~IwxVariantSorter()
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIWIDGETS_WX_EXPORT