// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- DataContainerArrayProxy::DataContainerArrayProxy(DataContainerArray* dca) { if(NULL == dca) { return; } QList<DataContainer::Pointer> containers = dca->getDataContainers(); for(int i = 0; i < containers.size(); i++) // Loop on each Data Container { DataContainer::Pointer container = containers.at(i); DataContainerProxy dcProxy(container->getName(), Qt::Checked); // Create a new DataContainerProxy // Now loop over each AttributeMatrix in the data container that was selected DataContainer::AttributeMatrixMap_t attrMats = container->getAttributeMatrices(); QMapIterator<QString, AttributeMatrix::Pointer> iter(attrMats); while(iter.hasNext()) { iter.next(); QString amName = iter.key(); AttributeMatrix::Pointer attrMat = iter.value(); AttributeMatrixProxy amProxy(amName, Qt::Checked, attrMat->getType()); QList<QString> attrArrayNames = attrMat->getAttributeArrayNames(); QListIterator<QString> attrArrayNamesIter(attrArrayNames); while(attrArrayNamesIter.hasNext()) { QString aaName = attrArrayNamesIter.next(); QString daPath = container->getName() + "/" + amName + "/"; IDataArray::Pointer attrArray = attrMat->getAttributeArray(aaName); DataArrayProxy daProxy(daPath, aaName, Qt::Checked, attrArray->getTypeAsString(), attrArray->getClassVersion() ); amProxy.dataArrays.insert(aaName, daProxy); } dcProxy.attributeMatricies.insert(amName, amProxy); // Add the new AttributeMatrix to the DataContainerProxy } dataContainers.insert(dcProxy.name, dcProxy); } }