4 This file is part of GammaRay, the Qt application inspection and
7 Copyright (C) 2010-2011 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
8 Author: Volker Krause <volker.krause@kdab.com>
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation, either version 2 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>.
24 #include "objectmethodmodel.h"
26 using namespace GammaRay
;
28 ObjectMethodModel::ObjectMethodModel(QObject
*parent
)
29 : MetaObjectModel
<QMetaMethod
, &QMetaObject::method
,
30 &QMetaObject::methodCount
, &QMetaObject::methodOffset
>(parent
)
34 int GammaRay::ObjectMethodModel::columnCount(const QModelIndex
&parent
) const
40 QVariant
ObjectMethodModel::metaData(const QModelIndex
&index
,
41 const QMetaMethod
&method
, int role
) const
43 if (role
== Qt::DisplayRole
) {
44 if (index
.column() == 0) {
45 return method
.signature();
47 if (index
.column() == 1) {
48 switch (method
.methodType()) {
49 case QMetaMethod::Method
:
51 case QMetaMethod::Constructor
:
52 return tr("Constructor");
53 case QMetaMethod::Slot
:
55 case QMetaMethod::Signal
:
61 if (index
.column() == 2) {
62 switch (method
.access()) {
63 case QMetaMethod::Public
:
65 case QMetaMethod::Protected
:
66 return tr("Protected");
67 case QMetaMethod::Private
:
73 } else if (role
== MetaMethodRole
) {
74 return QVariant::fromValue(method
);
79 QString
GammaRay::ObjectMethodModel::columnHeader(int index
) const
83 return tr("Signature");