void QgsSpatialQueryDialog::signal_qgis_layerWillBeRemoved( QString idLayer ) { // If Frozen: the QGis can be: Exit, Add Project, New Project if ( mIface->mapCanvas()->isFrozen() ) { reject(); } // idLayer = QgsMapLayer::getLayerID() // Get Pointer layer removed QMap<QString, QgsVectorLayer *>::const_iterator i = mMapIdVectorLayers.find( idLayer ); if ( i == mMapIdVectorLayers.end() ) { return; } mMapIdVectorLayers.remove( idLayer ); QgsVectorLayer *lyr = i.value(); removeLayer( true, lyr ); // set new target if need removeLayer( false, lyr ); // set new reference if need if ( mLayerTarget && getCbIndexLayer( cbReferenceLayer, mLayerTarget ) > -1 ) { removeLayer( false, mLayerTarget ); } if ( cbTargetLayer->count() < 2 ) { bbMain->button( QDialogButtonBox::Apply )->hide(); cbOperation->setEnabled( false ); cbResultFor->setEnabled( false ); if ( gbResultQuery->isVisible() ) { visibleResult( false ); } mLayerReference = NULL; if ( cbTargetLayer->count() < 1 ) { mLayerTarget = NULL; } } else { populateCbOperation(); } } // QgsSpatialQueryDialog::signal_qgis_layerWillBeRemoved(QString idLayer)
void QgsSpatialQueryDialog::on_cbTargetLayer_currentIndexChanged( int index ) { // Add old target layer in reference combobox addCbLayer( false, mLayerTarget ); // Set target layer setLayer( true, index ); evaluateCheckBoxLayer( true ); setSelectedGui(); // Remove new target layer in reference combobox removeLayer( false, mLayerTarget ); populateCbOperation(); if ( gbResultQuery->isVisible() ) { visibleResult( false ); } } // QgsSpatialQueryDialog::on_cbTargetLayer_currentIndexChanged(int index)
void QgsSpatialQueryDialog::initGui() { mRubberSelectId->setStyle( 250, 0, 0, 2 ); // Same identify visibleResult( false ); populateTypeItems(); populateCbTargetLayer(); if ( cbTargetLayer->count() > 1 ) { setLayer( true, 0 ); setSelectedGui(); evaluateCheckBoxLayer( true ); populateCbReferenceLayer(); setLayer( false, 0 ); evaluateCheckBoxLayer( false ); populateCbOperation(); } else { bbMain->button( QDialogButtonBox::Apply )->hide(); } populateCbResulFor(); // Depend if Target is selected adjustSize(); } // QgsSpatialQueryDialog::initGui()