11 #ifndef QGSCRSSELECTOR_H
12 #define QGSCRSSELECTOR_H
14 #include "ui_qgsprojectionselectorbase.h"
17 #include <QStringList>
65 void setShowNoProjection(
bool show );
72 void setShowBoundsMap(
bool show );
80 bool showNoProjection()
const;
87 void setNotSetText(
const QString &text );
94 bool showBoundsMap()
const;
102 bool hasValidSelection()
const;
139 void setOgcWmsCrsFilter(
const QSet<QString> &crsFilter );
176 void showEvent( QShowEvent *event )
override;
179 void resizeEvent( QResizeEvent *event )
override;
190 void loadUserCrsList( QSet<QString> *crsFilter =
nullptr );
199 void loadCrsList( QSet<QString> *crsFilter =
nullptr );
212 QString sqlSafeString(
const QString &
string )
const;
225 QString ogcWmsCrsFilterAsSqlExpression( QSet<QString> *crsFilter );
237 void applySelection(
int column = QgsProjectionSelectionTreeWidget::None, QString value = QString() );
244 QString getSelectedExpression(
const QString &e )
const;
246 QString selectedName();
249 long selectedCrsId();
252 void showDBMissingWarning(
const QString &fileName );
256 RoleDeprecated = Qt::UserRole,
263 QTreeWidgetItem *mUserProjList =
nullptr;
265 QTreeWidgetItem *mGeoList =
nullptr;
267 QTreeWidgetItem *mProjList =
nullptr;
269 QTreeWidgetItem *mUnknownList =
nullptr;
272 QString mCustomCsFile;
274 QString mSrsDatabaseFileName;
279 long getLargestCrsIdMatch(
const QString &sql );
285 bool mProjListDone =
false;
288 bool mUserProjListDone =
false;
291 bool mRecentProjListDone =
false;
293 enum Columns { NameColumn, AuthidColumn, QgisCrsIdColumn,
None };
294 int mSearchColumn = QgsProjectionSelectionTreeWidget::None;
295 QString mSearchValue;
298 QSet<QString> mCrsFilter;
301 QList< QgsCoordinateReferenceSystem > mRecentProjections;
304 void hideDeprecated( QTreeWidgetItem *item );
306 bool mShowMap =
true;
308 bool mInitialized =
false;
310 bool mBlockSignals =
false;
314 void updateBoundsPreview();
315 QStringList authorities();
318 void lstCoordinateSystems_itemDoubleClicked( QTreeWidgetItem *current,
int column );
319 void lstRecent_itemDoubleClicked( QTreeWidgetItem *current,
int column );
320 void lstCoordinateSystems_currentItemChanged( QTreeWidgetItem *current, QTreeWidgetItem *prev );
321 void lstRecent_currentItemChanged( QTreeWidgetItem *current, QTreeWidgetItem *prev );
This class represents a coordinate reference system (CRS).
A rectangle specified with double values.
const QgsCoordinateReferenceSystem & crs