1 /*************************************************************************** 2 qgsrasterpyramidsoptionswidget.h 3 ------------------- 4 begin : July 2012 5 copyright : (C) 2012 by Etienne Tourigny 6 email : etourigny dot dev at gmail dot com 7 ***************************************************************************/ 8 9 /*************************************************************************** 10 * * 11 * This program is free software; you can redistribute it and/or modify * 12 * it under the terms of the GNU General Public License as published by * 13 * the Free Software Foundation; either version 2 of the License, or * 14 * (at your option) any later version. * 15 * * 16 ***************************************************************************/ 17 18 #ifndef QGSRASTERPYRAMIDSOPTIONSWIDGET_H 19 #define QGSRASTERPYRAMIDSOPTIONSWIDGET_H 20 21 #include "ui_qgsrasterpyramidsoptionswidgetbase.h" 22 #include "qgis_sip.h" 23 #include "qgis_gui.h" 24 25 class QCheckBox; 26 27 /** 28 * \ingroup gui 29 * \brief A widget to select format-specific raster saving options 30 */ 31 class GUI_EXPORT QgsRasterPyramidsOptionsWidget: public QWidget, private Ui::QgsRasterPyramidsOptionsWidgetBase 32 { 33 Q_OBJECT 34 35 public: 36 37 //! Constructor for QgsRasterPyramidsOptionsWidget 38 QgsRasterPyramidsOptionsWidget( QWidget *parent SIP_TRANSFERTHIS = nullptr, const QString &provider = "gdal" ); 39 configOptions()40 QStringList configOptions() const { return mSaveOptionsWidget->options(); } createOptionsWidget()41 QgsRasterFormatSaveOptionsWidget *createOptionsWidget() SIP_FACTORY { return mSaveOptionsWidget; } overviewList()42 const QList<int> overviewList() const { return mOverviewList; } pyramidsFormat()43 QgsRaster::RasterPyramidsFormat pyramidsFormat() const 44 { return static_cast< QgsRaster::RasterPyramidsFormat >( cbxPyramidsFormat->currentIndex() ); } 45 QString resamplingMethod() const; setRasterLayer(QgsRasterLayer * rasterLayer)46 void setRasterLayer( QgsRasterLayer *rasterLayer ) { mSaveOptionsWidget->setRasterLayer( rasterLayer ); } setRasterFileName(const QString & file)47 void setRasterFileName( const QString &file ) { mSaveOptionsWidget->setRasterFileName( file ); } 48 49 public slots: 50 51 void apply(); 52 void checkAllLevels( bool checked ); 53 54 private slots: 55 56 void cbxPyramidsLevelsCustom_toggled( bool toggled ) SIP_FORCE; 57 void cbxPyramidsFormat_currentIndexChanged( int index ) SIP_FORCE; 58 void setOverviewList() SIP_FORCE; 59 void updateUi() SIP_FORCE; 60 61 signals: 62 void overviewListChanged(); 63 void someValueChanged(); /* emitted when any other setting changes */ 64 65 private: 66 67 // Must be in the same order as in the .ui file 68 typedef enum 69 { 70 GTIFF = 0, 71 INTERNAL = 1, 72 ERDAS = 2 73 } Format; 74 75 76 QString mProvider; 77 QList< int > mOverviewList; 78 QMap< int, QCheckBox * > mOverviewCheckBoxes; 79 }; 80 81 // clazy:excludeall=qstring-allocations 82 83 #endif // QGSRASTERLAYERSAVEASDIALOG_H 84