types::Solutions ProposalTreeWidget::getSolutions() const
{
	types::Solutions sols;
	for(int i=0; i< topLevelItemCount(); ++i)
	{
		QTreeWidgetItem * item = topLevelItem(i);
		if(itemIsSolution(item)){
			sols << item->text(ColumnId);
		}
	}

	return sols;
}
Exemple #2
0
void TabTree::insertTab(const QString &path, int index, bool selected)
{
    QStringList pathComponents = path.split('/');
    QTreeWidgetItem *item = findLastTreeItem(*this, &pathComponents);

    foreach (const QString &text, pathComponents) {
        QTreeWidgetItem *parent = item;

        if (parent != NULL) {
            int to = 0;
            for ( ; to < parent->childCount(); ++to ) {
                 const int index2 = getTabIndex(parent->child(to));
                 if (index2 != -1 && index < index2)
                     break;
            }
            int from = parent->childCount();
            item = new QTreeWidgetItem(parent);
            if (from != to)
                parent->insertChild(to, parent->takeChild(from));
        } else {
            int to = 0;
            for ( ; to < topLevelItemCount(); ++to ) {
                 const int index2 = getTabIndex(topLevelItem(to));
                 if (index2 != -1 && index < index2)
                     break;
            }
            int from = topLevelItemCount();
            item = new QTreeWidgetItem(this);
            if (from != to)
                insertTopLevelItem(to, takeTopLevelItem(from));
        }

        item->setExpanded(true);
        item->setData(0, DataIndex, -1);
        item->setData(0, DataText, text);

        labelItem(item);
    }
// called by set_markplayed() from Player upon signal from Settings
void qm_plistview::set_markplayed()
{
    if ( topLevelItemCount() == 0 )
        return;

    if (config->mark_played) // show visual 'played' state
    {
        QTreeWidgetItemIterator itr(this);
        while (*itr)
        {
            if ( (*itr)->get_state == STATE_PLAYED && (*itr)->get_id != current_songID)
            {
                if ((*itr)->get_type == TP_SONG)
                    (*itr)->setIcon(1, QIcon(":/tr_trackplayed.png"));
                else
                {
                    if ((*itr)->get_type == TP_SONGX)
                        (*itr)->setIcon(1, QIcon(":/tr_trackxplayed.png"));
                    else
                        (*itr)->setIcon(1, QIcon(":/tr_streamplayed.png"));
                }
                for (int i = 0; i < 6; i++)
                    (*itr)->setForeground( i, QBrush(col_played_fg));
            }
            ++itr;
        }
    }
    else // remove visual 'played' state
    {
        QTreeWidgetItemIterator itr(this);
        while (*itr)
        {
            if ( (*itr)->get_state == STATE_PLAYED && (*itr)->get_id != current_songID)
            {
                if ((*itr)->get_type == TP_SONG)
                    (*itr)->setIcon(1, QIcon(":/tr_track.png"));
                else
                {
                    if ((*itr)->get_type == TP_SONGX)
                        (*itr)->setIcon(1, QIcon(":/tr_trackx.png"));
                    else
                        (*itr)->setIcon(1, QIcon(":/tr_stream.png"));
                }
                for (int i = 0; i < 6; i++)
                    (*itr)->setForeground( i, QBrush(col_default_fg));
            }
            ++itr;
        }
    }
}
void TreeWidget::iterateAllItems(QTreeWidgetItem* parent)
{
    int count = parent ? parent->childCount() : topLevelItemCount();

    for (int i = 0; i < count; i++) {
        QTreeWidgetItem* item = parent ? parent->child(i) : topLevelItem(i);

        if (item->childCount() == 0) {
            m_allTreeItems.append(item);
        }

        iterateAllItems(item);
    }
}
ViewListItem *ViewListTreeWidget::category( const KoView *view ) const
{
    QTreeWidgetItem * item;
    int cnt = topLevelItemCount();
    for ( int i = 0; i < cnt; ++i ) {
        item = topLevelItem( i );
        for ( int c = 0; c < item->childCount(); ++c ) {
            if ( view == static_cast<ViewListItem*>( item->child( c ) )->view() ) {
                return static_cast<ViewListItem*>( item );
            }
        }
    }
    return 0;
}
void ZConfBrowserWidget::removeService(QString service)
{
    int count = topLevelItemCount();
    int i = 0;
    while (i < count) {
        QTreeWidgetItem *item = topLevelItem(i);
        if (service == item->text(0)) {
            delete item;
            --count;
        } else {
            ++i;
        }
    }
}
CWizCategoryViewAllFoldersItem* CWizFolderView::findAllFolders()
{
    int nCount = topLevelItemCount();
    for (int i = 0; i < nCount; i++)
    {
        if (CWizCategoryViewAllFoldersItem* pItem = dynamic_cast<CWizCategoryViewAllFoldersItem*>(topLevelItem(i)))
        {
            return pItem;
        }
    }

    Q_ASSERT(false);
    return NULL;
}
types::Proposals ProposalTreeWidget::getProposals() const
{
	types::Proposals props;
	for(int i=0; i< topLevelItemCount(); ++i)
	{
		QTreeWidgetItem * item = topLevelItem(i);
		Proposal p;

		p.id = item->text(ColumnId);
		p.text = item->text(ColumnProposalText);
		props << p;
	}

	return props;
}
Exemple #9
0
void ScTreeWidget::setCurrentIndex(int index)
{
    if ((index < 0) || (index >= topLevelItemCount()))
        return;
    int tops = topLevelItemCount();
    for (int t = 0; t < tops; t++)
    {
        setItemExpanded(topLevelItem(t), false);
    }
    QTreeWidgetItem *top = topLevelItem(index);
    setCurrentItem(top);
    setItemExpanded(top, true);
    int wide = 0;
    if (top->childCount() != 0)
    {
        QTreeWidgetItem *child = top->child(0);
        if (child != 0)
            wide = itemWidget(child, 0)->minimumSizeHint().width()+5;
    }
    if (wide != 0)
        setColumnWidth(0, wide);
    else
        resizeColumnToContents(0);
}
Exemple #10
0
void WidgetBoxTreeWidget::addCustomCategories(bool replace)
{
    if (replace) {
        // clear out all existing custom widgets
        if (const int numTopLevels =  topLevelItemCount()) {
            for (int t = 0; t < numTopLevels ; ++t)
                categoryViewAt(t)->removeCustomWidgets();
        }
    }
    // re-add
    const CategoryList customList = loadCustomCategoryList();
    const CategoryList::const_iterator cend = customList.constEnd();
    for (CategoryList::const_iterator it = customList.constBegin(); it != cend; ++it)
        addCategory(*it);
}
Exemple #11
0
void PeriodsListView::load(ParameterList &pParams)
{
  clearSelection();
  QAbstractItemView::SelectionMode oldSelMode = selectionMode();
  setSelectionMode(QAbstractItemView::MultiSelection);

  if (topLevelItemCount() > 0)
  {
    QVariant param;
    bool     valid = TRUE;
    for (unsigned int counter = 0; valid; counter++)
    {
      param = pParams.value(QString("calitem_id(%1)").arg(counter), &valid);
      if (valid)
      {
        for (int i = 0; i < topLevelItemCount(); i++)
          if (((XTreeWidgetItem*)topLevelItem(i))->id() == param.toInt())
            setCurrentItem(topLevelItem(i));
      }
    }
  }

  setSelectionMode(oldSelMode);
}
void ItemBoxTreeWidget::updateCategoryName(const QString &cat_id, const QString &new_cat_name)
{

    int cat_idx = indexOfCategory(cat_id);
    if (cat_idx >= topLevelItemCount() || cat_idx < 0) {
        return;
    }

    QTreeWidgetItem *cat_item = topLevelItem(cat_idx);
    cat_item->setText(0, new_cat_name);

    //    QTreeWidgetItem *embedItem = cat_item->child(0);
    //    embedItem->setText(0, new_cat_name);

}
Exemple #13
0
void
pcl::modeler::SceneTree::slotUpdateOnInsertOrRemove()
{
  for (int i = 0, i_end = topLevelItemCount(); i < i_end; ++ i)
  {
    RenderWindowItem* render_window_item = dynamic_cast<RenderWindowItem*>(topLevelItem(i));
    if (render_window_item == NULL)
      continue;

    QString title = (i == 0)?("Central Render Window"):(QString("Render Window #%1").arg(i));
    render_window_item->setText(0, title);

    render_window_item->getRenderWindow()->setTitle(title);
  }
}
QList<QTreeWidgetItem *> FeedListWidget::getAllOpenedFolders(QTreeWidgetItem *parent) const
{
    QList<QTreeWidgetItem *> openedFolders;
    int nbChildren = (parent ? parent->childCount() : topLevelItemCount());
    for (int i = 0; i < nbChildren; ++i) {
        QTreeWidgetItem *item (parent ? parent->child(i) : topLevelItem(i));
        if (isFolder(item) && item->isExpanded()) {
            QList<QTreeWidgetItem *> openedSubfolders = getAllOpenedFolders(item);
            if (!openedSubfolders.empty())
                openedFolders << openedSubfolders;
            else
                openedFolders << item;
        }
    }
    return openedFolders;
}
Exemple #15
0
void ArchiveList::exchangeArchives(PartialArchive *from, LocalArchive *to)
{
    for (int i = 0; i < topLevelItemCount(); i ++) {
        QTreeWidgetItem *parent = topLevelItem(i);
        if (parent->text(0) == from->getLanguage()) {
            for (int j = 0; j < parent->childCount(); j ++) {
                QTreeWidgetItem *item = parent->child(j);
                if (item->text(0) == from->getDate()) {
                    fillLocalArchiveItem(to, item);
                    item->setExpanded(false);
                    return;
                }
            }
        }
    }
}
HappyTreeWidget::HappyTreeWidget(QWidget *w)
    : QTreeWidget(w)
{

    // add animation
    opac = 0;
    isHide = false;
    animation = new QPropertyAnimation(this, "opacity");
    this->verticalScrollBar()->hide();
    setStyleSheet("QTreeView{background:transparent;}"
                  "QTreeWidget{background:transparent;"
                  "border-width:1px;"
                  "border-style:solid;"
                  "border-color: transparent;}");
    QFile file(":res/css/scrollbar.css");
    if (file.open(QIODevice::ReadOnly))
    {
        QString css = file.readAll();
        this->verticalScrollBar()->setStyleSheet(css);
    }
    file.close();
    file.setFileName(":res/css/tree.css");
    if (file.open(QIODevice::ReadOnly))
    {
        QString css = file.readAll();
        setStyleSheet(css);
    }
    file.close();

    connect(this, &HappyTreeWidget::itemDoubleClicked, [=] (QTreeWidgetItem *item, int column) {
        QWidget *w = itemWidget(item, column);
        ItemEditor *ie = qobject_cast<ItemEditor *>(w);
        if (ie == nullptr)
        {
            return;
        }
        for (int i = 0; i < topLevelItemCount(); i++)
        {
            if (item == topLevelItem(i))
            {
                emit topmemberDoubleClicked(ie);
                return;
            }
        }
        emit memberDoubleClicked(ie);
    });
}
void ItemBoxTreeWidget::updateViewMode()
{
    if (const int numTopLevels = topLevelItemCount()) {
        for (int i = numTopLevels - 1; i >= 0; --i) {
            QTreeWidgetItem *topLevel = topLevelItem(i);
            // Scratch pad stays in list mode.
            const QListView::ViewMode viewMode  = m_iconMode && (topLevelRole(topLevel) != SCRATCHPAD_ITEM) ? QListView::IconMode : QListView::ListMode;
            ItemBoxCategoryListView *categoryView = categoryViewAt(i);
            if (viewMode != categoryView->viewMode()) {
                categoryView->setViewMode(viewMode);
                adjustSubListSize(topLevelItem(i));
            }
        }
    }

    updateGeometries();
}
/* apply filter on tree */
void PrefsTree::filter( const QString &text )
{
    bool clear_filter = text.isEmpty();

    for( int i = 0 ; i < topLevelItemCount(); i++ )
    {
        QTreeWidgetItem *cat_item = topLevelItem( i );
        if ( clear_filter )
        {
            collapseUnselectedItems( cat_item );
        }
        else
        {
            filterItems( cat_item, text, Qt::CaseInsensitive );
        }
    }
}
void
TagIconView::paintEvent( QPaintEvent* e )
{    
    TagListWidget::paintEvent( e );

    if (topLevelItemCount()) 
        return;
    
    QPainter p( viewport() );
    p.setPen( Qt::lightGray );
#ifndef WIN32
    QFont f = p.font();
    f.setPointSize( 15 );
    p.setFont( f );
#endif
    p.drawText( viewport()->rect(), Qt::AlignCenter, tr("Type a tag above,\nor choose from below") );
}
void IfcTreeWidget::slotModelLoadingDone()
{
	std::set<int> set_visited;
	shared_ptr<IfcProject> project = m_system->getGeometryConverter()->getIfcPPModel()->getIfcProject();
	if( project )
	{
		
		QTreeWidgetItem* project_item = resolveTreeItems( project, set_visited );
		if( project_item != NULL )
		{
			m_block_selection_signals = true;
			blockSignals(true);
			insertTopLevelItem( 0, project_item );
			setCurrentItem( project_item );
			blockSignals(false);
			m_block_selection_signals = false;
		}
	}

	QTreeWidgetItem* item_outside = new QTreeWidgetItem();
	item_outside->setText( 0, "OutsideSpatialStructure" );

	boost::unordered_map<int,shared_ptr<IfcPPObject> >&	map_outside = m_system->getGeometryConverter()->getObjectsOutsideSpatialStructure();
	for( auto it = map_outside.begin(); it != map_outside.end(); ++it )
	{
		shared_ptr<IfcPPObject>& ifc_object = it->second;
		QTreeWidgetItem* object_item = resolveTreeItems( ifc_object, set_visited );
		if( object_item != NULL )
		{
			blockSignals(true);
			item_outside->addChild( object_item );
			blockSignals(false);
		}
	}

	if( map_outside.size() > 0 )
	{
		m_block_selection_signals = true;
		blockSignals( true );
		insertTopLevelItem( topLevelItemCount(), item_outside );
		setCurrentItem( item_outside );
		blockSignals( false );
		m_block_selection_signals = false;
	}
}
void ProposalTreeWidget::clearSolutionSelection(){
	QString icon(  global::R.getValue("icon/false")	);

	QPixmap pix;
	if(!QPixmapCache::find(icon,&pix) )
	{
		pix = QPixmap(icon).scaled( QSize(24,24),  Qt::KeepAspectRatio,  Qt::SmoothTransformation);
		QPixmapCache::insert(icon, pix);
	}

	// set all others to false, iff not empty
	for(int i=0; i<topLevelItemCount(); ++i)
	{
		QTreeWidgetItem * child = topLevelItem(i);
		child->setIcon(ColumnSolutionCheck, QIcon(pix));
		child->setData(ColumnSolutionCheck, SolutionCheckRole, false);
	}
}
Exemple #22
0
void NTrashTree::calculateHeight()
{
    int h = 0;

    int topLevelCount = topLevelItemCount();

    for(int i = 0;i < topLevelCount;i++)    {
        QTreeWidgetItem * item = topLevelItem(i);
        h += calculateHeightRec(item);
        h += item->sizeHint(0).height() + 5;
    }

    if(h != 0)    {
        setMinimumHeight(h+5);
        setMaximumHeight(h+5);
    }
    this->setMaximumWidth(this->sizeHint().width());
}
void ItemBoxTreeWidget::removeItem(int cat_idx, int wgt_idx)
{
    if (cat_idx >= topLevelItemCount()) {
        return;
    }

    ItemBoxCategoryListView *categoryView = categoryViewAt(cat_idx);

    // SDK functions want unfiltered access
    const ItemBoxCategoryListView::AccessMode am = ItemBoxCategoryListView::UnfilteredAccess;
    if (wgt_idx >= categoryView->count(am)) {
        return;
    }

    categoryView->removeRow(am, wgt_idx);
    categoryView->updateGeometry();

}
void ObjectInspectorTable::mousePressEvent(QMouseEvent *event) {
    QTreeWidget::mousePressEvent(event);

    if ( selectedItems().count() == 1 && m_objectMap[selectedItems().at(0)] == 0 ) { // seul un calque est sélectionné, on selectionne les sous élements sous le calque
        QTreeWidgetItem *selectedLayout = selectedItems().at(0);
        for (int i=0; i<selectedLayout->childCount(); ++i) {
            selectedLayout->child(i)->setSelected(true);
        }
        // on vient de sélectionner un layout donc on peut agir dessus
        emit currentLayoutIsUppable( indexOfTopLevelItem(selectedLayout) > 0 );
        emit currentLayoutIsDownable( indexOfTopLevelItem(selectedLayout) < topLevelItemCount() - 1 );
    } else {
        emit currentLayoutIsUppable(false);
        emit currentLayoutIsDownable(false);
    }

    updateMapSelection();
}
void KateStyleTreeWidget::updateGroupHeadings()
{
  for(int i = 0; i < topLevelItemCount(); i++) {
    QTreeWidgetItem* currentTopLevelItem = topLevelItem(i);
    QTreeWidgetItem* firstChild = currentTopLevelItem->child(0);
    
    if(firstChild) {
      QColor foregroundColor = firstChild->data(KateStyleTreeWidgetItem::Foreground, Qt::DisplayRole).value<QColor>();
      QColor backgroundColor = firstChild->data(KateStyleTreeWidgetItem::Background, Qt::DisplayRole).value<QColor>();
      
      currentTopLevelItem->setForeground(KateStyleTreeWidgetItem::Context, foregroundColor);
      
      if(backgroundColor.isValid()) {
        currentTopLevelItem->setBackground(KateStyleTreeWidgetItem::Context, backgroundColor);
      }
    }
  }
}
DGameTree::~DGameTree()
{
	int count = topLevelItemCount();
	for (int a = 0; a < count; a++)
		takeTopLevelItem(0);

	for (QTreeWidgetItem* i : m_path_nodes.values())
	{
		count = i->childCount();
		for (int a = 0; a < count; a++)
			i->takeChild(0);
	}

	for (QTreeWidgetItem* i : m_path_nodes.values())
		delete i;
	for (QTreeWidgetItem* i : m_items.keys())
		delete i;
}
void TreeWidget::restoreState(const QByteArray& data)
{
    QVariantMap state;
    QDataStream in(data);
    in >> state;

    if (state.contains("expanded")) {
        QBitArray expanded = state.value("expanded").toBitArray();
        if (expanded.count() == topLevelItemCount()) {
            for (int i = 0; i < expanded.count(); ++i)
                topLevelItem(i)->setExpanded(expanded.testBit(i));
        }
    }
    if (state.contains("sorting")) {
        d.sorting = state.value("sorting").toMap();
        restoreSortOrder();
    }
}
void EffectsListWidget::setRootOnCustomFolder()
{
    // special case, display only items in "custom" folder"
    QTreeWidgetItem *item = findFolder(i18nc("Folder Name", "Custom"));
    if (!item) {
        // No custom effect, show empty list
        for (int i = 0; i < topLevelItemCount(); ++i) {
            QTreeWidgetItem *folder = topLevelItem(i);
            folder->setHidden(true);
        }
        return;
    }
    setRootIndex(indexFromItem(item));
    for (int j = 0; j < item->childCount(); ++j) {
        QTreeWidgetItem *child = item->child(j);
        child->setHidden(false);
    }
}
void PrefsTree::doAll( bool doclean )
{
    for( int i_cat_index = 0 ; i_cat_index < topLevelItemCount();
             i_cat_index++ )
    {
        QTreeWidgetItem *cat_item = topLevelItem( i_cat_index );
        for( int i_sc_index = 0; i_sc_index < cat_item->childCount();
                 i_sc_index++ )
        {
            QTreeWidgetItem *sc_item = cat_item->child( i_sc_index );
            for( int i_module = 0 ; i_module < sc_item->childCount();
                     i_module++ )
            {
                PrefsItemData *data = sc_item->child( i_module )->
                               data( 0, Qt::UserRole).value<PrefsItemData *>();
                if( data->panel && doclean )
                {
                    delete data->panel;
                    data->panel = NULL;
                }
                else if( data->panel )
                    data->panel->apply();
            }
            PrefsItemData *data = sc_item->data( 0, Qt::UserRole).
                                            value<PrefsItemData *>();
            if( data->panel && doclean )
            {
                delete data->panel;
                data->panel = NULL;
            }
            else if( data->panel )
                data->panel->apply();
        }
        PrefsItemData *data = cat_item->data( 0, Qt::UserRole).
                                            value<PrefsItemData *>();
        if( data->panel && doclean )
        {
            delete data->panel;
            data->panel = NULL;
        }
        else if( data->panel )
            data->panel->apply();
    }
}
Exemple #30
0
// the complete menutree was build, now check for errors
//  - empty menutitles
//  - useless submenus without children
//  - empty filenames, not existing or not executable files
void UserMenuTree::setErrorCodes()
{
	KILE_DEBUG() << "check menutree for errors and set error codes ...";

	for (int i = 0; i < topLevelItemCount(); ++i) {
		UserMenuItem *item = dynamic_cast<UserMenuItem *>(topLevelItem(i));
		UserMenuData::MenuType type = item->menutype();

		bool executable = ( type==UserMenuData::Program && isItemExecutable(item->filename()) );
		item->setModelData(executable);

		if ( type != UserMenuData::Separator ) {
			checkMenuTitle(item);
		}
		if ( type == UserMenuData::Submenu ) {
			checkSubmenu(item);
		}
	}
}