d/control: Recommend gdb
[gammaray-debian.git] / objectmethodmodel.cpp
blob12f198445330a579bd0a115fc6f0791cad1f3bef
1 /*
2 objectmethodmodel.cpp
4 This file is part of GammaRay, the Qt application inspection and
5 manipulation tool.
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
36 Q_UNUSED(parent);
37 return 4;
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:
50 return tr("Method");
51 case QMetaMethod::Constructor:
52 return tr("Constructor");
53 case QMetaMethod::Slot:
54 return tr("Slot");
55 case QMetaMethod::Signal:
56 return tr("Signal");
57 default:
58 return tr("Unknown");
61 if (index.column() == 2) {
62 switch (method.access()) {
63 case QMetaMethod::Public:
64 return tr("Public");
65 case QMetaMethod::Protected:
66 return tr("Protected");
67 case QMetaMethod::Private:
68 return tr("Private");
69 default:
70 return tr("Unknown");
73 } else if (role == MetaMethodRole) {
74 return QVariant::fromValue(method);
76 return QVariant();
79 QString GammaRay::ObjectMethodModel::columnHeader(int index) const
81 switch (index) {
82 case 0:
83 return tr("Signature");
84 case 1:
85 return tr("Type");
86 case 2:
87 return tr("Access");
89 return QString();