Esempio n. 1
0
QModelIndex QgsLayerTreeModel::symnode2index( QgsLayerTreeModelLegendNode* legendNode )
{
  QModelIndex parentIndex = node2index( legendNode->parent() );
  Q_ASSERT( parentIndex.isValid() );
  int row = mSymbologyNodes[legendNode->parent()].indexOf( legendNode );
  Q_ASSERT( row >= 0 );
  return index( row, 0, parentIndex );
}
Esempio n. 2
0
QModelIndex QgsLayerTreeModel::legendNode2index( QgsLayerTreeModelLegendNode* legendNode )
{
  QModelIndex parentIndex = node2index( legendNode->layerNode() );
  Q_ASSERT( parentIndex.isValid() );
  int row = mLegendNodes[legendNode->layerNode()].indexOf( legendNode );
  if ( row < 0 ) // legend node may be filtered (exists within the list of original nodes, but not in active nodes)
    return QModelIndex();
  return index( row, 0, parentIndex );
}
Esempio n. 3
0
QModelIndex QgsLayerTreeModel::node2index( QgsLayerTreeNode* node ) const
{
  if ( !node->parent() )
    return QModelIndex(); // this is the only root item -> invalid index
  QModelIndex parentIndex = node2index( node->parent() );

  int row = node->parent()->children().indexOf( node );
  Q_ASSERT( row >= 0 );
  return index( row, 0, parentIndex );
}