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 #ifndef GAMMARAY_PROPERTYWIDGET_H
25 #define GAMMARAY_PROPERTYWIDGET_H
27 #include "ui_propertywidget.h"
30 class QStandardItemModel
;
34 class ConnectionFilterProxyModel
;
35 class MultiSignalMapper
;
36 class ObjectDynamicPropertyModel
;
37 class ObjectStaticPropertyModel
;
38 class ObjectClassInfoModel
;
39 class ObjectMethodModel
;
40 class ObjectEnumModel
;
41 class MetaPropertyModel
;
42 class PropertyEditorFactory
;
44 class PropertyWidget
: public QWidget
48 explicit PropertyWidget(QWidget
*parent
= 0);
50 void setObject(QObject
*object
);
51 void setObject(void *object
, const QString
&className
);
54 void setQObjectTabsVisible(bool visible
);
55 void setEditorFactory(QAbstractItemView
*view
);
58 void methodActivated(const QModelIndex
&index
);
59 void signalEmitted(QObject
*sender
, int signalIndex
);
60 void methodConextMenu(const QPoint
&pos
);
63 Ui::PropertyWidget ui
;
64 QPointer
<QObject
> m_object
;
65 ObjectStaticPropertyModel
*m_staticPropertyModel
;
66 ObjectDynamicPropertyModel
*m_dynamicPropertyModel
;
67 ObjectClassInfoModel
*m_classInfoModel
;
68 ObjectMethodModel
*m_methodModel
;
69 ConnectionFilterProxyModel
*m_inboundConnectionModel
;
70 ConnectionFilterProxyModel
*m_outboundConnectionModel
;
71 ObjectEnumModel
*m_enumModel
;
72 MultiSignalMapper
*m_signalMapper
;
73 QStandardItemModel
*m_methodLogModel
;
74 MetaPropertyModel
*m_metaPropertyModel
;
75 QScopedPointer
<PropertyEditorFactory
> m_editorFactory
;
80 #endif // GAMMARAY_PROPERTYWIDGET_H