Skip to content

Commit

Permalink
[layertree] minor consolidation of insert/remove functions
Browse files Browse the repository at this point in the history
  • Loading branch information
wonder-sk committed Jun 2, 2014
1 parent 990e2bf commit 5852c8e
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 24 deletions.
8 changes: 4 additions & 4 deletions src/core/layertree/qgslayertreegroup.cpp
Expand Up @@ -72,7 +72,7 @@ void QgsLayerTreeGroup::insertChildNode( int index, QgsLayerTreeNode* node )
void QgsLayerTreeGroup::insertChildNodes( int index, QList<QgsLayerTreeNode*> nodes )
{
// low-level insert
insertChildren( index, nodes );
insertChildrenPrivate( index, nodes );

updateVisibilityFromChildren();
}
Expand All @@ -86,7 +86,7 @@ void QgsLayerTreeGroup::removeChildNode( QgsLayerTreeNode *node )
{
int i = mChildren.indexOf( node );
if ( i >= 0 )
removeChildAt( i );
removeChildren( i, 1 );
}

void QgsLayerTreeGroup::removeLayer( QgsMapLayer* layer )
Expand All @@ -98,7 +98,7 @@ void QgsLayerTreeGroup::removeLayer( QgsMapLayer* layer )
QgsLayerTreeLayer* childLayer = QgsLayerTree::toLayer( child );
if ( childLayer->layer() == layer )
{
removeChildAt( mChildren.indexOf( child ) );
removeChildren( mChildren.indexOf( child ), 1 );
break;
}
}
Expand All @@ -107,7 +107,7 @@ void QgsLayerTreeGroup::removeLayer( QgsMapLayer* layer )

void QgsLayerTreeGroup::removeChildren( int from, int count )
{
removeChildrenRange( from, count );
removeChildrenPrivate( from, count );

updateVisibilityFromChildren();
}
Expand Down
18 changes: 3 additions & 15 deletions src/core/layertree/qgslayertreenode.cpp
Expand Up @@ -39,7 +39,7 @@ QgsLayerTreeNode::QgsLayerTreeNode( const QgsLayerTreeNode& other )
QList<QgsLayerTreeNode*> clonedChildren;
foreach ( QgsLayerTreeNode* child, other.mChildren )
clonedChildren << child->clone();
insertChildren( -1, clonedChildren );
insertChildrenPrivate( -1, clonedChildren );
}

QgsLayerTreeNode::~QgsLayerTreeNode()
Expand Down Expand Up @@ -91,14 +91,7 @@ void QgsLayerTreeNode::writeCommonXML( QDomElement& element )
mProperties.writeXml( element, doc );
}

void QgsLayerTreeNode::insertChild( int index, QgsLayerTreeNode *node )
{
QList<QgsLayerTreeNode*> nodes;
nodes << node;
insertChildren( index, nodes );
}

void QgsLayerTreeNode::insertChildren( int index, QList<QgsLayerTreeNode*> nodes )
void QgsLayerTreeNode::insertChildrenPrivate( int index, QList<QgsLayerTreeNode*> nodes )
{
foreach ( QgsLayerTreeNode* node, nodes )
{
Expand Down Expand Up @@ -126,12 +119,7 @@ void QgsLayerTreeNode::insertChildren( int index, QList<QgsLayerTreeNode*> nodes
emit addedChildren( this, index, indexTo );
}

void QgsLayerTreeNode::removeChildAt( int i )
{
removeChildrenRange( i, 1 );
}

void QgsLayerTreeNode::removeChildrenRange( int from, int count )
void QgsLayerTreeNode::removeChildrenPrivate( int from, int count )
{
if ( count <= 0 )
return;
Expand Down
9 changes: 4 additions & 5 deletions src/core/layertree/qgslayertreenode.h
Expand Up @@ -130,11 +130,10 @@ class CORE_EXPORT QgsLayerTreeNode : public QObject
void readCommonXML( QDomElement& element );
void writeCommonXML( QDomElement& element );

// the child must not be in any tree yet!
void insertChildren( int index, QList<QgsLayerTreeNode*> nodes );
void insertChild( int index, QgsLayerTreeNode* node );
void removeChildAt( int i );
void removeChildrenRange( int from, int count );
//! Low-level insertion of children to the node. The children must not have any parent yet!
void insertChildrenPrivate( int index, QList<QgsLayerTreeNode*> nodes );
//! Low-level removal of children from the node.
void removeChildrenPrivate( int from, int count );


protected:
Expand Down

0 comments on commit 5852c8e

Please sign in to comment.