void QgsInterpolationDialog::on_mRemovePushButton_clicked() { QTreeWidgetItem* currentItem = mLayersTreeWidget->currentItem(); if ( !currentItem ) { return; } delete currentItem; enableOrDisableOkButton(); }
void QgsInterpolationDialog::on_mOutputFileButton_clicked() { //get last output file dir QSettings s; QString lastOutputDir = s.value( "/Interpolation/lastOutputDir", QDir::homePath() ).toString(); QString rasterFileName = QFileDialog::getSaveFileName( nullptr, tr( "Save interpolated raster as..." ), lastOutputDir ); if ( !rasterFileName.isEmpty() ) { mOutputFileLineEdit->setText( rasterFileName ); QFileInfo rasterFileInfo( rasterFileName ); QDir fileDir = rasterFileInfo.absoluteDir(); if ( fileDir.exists() ) { s.setValue( "/Interpolation/lastOutputDir", rasterFileInfo.absolutePath() ); } } enableOrDisableOkButton(); }
void HeatmapGui::on_mBrowseButton_clicked() { QSettings s; QString lastDir = s.value( "/Heatmap/lastOutputDir", QDir::homePath() ).toString(); QString outputFilename = QFileDialog::getSaveFileName( nullptr, tr( "Save Heatmap as:" ), lastDir ); if ( !outputFilename.isEmpty() ) { mOutputRasterLineEdit->setText( outputFilename ); QFileInfo outputFileInfo( outputFilename ); QDir outputDir = outputFileInfo.absoluteDir(); if ( outputDir.exists() ) { s.setValue( "/Heatmap/lastOutputDir", outputFileInfo.absolutePath() ); } } enableOrDisableOkButton(); }
HeatmapGui::HeatmapGui( QWidget* parent, Qt::WindowFlags fl, QMap<QString, QVariant>* temporarySettings ) : QDialog( parent, fl ) , mRows( 500 ) { setupUi( this ); QgsDebugMsg( QString( "Creating Heatmap Dialog" ) ); blockAllSignals( true ); mKernelShapeCombo->addItem( tr( "Quartic (biweight)" ), Heatmap::Quartic ); mKernelShapeCombo->addItem( tr( "Triangular" ), Heatmap::Triangular ); mKernelShapeCombo->addItem( tr( "Uniform" ), Heatmap::Uniform ); mKernelShapeCombo->addItem( tr( "Triweight" ), Heatmap::Triweight ); mKernelShapeCombo->addItem( tr( "Epanechnikov" ), Heatmap::Epanechnikov ); mOutputValuesComboBox->addItem( tr( "Raw values" ), Heatmap::Raw ); mOutputValuesComboBox->addItem( tr( "Scaled by kernel size" ), Heatmap::Scaled ); mHeatmapSessionSettings = temporarySettings; // Adding point layers to the inputLayerCombo QString lastUsedLayer = mHeatmapSessionSettings->value( QString( "lastInputLayer" ) ).toString(); bool usingLastInputLayer = false; mInputLayerCombo->setFilters( QgsMapLayerProxyModel::PointLayer ); QgsMapLayer* defaultLayer = QgsMapLayerRegistry::instance()->mapLayer( lastUsedLayer ); if ( defaultLayer ) { mInputLayerCombo->setLayer( defaultLayer ); usingLastInputLayer = true; } mRadiusFieldCombo->setFilters( QgsFieldProxyModel::Numeric ); mWeightFieldCombo->setFilters( QgsFieldProxyModel::Numeric ); connect( mInputLayerCombo, SIGNAL( layerChanged( QgsMapLayer* ) ), mRadiusFieldCombo, SLOT( setLayer( QgsMapLayer* ) ) ); connect( mInputLayerCombo, SIGNAL( layerChanged( QgsMapLayer* ) ), mWeightFieldCombo, SLOT( setLayer( QgsMapLayer* ) ) ); mRadiusFieldCombo->setLayer( mInputLayerCombo->currentLayer() ); mWeightFieldCombo->setLayer( mInputLayerCombo->currentLayer() ); // Adding GDAL drivers with CREATE to mFormatCombo int myTiffIndex = -1; int myIndex = -1; GDALAllRegister(); int nDrivers = GDALGetDriverCount(); for ( int i = 0; i < nDrivers; i += 1 ) { GDALDriverH nthDriver = GDALGetDriver( i ); char **driverMetadata = GDALGetMetadata( nthDriver, nullptr ); // Only formats which allow creation of Float32 data types are valid if ( CSLFetchBoolean( driverMetadata, GDAL_DCAP_CREATE, false ) && QString( GDALGetMetadataItem( nthDriver, GDAL_DMD_CREATIONDATATYPES, nullptr ) ).contains( "Float32" ) ) { ++myIndex; QString myLongName = GDALGetMetadataItem( nthDriver, GDAL_DMD_LONGNAME, nullptr ); // Add LongName text, shortname variant; GetDescription actually gets the shortname mFormatCombo->addItem( myLongName, QVariant( GDALGetDescription( nthDriver ) ) ); // Add the drivers and their extensions to a map for filename correction mExtensionMap.insert( GDALGetDescription( nthDriver ), GDALGetMetadataItem( nthDriver, GDAL_DMD_EXTENSION, nullptr ) ); if ( myLongName == "GeoTIFF" ) { myTiffIndex = myIndex; } } } //Restore choice of output format from last run QSettings s; int defaultFormatIndex = s.value( "/Heatmap/lastFormat", myTiffIndex ).toInt(); mFormatCombo->setCurrentIndex( defaultFormatIndex ); restoreSettings( usingLastInputLayer ); updateBBox(); updateSize(); mAddToCanvas->setChecked( s.value( "/Heatmap/addToCanvas", true ).toBool() ); blockAllSignals( false ); //finally set right the ok button enableOrDisableOkButton(); }
void HeatmapGui::on_mOutputRasterLineEdit_editingFinished() { enableOrDisableOkButton(); }