void QgsLegendLayer::changeSymbologySettings( const QgsMapLayer* theMapLayer,
    const SymbologyList& newSymbologyItems )
{
  if ( !theMapLayer )
  {
    return;
  }

  QgsLegendSymbologyItem* theSymbologyItem = 0;

  //remove the symbology items under the legend layer
  for ( int i = childCount(); i >= 0; --i )
  {
    theSymbologyItem = dynamic_cast<QgsLegendSymbologyItem *>( child( i ) );
    if ( theSymbologyItem )
    {
      delete takeChild( i );
    }
  }

  //add the new symbology items
  int childposition = 0; //position to insert the items
  for ( SymbologyList::const_iterator it = newSymbologyItems.begin(); it != newSymbologyItems.end(); ++it )
  {
    QgsLegendSymbologyItem* theItem = new QgsLegendSymbologyItem( it->second.width(), it->second.height() );
    theItem->setText( 0, it->first );
    theItem->setIcon( 0, QIcon( it->second ) );
    insertChild( childposition, theItem );

    ++childposition;
  }

}
    void set(plStateVariable* var)
    {
        fVariable = var;
        QTreeWidgetItem* child;
        while ((child = takeChild(0)) != NULL)
            delete child;

        setText(0, ~fVariable->getDescriptor()->getName());
        setText(1, QSDLEditor::GetVarDisplay(var));
        if (fVariable->getDescriptor()->getType() == plVarDescriptor::kStateDescriptor) {
            if (fVariable->getCount() > 1) {
                for (size_t i=0; i<fVariable->getCount(); i++) {
                    QTreeWidgetItem* idx = new QTreeWidgetItem(this,
                        QStringList() << QString("Item [%1]").arg(i)
                                      << ""
                    );
                    plStateDataRecord* rec = ((plSDStateVariable*)var)->Record(i);
                    for (size_t j=0; j<rec->getNumVars(); j++)
                        new QSDLTreeItem(rec->get(j), idx);
                }
            } else if (var->getCount() == 1) {
                plStateDataRecord* rec = ((plSDStateVariable*)var)->Record(0);
                for (size_t j=0; j<rec->getNumVars(); j++)
                    new QSDLTreeItem(rec->get(j), this);
            }
        }
    }
void QgsLegendItem::removeAllChildren()
{
  while ( child( 0 ) )
  {
    takeChild( 0 );
  }
}
Exemple #4
0
void ChatPanel::setConnectedUsers(const QStringList &usersNames)
{
    updateConnectedUsersTitleString(usersNames.count());

    auto root = ui->treeWidget->topLevelItem(0);
    Q_ASSERT(root);

    while (root->childCount() > 0) {
        delete root->takeChild(0);
    }

    for (const auto &userFullName : usersNames) {
        auto name = ninjam::client::extractUserName(userFullName);
        auto ip = ninjam::client::extractUserIP(userFullName);
        auto item = new QTreeWidgetItem(root, QStringList(name));
        item->setData(0, Qt::UserRole + 1, ip);
        setItemCountryDetails(item, geo::Location()); // unknown location
        root->addChild(item);
    }

    //ui->treeWidget->setVisible(usersNames.size() > 1);
    ui->treeWidget->setVisible(true);
    root->setExpanded(usersNames.size() > 1); // issue #1107
}
Exemple #5
0
void IdxData::removeChild(IdxData* child)
{
    takeChild(child);

    delete child;
}