void ObserverStateMachine::showLayerLegend() { int layer = treeLayers->topLevelItemCount(); QTreeWidgetItem *parent = 0, *child = 0; Attributes *attrib = 0; QVector<ObsLegend> *leg = 0; for(int i = 0; i < layer; i++) { parent = treeLayers->topLevelItem(i); treeLayers->setItemExpanded(parent, true); attrib = mapAttributes->value(parent->text(0)); leg = attrib->getLegend(); if (parent->childCount() > 0) parent->takeChildren(); for(int j = 0; j < leg->size(); j++) { if (states->contains(leg->at(j).getLabel()) ) { child = new QTreeWidgetItem( parent); child->setSizeHint(0, ICON_SIZE); child->setText(0, leg->at(j).getLabel()); QColor color = leg->at(j).getColor(); if (! leg->at(j).getLabel().contains("mean")) child->setData(0, Qt::DecorationRole, legendWindow->color2Pixmap(color, ICON_SIZE)); else child->setData(0, Qt::DecorationRole, QString("")); // Define as cores dos estados Node *node = states->value(leg->at(j).getLabel()); node->setColor(color); node->update(node->boundingRect()); } } } treeLayers->resizeColumnToContents(0); }
void ObserverMap::showLayerLegend() { int layer = treeLayers->topLevelItemCount(); QTreeWidgetItem *parent = 0, *child = 0; Attributes *attrib = 0; QVector<ObsLegend> *leg = 0; for (int i = 0; i < layer; i++) { parent = treeLayers->topLevelItem(i); treeLayers->setItemExpanded(parent, true); attrib = mapAttributes->value(parent->text(0)); leg = attrib->getLegend(); if (parent->childCount() > 0) parent->takeChildren(); for (int j = 0; j < leg->size(); j++) { child = new QTreeWidgetItem(parent); child->setSizeHint(0, ICON_SIZE); child->setText(0, leg->at(j).getLabel()); QColor color = leg->at(j).getColor(); if (attrib->getType() == TObsNeighborhood) { child->setData(0, Qt::DecorationRole, legendWindow->color2PixmapLine(color, attrib->getWidth())); } else { if (!leg->at(j).getLabel().contains("mean")) child->setData(0, Qt::DecorationRole, legendWindow->color2Pixmap(color, ICON_SIZE)); else child->setData(0, Qt::DecorationRole, QString("")); } } } treeLayers->resizeColumnToContents(0); }