void CFontFileListView::unmark()
{
    QList<QTreeWidgetItem *> items(selectedItems());
    QTreeWidgetItem          *item;

    foreach(item, items)
        if(item->parent())
            unmarkItem(item);
    checkFiles();
}
Example #2
0
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();
}
Example #3
0
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);
}
Example #4
0
bool BasketListViewItem::isShown()
{
    QTreeWidgetItem *item = parent();
    while (item) {
        if (!item->isExpanded())
            return false;
        item = item->parent();
    }
    return true;
}
Example #5
0
/* 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;
}
Example #6
0
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;
}
Example #9
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());
}
Example #11
0
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);
			}
		}
	}
}
Example #14
0
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;
	}
}
Example #15
0
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
        }
    }
}
Example #17
0
void MenuBarTree::removeItem()
{
	QTreeWidgetItem* item = currentItem();
	if (!item) return;

	if (indexOfTopLevelItem(item) >= 0)
		takeTopLevelItem(indexOfTopLevelItem(item));
	else
		item->parent()->removeChild(item);

	delete item;
}
Example #18
0
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));
}
Example #19
0
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;
    }
}
Example #20
0
/*! \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);
    }
}
Example #21
0
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 );
	}
}
Example #25
0
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;
}
Example #26
0
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;
}
Example #28
0
// 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);
	}
}
Example #29
0
/* 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;
}
Example #30
0
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();
	}	
}