git-svn-id: svn://db.shs.com.ru/libs@560 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-06-23 09:54:54 +00:00
parent 385bf61d96
commit 1f36401d20
6 changed files with 543 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
#include "objects_view.h"
#include <QScrollBar>
#include <QTreeWidget>
enum ColumnObjects {
coClassName,
coName,
coParents,
coQueuedEvents,
};
ObjectsView::ObjectsView(QWidget * parent): QWidget(parent) {
setupUi(this);
}
ObjectsView::~ObjectsView() {
}
void ObjectsView::changeEvent(QEvent * e) {
QWidget::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
retranslateUi(this);
break;
default:
break;
}
}
void ObjectsView::showObjects(const PIVector<PIIntrospection::ObjectInfo> & objects) {
QHash<QString, int> stat;
int vpos = treeObjects->verticalScrollBar()->value();
treeObjects->clear();
piForeachC (PIIntrospection::ObjectInfo & i, objects) {
stat[PI2QString(i.classname)]++;
QTreeWidgetItem * ti = new QTreeWidgetItem();
ti->setText(coClassName, PI2QString(i.classname));
ti->setText(coName, PI2QString(i.name));
ti->setText(coParents, PI2QString(i.parents.join(":")));
ti->setText(coQueuedEvents, QString::number(i.queued_events));
treeObjects->addTopLevelItem(ti);
}
treeObjects->verticalScrollBar()->setValue(vpos);
vpos = treeObjectsStat->verticalScrollBar()->value();
treeObjectsStat->clear();
for (auto i = stat.constBegin(); i != stat.constEnd(); ++i) {
QTreeWidgetItem * ti = new QTreeWidgetItem();
ti->setText(0, i.key());
ti->setText(1, QString::number(i.value()));
treeObjectsStat->addTopLevelItem(ti);
}
treeObjectsStat->verticalScrollBar()->setValue(vpos);
}