void BlockNavigationTreeWidget::addBlockNames() { QStringList list = DataflowEngineManager::getInstance()->loadBundles(); //QTreeWidgetItem* category = new QTreeWidgetItem(this); //category->setText( 0, QString("Bundles") ); QList<QTreeWidgetItem *> blockItems; for( QStringList::const_iterator iter = list.constBegin(); iter != list.constEnd(); ++iter ) { //QTreeWidgetItem *block = new QTreeWidgetItem( this); //block->setText(0, *iter ); //blockItems.append(block); blockItems.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(*iter))); } insertTopLevelItems(0, blockItems); QStringList columnName; columnName << "Elements"; setHeaderLabels(columnName); //QList<QTreeWidgetItem *> ubercodeItems; //QTreeWidgetItem *block = new QTreeWidgetItem( this); //ubercodeItems.append( ) }
/** * @brief Este metodo muda a visualização da arvore de propriedades para * o desenho passado por parametro * * @param desenho - Desenho que sera visualizado */ void VisualizadorPropriedades::visualizaDesenho(Desenho *desenho) { // Apaga visualização anterior /// @todo - Confirmar se o metodos clear() da QTreeWidget deleta os itens. clear(); // Salva referencia para o desenho que esta snedo visualizado desenhoVisualizado = desenho; // Define o numero de colunas setColumnCount(2); // Define o cabeçalho QStringList cabecalho; cabecalho << QString("Propriedade") << QString("Valor"); setHeaderLabels(cabecalho); if(desenho == 0x0) return; // Ponteiro temporario para apantar para algum item QTreeWidgetItem *item; // Uma lista temporaria de itens QList<QTreeWidgetItem *> items; // cout << "Atualizando visuzalizacao de propriedades" << endl; item = new QTreeWidgetItem((QTreeWidgetItem*)0x0,QStringList(QString("Desenho"))); // Insere propriedades de um desenho inseriDesenho(item, desenho); items << item; // Insere propriedades especificas de cada desenho switch(desenho->tipoDesenho()) { case TD_LUGAR: item = new QTreeWidgetItem((QTreeWidgetItem*)0x0,QStringList(QString("Lugar"))); inseriLugar(item, (DLugar*) desenho); break; case TD_TRANSICAO: item = new QTreeWidgetItem((QTreeWidgetItem*)0x0,QStringList(QString("Transicao"))); inseriTransicao(item, (DTransicao*) desenho); break; case TD_ARCO: item = new QTreeWidgetItem((QTreeWidgetItem*)0x0,QStringList(QString("Arco"))); inseriArco(item, (DArco*) desenho); break; case TD_REDE_PETRI: item = new QTreeWidgetItem((QTreeWidgetItem*)0x0,QStringList(QString("Rede Petri"))); inseriRedePetri(item, (DRedePetri*) desenho); break; default: item = 0x0; break; case TD_VARIAVEL_AMBIENTE: item = new QTreeWidgetItem((QTreeWidgetItem*)0x0,QStringList(QString("Variavel de Ambiemte"))); inseriVariavelAmbiente(item , (DVariavelAmbiente*) desenho); break; } if(item) items << item; // Adiciona os itens na Arvore insertTopLevelItems(0,items); expandAll(); }
void GxsCommentTreeWidget::completeItems() { /* handle pending items */ RsGxsMessageId parentId; QTreeWidgetItem *parent = NULL; QList<QTreeWidgetItem *> topLevelItems; std::map<RsGxsMessageId, QTreeWidgetItem *>::iterator lit; std::multimap<RsGxsMessageId, QTreeWidgetItem *>::iterator pit; std::cerr << "GxsCommentTreeWidget::completeItems() " << mPendingInsertMap.size(); std::cerr << " PendingItems"; std::cerr << std::endl; for(pit = mPendingInsertMap.begin(); pit != mPendingInsertMap.end(); ++pit) { std::cerr << "GxsCommentTreeWidget::completeItems() item->parent: " << pit->first; std::cerr << std::endl; if (pit->first != parentId) { /* find parent */ parentId = pit->first; lit = mLoadingMap.find(pit->first); if (lit != mLoadingMap.end()) { parent = lit->second; } else { parent = NULL; } } if (parent) { std::cerr << "GxsCommentTreeWidget::completeItems() Added to Parent"; std::cerr << std::endl; parent->addChild(pit->second); } else if (parentId == mThreadId.second) { std::cerr << "GxsCommentTreeWidget::completeItems() Added to topLevelItems"; std::cerr << std::endl; topLevelItems.append(pit->second); } else { /* missing parent -> insert At Top Level */ QTreeWidgetItem *missingItem = service_createMissingItem(pit->first); std::cerr << "GxsCommentTreeWidget::completeItems() Added MissingItem"; std::cerr << std::endl; parent = missingItem; parent->addChild(pit->second); topLevelItems.append(parent); } } /* now push final tree into Tree */ clear(); insertTopLevelItems(0, topLevelItems); /* cleanup temp stuff */ mLoadingMap.clear(); mPendingInsertMap.clear(); }