4
//////////////////////////////////////////////////////////////////////////////
8
// Copyright (c) 2009-2010 Hugo Pereira Da Costa <hugo.pereira@free.fr>
10
// Permission is hereby granted, free of charge, to any person obtaining a copy
11
// of this software and associated documentation files (the "Software"), to
12
// deal in the Software without restriction, including without limitation the
13
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
14
// sell copies of the Software, and to permit persons to whom the Software is
15
// furnished to do so, subject to the following conditions:
17
// The above copyright notice and this permission notice shall be included in
18
// all copies or substantial portions of the Software.
20
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
27
//////////////////////////////////////////////////////////////////////////////
29
#include "oxygen_export.h"
31
#include <QtCore/QAbstractItemModel>
36
//! Job model. Stores job information for display in lists
37
class OXYGEN_EXPORT ItemModel : public QAbstractItemModel
43
explicit ItemModel(QObject *parent = 0);
49
//! return all indexes in model starting from parent [recursive]
50
QModelIndexList indexes( int column = 0, const QModelIndex& parent = QModelIndex() ) const;
56
virtual void sort( void )
57
{ sort( sortColumn(), sortOrder() ); }
60
virtual void sort( int column, Qt::SortOrder order = Qt::AscendingOrder );
62
//! current sorting column
63
const int& sortColumn( void ) const
64
{ return _sortColumn; }
66
//! current sort order
67
const Qt::SortOrder& sortOrder( void ) const
68
{ return _sortOrder; }
74
//! this sort columns without calling the layout changed callbacks
75
void privateSort( void )
76
{ privateSort( sortColumn(), sortOrder() ); }
78
//! private sort, with no signals emmitted
79
virtual void privateSort( int column, Qt::SortOrder order ) = 0;
81
//! used to sort items in list
88
explicit SortFTor( const int& type, Qt::SortOrder order = Qt::AscendingOrder ):
109
Qt::SortOrder _sortOrder;