void CFontFileListView::unmark() { QList<QTreeWidgetItem *> items(selectedItems()); QTreeWidgetItem *item; foreach(item, items) if(item->parent()) unmarkItem(item); checkFiles(); }
void GraphModeler::linkComponent() { // get the selected component helper::vector< QTreeWidgetItem* > selection; getSelectedItems(selection); // a component must be selected if(selection.empty()) return; QTreeWidgetItem *fromItem = *selection.begin(); BaseObject *fromObject = getObject(fromItem); // the object must exist if(!fromObject) return; // the object must not be a loader if(dynamic_cast<sofa::core::loader::BaseLoader*>(fromObject)) return; // store the partial component hierarchy i.e we store the parent Nodes only std::vector<QTreeWidgetItem*> items; for(QTreeWidgetItem *item = fromItem->parent(); item != NULL; item = item->parent()) items.push_back(item); // create and show the LinkComponent dialog box sofa::gui::qt::LinkComponent *window=new sofa::gui::qt::LinkComponent(this, items, fromItem); if(window->loaderNumber() == 0) { window->close(); QMessageBox* messageBox = new QMessageBox(QMessageBox::Warning, "No loaders", "This tree branch does not contain any loader to link with."); messageBox->show(); return; } connect(window, SIGNAL(displayMessage(const std::string&)), this, SIGNAL(displayMessage(const std::string&))); window->show(); }
void CastTreeViewer::deleteFolder() { QTreeWidgetItem *item = currentItem(); if (!item || !item->parent()) return; QString itemName = item->data(0, Qt::DisplayRole).toString(); if (itemName == AudioFolderName) return; int ret = DVGui::MsgBox(tr("Delete folder ") + item->text(0) + "?", tr("Yes"), tr("No"), 1); if (ret == 2 || ret == 0) return; QTreeWidgetItem *parentItem = item->parent(); TFilePath childPath(item->data(1, Qt::DisplayRole).toString().toStdWString()); TLevelSet *levelSet = TApp::instance()->getCurrentScene()->getScene()->getLevelSet(); levelSet->removeFolder(childPath); TApp::instance()->getCurrentScene()->setDirtyFlag(true); parentItem->removeChild(item); setCurrentItem(parentItem); }
bool BasketListViewItem::isShown() { QTreeWidgetItem *item = parent(); while (item) { if (!item->isExpanded()) return false; item = item->parent(); } return true; }
/* Add Money tree - Return this Item */ QTreeWidgetItem * MainWindow::addItemMoneyTree(const QString &item, int money, const QDate & date, const QString & id){ QTreeWidgetItem * moneyitem = new QTreeWidgetItem; moneyitem->setText(0,item); moneyitem->setText(1,QString::number(money)); moneyitem->setText(2,id); addDateMoneyTree(date)->addChild(moneyitem); ui->moneytree->setCurrentItem(moneyitem); updateMoneyTree(moneyitem->parent()); return moneyitem; }
void GUIImport::updateTreeChecks(QObject* obj) { QTreeWidgetItem* sender = (QTreeWidgetItem*)obj; QCheckBox* check = (QCheckBox*)ui->viewTree->itemWidget(sender, COL_CHECKBOX); if (!sender->parent()) { Qt::CheckState state = check->checkState(); if (check->checkState() == Qt::PartiallyChecked) state = Qt::Unchecked; // just disable or enable childs for (int i = 0; i < sender->childCount(); i++) { QTreeWidgetItem* attrItem = sender->child(i); QCheckBox* attr_check = (QCheckBox*)ui->viewTree->itemWidget(attrItem, COL_CHECKBOX); attr_check->setCheckState(state); } } else { // clicking on child, check state of siblings int numChecked = 0; int numChilds = sender->parent()->childCount(); if (numChilds > 0) { for (int i = 0; i < numChilds; i++) { QCheckBox* attr_check = (QCheckBox*)ui->viewTree->itemWidget(sender->parent()->child(i), COL_CHECKBOX); if (attr_check->checkState() == Qt::Checked) numChecked++; } QCheckBox* view_check = (QCheckBox*)ui->viewTree->itemWidget(sender->parent(), COL_CHECKBOX); if (numChecked == numChilds) view_check->setCheckState(Qt::Checked); else view_check->setCheckState(Qt::PartiallyChecked); } } }
void FileComparatorWindow::saveDetails() { QString filename; QFileDialog dialog(this); QStringList filters; filters.append(QString(tr("Text File (*.txt)"))); dialog.setFileMode(QFileDialog::AnyFile); dialog.setNameFilters(filters); dialog.setViewMode(QFileDialog::Detail); dialog.setAcceptMode(QFileDialog::AcceptSave); if (dialog.exec() == QDialog::Accepted) { filename = dialog.selectedFiles()[0]; if (!filename.contains('.')) filename += ".txt"; QFile *outFile = new QFile(filename); if (!outFile->open(QIODevice::WriteOnly | QIODevice::Text)) return; QTreeWidget *tree = ui->treeDetails; QTreeWidgetItemIterator it(tree); while (*it) { QTreeWidgetItem *item = *it; QString itemText = item->text(0); while (item->parent()) { outFile->write(" "); item = item->parent(); } outFile->write(itemText.toUtf8() + "\n"); ++it; } outFile->close(); } }
void TestRegressionWindow::testerExited(int /* exitCode */, QProcess::ExitStatus exitStatus) { assert(m_activeProcess != 0); assert(m_activeTreeItem != 0); if(exitStatus == QProcess::CrashExit) // Special case: crash! { QTreeWidgetItem *useItem = m_activeTreeItem; if(m_testCounter >= 0 || m_runCounter > 0) // Single-tests mode invoked on a directory OR All-test-mode { QTreeWidgetItem *parent = useItem->parent(); assert(parent != 0); useItem = parent->child(parent->indexOfChild(useItem) + 1); assert(useItem != 0); } // Reflect crashed test... updateItemStatus(Crash, useItem, QString()); } if(m_testCounter >= 0) // All-tests mode m_ui.progressBar->setValue(m_ui.progressBar->maximum()); // Eventually save log output... if(!m_saveLogUrl.isEmpty()) { // We should close our written log with </body></html>. m_processingQueue.enqueue(QString::fromLatin1("\n</body>\n</html>")); if(!m_justProcessingQueue) { m_justProcessingQueue = true; QTimer::singleShot(50, this, SLOT(processQueue())); } } // Cleanup gui... m_ui.saveLogButton->setEnabled(true); m_ui.actionRun_tests->setEnabled(true); m_ui.pauseContinueButton->setEnabled(false); // Check if there is already an output/index.html present... loadOutputHTML(); // Cleanup data.. delete m_activeProcess; m_activeProcess = 0; m_runCounter = 0; m_testCounter = 0; m_activeTreeItem = 0; }
//---------------------------------------------------------------------------------------- void ScriptTreeWidget::mouseDoubleClickEvent(QMouseEvent *event) { QList<QTreeWidgetItem*> list = selectedItems(); if(list.size() == 0) return; QTreeWidgetItem *item = list[0]; if(item->parent() == 0) return; while(item->parent() != 0 && item->parent()->parent() != 0) item = item->parent(); Ogre::String scriptname = item->text(0).toStdString(); Ogre::String scriptfilename = item->whatsThis(0).toStdString(); GenericTextEditor::getSingletonPtr()->displayTextFromFile(scriptfilename.c_str()); }
void TREE_ARAMA_KERNEL::REFRESH_TREE_WIDGET() { QTreeWidgetItem * item = m_tree_widget->currentItem(); if ( item EQ NULL ) { return; } m_tree_widget->collapseItem(item->parent()); m_tree_widget->expandItem (item->parent()); }
void TreeWidgetEditor::on_newItemButton_clicked() { m_updating = true; QTreeWidgetItem *curItem = ui.treeWidget->currentItem(); QTreeWidgetItem *newItem = 0; if (curItem) { if (curItem->parent()) newItem = new QTreeWidgetItem(curItem->parent(), curItem); else newItem = new QTreeWidgetItem(ui.treeWidget, curItem); } else newItem = new QTreeWidgetItem(ui.treeWidget); newItem->setText(0, tr("New Item")); newItem->setFlags(newItem->flags() | Qt::ItemIsEditable); ui.treeWidget->setCurrentItem(newItem, ui.listWidget->currentRow()); m_updating = false; updateEditor(); ui.treeWidget->editItem(newItem, ui.listWidget->currentRow()); }
void EditContactEntryDialog::on_addButton_clicked() { QTreeWidgetItem* item = ui->propertiesTreeWidget->selectedItems().at(0); QTreeWidgetItem* topLevelItem = item->parent() ? item->parent() : item; data::ContactProperty::EType type = ui->propertiesTreeWidget->indexOfTopLevelItem(topLevelItem) == 0 ? data::ContactProperty::E_TYPE_EMAIL : data::ContactProperty::E_TYPE_PHONE_NUMBER; data::ptr<data::ContactProperty> contactProperty(new data::ContactProperty(m_contactEntry, QString(), "<new>", type)); QTreeWidgetItem* newItem = new QTreeWidgetItem(); initPropertiesTreeWidgetItem(newItem, contactProperty); if (item == topLevelItem) { topLevelItem->addChild(newItem); } else { topLevelItem->insertChild(topLevelItem->indexOfChild(item) + 1, newItem); } }
void GxsForumsFillThread::calculateExpand(const RsGxsForumMsg &msg, QTreeWidgetItem *item) { if (mFillComplete && mExpandNewMessages && IS_MSG_UNREAD(msg.mMeta.mMsgStatus)) { QTreeWidgetItem *parentItem = item; while ((parentItem = parentItem->parent()) != NULL) { if (std::find(mItemToExpand.begin(), mItemToExpand.end(), parentItem) == mItemToExpand.end()) { mItemToExpand.push_back(parentItem); } } } }
void CantactTreeWidget::deleteCantact() { int ret = QMessageBox::warning(NULL, "warning", "确定要删除该联系人吗?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); if(ret == QMessageBox::Yes) { QTreeWidgetItem *item = currentWidgetItem; QTreeWidgetItem *parent = item->parent(); parent->removeChild(currentWidgetItem); currentWidgetItem = NULL; } }
void LibraryTreeWidget::remove() { QList<QTreeWidgetItem*> selectedItems = this->selectedItems(); for (int i = 0; i < selectedItems.size(); ++i) { QTreeWidgetItem* item = selectedItems[i]; if (item->parent()) item->parent()->removeChild(item); } std::stack<QTreeWidgetItem*> stack; for (int i = 0; i < selectedItems.size(); ++i) stack.push(selectedItems[i]); while (!stack.empty()) { QTreeWidgetItem* item = stack.top(); stack.pop(); QString fileName = item->data(0, Qt::UserRole).toMap()["filename"].toString(); QFileInfo fileInfo(fileName); if (fileInfo.suffix().toLower() == "lua") dependencyGraph_.removeCode(fileName); for (int i = 0; i < item->childCount(); ++i) stack.push(item->child(i)); } for (int i = 0; i < selectedItems.size(); ++i) { QTreeWidgetItem* item = selectedItems[i]; delete item; } checkModification(); }
void PropertySelectionTree::mouseMoveEvent(QMouseEvent* e) { if (e->buttons() & Qt::LeftButton) { if ((e->pos() - dragStartPosition_).manhattanLength() < QApplication::startDragDistance()) return; QTreeWidgetItem* selectedProperty = itemAt(dragStartPosition_); if (selectedProperty && selectedProperty->parent()) { //create drag object } } }
void MenuBarTree::removeItem() { QTreeWidgetItem* item = currentItem(); if (!item) return; if (indexOfTopLevelItem(item) >= 0) takeTopLevelItem(indexOfTopLevelItem(item)); else item->parent()->removeChild(item); delete item; }
void SummaryTree::deleteTestCase() { QTreeWidgetItem *curItem = currentItem(); QTreeWidgetItem *parentItem = curItem->parent(); int taskIndex = indexOfTopLevelItem(parentItem); int testCaseIndex = parentItem->indexOfChild(curItem); Task *curTask = curContest->getTask(taskIndex); delete curItem; curTask->deleteTestCase(testCaseIndex); for (int i = 0; i < parentItem->childCount(); i ++) parentItem->child(i)->setText(0, tr("Test Case #%1").arg(i + 1)); }
bool TreeWidget::edit(const QModelIndex &index, EditTrigger trigger, QEvent *event) { QTreeWidgetItem *item = itemFromIndex(index); if (!item || !item->parent()) { return false; } // all settings are child of the owner if (item->data(_editableColumn, AS_ROLE).isNull()) { return false; } if (index.column() == _editableColumn) { qDebug("starting edit"); return QTreeWidget::edit(index, trigger, event); } else { return false; } }
/*! \brief Remove the selected entity node */ void EntitiesTreeWidget::onRemove() { QTreeWidgetItem *item = currentItem(); if(!item){ return; } if(QMessageBox::question(this,"Removing","Are you sure to remove this item?") == QMessageBox::Yes){ item->parent()->removeChild(item); } }
void TreeWidgetEditor::on_moveItemRightButton_clicked() { QTreeWidgetItem *curItem = ui.treeWidget->currentItem(); if (!curItem) return; int idx, idxCount; if (curItem->parent()) { idx = curItem->parent()->indexOfChild(curItem); idxCount = curItem->parent()->childCount(); } else { idx = ui.treeWidget->indexOfTopLevelItem(curItem); idxCount = ui.treeWidget->topLevelItemCount(); } if (idx == idxCount - 1) return; m_updating = true; QTreeWidgetItem *takenItem = 0; if (curItem->parent()) { QTreeWidgetItem *parentItem = curItem->parent()->child(idx + 1); takenItem = curItem->parent()->takeChild(idx); parentItem->insertChild(0, takenItem); } else { QTreeWidgetItem *parentItem = ui.treeWidget->topLevelItem(idx + 1); takenItem = ui.treeWidget->takeTopLevelItem(idx); parentItem->insertChild(0, takenItem); } ui.treeWidget->setCurrentItem(takenItem, ui.listWidget->currentRow()); m_updating = false; updateEditor(); }
void ObjectInspectorTable::dropEvent(QDropEvent *event) { if ( event->source() == this ) { QTreeWidgetItem *target = itemAt(event->pos()); if ( target ) { if ( m_objectMap[target] ) { // on est pas sur un layout ! target = target->parent(); } foreach (QTreeWidgetItem *it, selectedItems()) { if ( m_objectMap[it] ) { // on est pas sur un layout ! // re retrouve le layout source QTreeWidgetItem *source = it; if ( m_objectMap[source] ) { // on est pas sur un layout ! source = source->parent(); } // source != target ? if (source != target) { source->removeChild(it); target->addChild(it); m_objectMap[it]->setZValue(-indexOfTopLevelItem(target) - 1); Log::d("ObjectInspectorTable") << "dropEvent, zIndex = " << -indexOfTopLevelItem(target) - 1; m_objectMap[it]->setVisible( target->checkState(0) == Qt::Checked ); target->setExpanded(true); } else { Log::w("ObjectInspectorTable") << "drop event, source == target"; } } } Log::d("ObjectInspectorTable") << "drop event, target = " << target->data(0, Qt::DisplayRole).toString(); } event->accept(); } else { // mauvais format mine
QModelIndex DbStructureModel::parent(const QModelIndex& index) const { if(!index.isValid()) return QModelIndex(); QTreeWidgetItem* childItem = static_cast<QTreeWidgetItem*>(index.internalPointer()); QTreeWidgetItem* parentItem = childItem->parent(); if(parentItem == rootItem) return QModelIndex(); else return createIndex(0, 0, parentItem); }
void CGameObjectEditor::OnUISelectionChanged() { if( m_ObjectTree->selectedItems().size() == 0 ) { m_RemoveParam->setEnabled( FALSE ); m_RemoveService->setEnabled( FALSE ); return; } QTreeWidgetItem* selectedItem = m_ObjectTree->selectedItems().first(); if( selectedItem->parent() == m_ParameterNode ) { m_RemoveParam->setEnabled( TRUE ); m_RemoveService->setEnabled( FALSE ); } else if( selectedItem->parent() == m_ServiceNode ) { m_RemoveParam->setEnabled( FALSE ); m_RemoveService->setEnabled( TRUE ); } }
void URDFProperty::on_treeWidget_customContextMenuRequested(const QPoint &pos) { QTreeWidgetItem *sel = tree_widget_->selectedItems()[0]; QMenu *menu = new QMenu(tree_widget_.get()); menu->addAction("Add"); menu->addAction("Remove"); QAction *selected_item = menu->exec(tree_widget_->mapToGlobal(pos)); if (selected_item) { if (selected_item->text() == "Add") { if (sel == link_root_ || sel->parent() == link_root_) { addLink(); } else if (sel == joint_root_ || isJoint(sel)) { addJoint(sel); } } else { if (sel->parent() == link_root_) { link_names_.removeOne(sel->text(0)); link_root_->removeChild(sel); } else if (isJoint(sel)) { joint_names_.removeOne(sel->text(0)); sel->parent()->removeChild(sel); } } } delete menu; }
void TreeWidgetEditor::on_newItemButton_clicked() { QTreeWidgetItem *curItem = ui.treeWidget->currentItem(); QTreeWidgetItem *newItem = 0; ui.treeWidget->blockSignals(true); if (curItem) { if (curItem->parent()) newItem = new QTreeWidgetItem(curItem->parent(), curItem); else newItem = new QTreeWidgetItem(ui.treeWidget, curItem); } else newItem = new QTreeWidgetItem(ui.treeWidget); const QString newItemText = tr("New Item"); newItem->setText(0, newItemText); newItem->setData(0, Qt::DisplayPropertyRole, QVariant::fromValue(PropertySheetStringValue(newItemText))); newItem->setFlags(newItem->flags() | Qt::ItemIsEditable); ui.treeWidget->blockSignals(false); ui.treeWidget->setCurrentItem(newItem, qMax(ui.treeWidget->currentColumn(), 0)); updateEditor(); ui.treeWidget->editItem(newItem, ui.treeWidget->currentColumn()); }
QString QAsToLearnByUserChecker::getDesiredSubjectName(const QTreeWidgetItem &item) { QString desiredSubjectName; if(ItsSubject(item)) { desiredSubjectName = item.text(0); } else { desiredSubjectName = item.parent()->text(0); } return desiredSubjectName; }
// Bus selection slot. void qtractorBusForm::selectBus (void) { if (m_iDirtySetup > 0) return; // Get current selected item, must not be a root one... QTreeWidgetItem *pItem = m_ui.BusListView->currentItem(); if (pItem == NULL) return; if (pItem->parent() == NULL) return; // Just make it in current view... qtractorBusListItem *pBusItem = static_cast<qtractorBusListItem *> (pItem); if (pBusItem == NULL) return; // Check if we need an update?... bool bUpdate = false; qtractorBus *pBus = pBusItem->bus(); if (m_pBus && m_pBus != pBus && m_iDirtyCount > 0) { QMessageBox::StandardButtons buttons = QMessageBox::Discard | QMessageBox::Cancel; if (m_ui.UpdatePushButton->isEnabled()) buttons |= QMessageBox::Apply; switch (QMessageBox::warning(this, tr("Warning") + " - " QTRACTOR_TITLE, tr("Some settings have been changed.\n\n" "Do you want to apply the changes?"), buttons)) { case QMessageBox::Apply: bUpdate = updateBus(m_pBus); // Fall thru... case QMessageBox::Discard: break; default: // Cancel. return; } } // Get new one into view... showBus(pBus); // Reselect as current (only on apply/update) if (bUpdate) { ++m_iDirtyTotal; refreshBuses(); setBus(m_pBus); } }
/* Returns the path to the item in the form of 'grandparent > parent > item' * using the text of the first column of every item. */ static QString path (QTreeWidgetItem *aItem) { static QString sep = ": "; QString p; QTreeWidgetItem *cur = aItem; while (cur) { if (!p.isNull()) p = sep + p; p = cur->text (treeWidget_Category).simplified() + p; cur = cur->parent(); } return p; }
void CantactTreeWidget::mouseDoubleClickEvent(QMouseEvent *event) { QTreeWidgetItem *item = NULL; QPoint point = event->pos();//等到窗口坐标 item = this->itemAt(point); currentWidgetItem = item; QTreeWidgetItem *parent=NULL; if(item!=NULL&&(parent=item->parent())!=NULL) { emit editCantact(); } }