We now have a current svn snapshot of libqxt in our contrib dir, and
[quassel.git] / src / contrib / libqxt-2007-10-24 / src / sql / qxtsqlpackagemodel.cpp
1 /****************************************************************************
2 **
3 ** Copyright (C) Qxt Foundation. Some rights reserved.
4 **
5 ** This file is part of the QxtSql module of the Qt eXTension library
6 **
7 ** This library is free software; you can redistribute it and/or modify it
8 ** under the terms of th Common Public License, version 1.0, as published by
9 ** IBM.
10 **
11 ** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
12 ** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
13 ** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
14 ** FITNESS FOR A PARTICULAR PURPOSE.
15 **
16 ** You should have received a copy of the CPL along with this file.
17 ** See the LICENSE file and the cpl1.0.txt file included with the source
18 ** distribution for more information. If you did not receive a copy of the
19 ** license, contact the Qxt Foundation.
20 **
21 ** <http://libqxt.sourceforge.net>  <foundation@libqxt.org>
22 **
23 ****************************************************************************/
24
25 #include "qxtsqlpackagemodel.h"
26
27
28
29 QxtSqlPackageModel::QxtSqlPackageModel  (QObject * parent ) : QAbstractTableModel(parent)
30 {}
31
32
33 void QxtSqlPackageModel::setQuery(QxtSqlPackage a)
34 {
35     pack =a;
36
37 }
38
39
40 int QxtSqlPackageModel::rowCount ( const QModelIndex &  ) const
41 {
42     return pack.count();
43 }
44
45
46 int QxtSqlPackageModel::columnCount ( const QModelIndex & ) const
47 {
48     QxtSqlPackage p =pack;
49     return p.hash(0).count();
50 }
51
52
53 QVariant QxtSqlPackageModel::data ( const QModelIndex  & index, int role  ) const
54 {
55     if  (role != Qt::DisplayRole )
56         return QVariant();
57
58
59
60     if ((index.row()<0)  || (index.column()<0)  ) return QVariant();
61     QxtSqlPackage p =pack;
62
63     return  p.hash(index.row()).values ().at( index.column());
64
65
66 }
67
68
69 QVariant QxtSqlPackageModel::headerData ( int section, Qt::Orientation orientation, int role  ) const
70 {
71
72     if (orientation == Qt::Vertical && role == Qt::DisplayRole)
73         return section;
74
75
76     if (orientation==Qt::Horizontal && role == Qt::DisplayRole)
77     {
78         QxtSqlPackage p =pack;
79         return p.hash(0).keys ().at( section )    ;
80     }
81
82     return QAbstractItemModel::headerData(section, orientation, role);
83
84 }
85