15 #ifndef QGSRASTERLAYERSAVEASDIALOG_H
16 #define QGSRASTERLAYERSAVEASDIALOG_H
18 #include "ui_qgsrasterlayersaveasdialogbase.h"
27 class QgsRasterFormatOptionsWidget;
61 Qt::WindowFlags f =
nullptr );
66 double xResolution()
const;
67 double yResolution()
const;
68 int maximumTileSizeX()
const;
69 int maximumTileSizeY()
const;
70 bool tileMode()
const;
77 bool addToCanvas()
const;
85 void setAddToCanvas(
bool checked );
87 QString outputFileName()
const;
93 QString outputLayerName()
const;
94 QString outputFormat()
const;
96 QStringList createOptions()
const;
100 QList< int > pyramidsList()
const;
110 void accept()
override;
113 void mRawModeRadioButton_toggled(
bool );
114 void mFormatComboBox_currentIndexChanged(
const QString &text );
115 void mResolutionRadioButton_toggled(
bool ) { toggleResolutionSize(); }
116 void mOriginalResolutionPushButton_clicked() { setOriginalResolution(); }
117 void mXResolutionLineEdit_textEdited(
const QString & ) { mResolutionState = UserResolution; recalcSize(); }
118 void mYResolutionLineEdit_textEdited(
const QString & ) { mResolutionState = UserResolution; recalcSize(); }
120 void mOriginalSizePushButton_clicked() { setOriginalSize(); }
121 void mColumnsLineEdit_textEdited(
const QString & ) { mResolutionState = UserResolution; recalcResolution(); }
122 void mRowsLineEdit_textEdited(
const QString & ) { mResolutionState = UserResolution; recalcResolution(); }
124 void mAddNoDataManuallyToolButton_clicked();
125 void mLoadTransparentNoDataToolButton_clicked();
126 void mRemoveSelectedNoDataToolButton_clicked();
127 void mRemoveAllNoDataToolButton_clicked();
128 void noDataCellTextEdited(
const QString &text );
129 void mTileModeCheckBox_toggled(
bool toggled );
130 void mPyramidsGroupBox_toggled(
bool toggled );
131 void populatePyramidsLevels();
132 void extentChanged();
143 ResolutionState mResolutionState;
144 QVector<bool> mNoDataToEdited;
146 void setValidators();
147 void toggleResolutionSize();
149 void setOriginalResolution();
150 void setOriginalSize();
152 void recalcResolution();
153 void updateResolutionStateMsg();
154 void recalcResolutionSize();
156 void addNoDataRow(
double min,
double max );
157 void setNoDataToEdited(
int row );
158 double noDataCellValue(
int row,
int column )
const;
159 void adjustNoDataCellWidth(
int row,
int column );
160 bool validate()
const;
162 bool outputLayerExists()
const;
164 void insertAvailableOutputFormats();
166 friend class TestQgsRasterLayerSaveAsDialog;
170 #endif // QGSRASTERLAYERSAVEASDIALOG_H