+ QString val;
+
+ bool deep = isVariantDeep(var);
+ if (!deep) {
+ variantToString(var, val);
+ }
+
+ //qDebug()<<"key = "<<key;
+ //qDebug()<<"val = "<<val;
+ QStringList lst;
+ lst += key;
+ lst += val;
+
+ QTreeWidgetItem *item = new QTreeWidgetItem((QTreeWidgetItem *)0, lst);
+
+ if (deep) {
+ QList<QTreeWidgetItem *> children;
+ if (var.type() == QVariant::Map) {
+ QVariantMap map = var.toMap();
+ QVariantMap defaultMap = defaultVar.toMap();
+ variantMapToItems(map, defaultMap, children);
+ }
+ if (var.type() == QVariant::List) {
+ QVector<QVariant> lst = var.toList().toVector();
+ QVector<QVariant> defaultLst = defaultVar.toList().toVector();
+ variantListToItems(lst, defaultLst, children);
+ }
+ item->addChildren(children);
+ }
+
+ return item;
+}
+
+static void addSurfaceItem(const ApiSurface &surface,
+ const QString &label,
+ QTreeWidgetItem *parent,
+ QTreeWidget *tree)
+{
+ QIcon icon(QPixmap::fromImage(surface.thumb()));
+ QTreeWidgetItem *item = new QTreeWidgetItem(parent);
+ item->setIcon(0, icon);
+
+ int width = surface.size().width();
+ int height = surface.size().height();
+ QString descr =
+ QString::fromLatin1("%1, %2, %3 x %4")
+ .arg(label)
+ .arg(surface.formatName())
+ .arg(width)
+ .arg(height);
+
+ //item->setText(1, descr);
+ QLabel *l = new QLabel(descr, tree);
+ l->setWordWrap(true);
+ tree->setItemWidget(item, 1, l);
+
+ item->setData(0, Qt::UserRole, surface.image());
+}
+
+void MainWindow::fillStateForFrame()
+{
+ if (!m_selectedEvent || !m_selectedEvent->hasState()) {