17#ifndef QgsAbstractMetadataBaseWIDGET_H
18#define QgsAbstractMetadataBaseWIDGET_H
20#include <QStandardItemModel>
21#include <QStyledItemDelegate>
22#include <QStringListModel>
28#include "ui_qgsmetadatawidget.h"
44 Q_PROPERTY( QString title READ title WRITE setTitle NOTIFY titleChanged )
73 void setMode( Mode mode );
116 bool checkMetadata();
126 void acceptMetadata();
131 static QMap<QString, QString> parseLanguages();
136 static QStringList parseLicenses();
142 static QStringList parseLinkTypes();
148 static QStringList parseMimeTypes();
153 static QMap<QString, QString> parseTypes();
168 QString title() const;
180 void setTitle( const QString &title );
192 void titleChanged( const QString &title );
195 void removeSelectedCategories();
197 void fillSourceFromLayer();
198 void fillCrsFromLayer();
199 void fillCrsFromProvider();
200 void addDefaultCategories();
201 void addNewCategory();
202 void addVocabulary();
203 void removeSelectedVocabulary();
205 void removeSelectedLicence();
207 void removeSelectedRight();
208 void addConstraint();
209 void removeSelectedConstraint();
211 void removeSelectedAddress();
213 void removeSelectedLink();
215 void removeSelectedHistory();
220 void setUiFromMetadata();
221 void syncFromCategoriesTabToKeywordsTab();
223 Mode mMode = LayerMetadata;
225 QStringList mDefaultCategories;
229 QStandardItemModel *mConstraintsModel =
nullptr;
230 QStandardItemModel *mLinksModel =
nullptr;
231 QStringListModel *mCategoriesModel =
nullptr;
232 QStringListModel *mDefaultCategoriesModel =
nullptr;
233 QStringListModel *mRightsModel =
nullptr;
234 QStringListModel *mHistoryModel =
nullptr;
248class LinkItemDelegate :
public QStyledItemDelegate
259 explicit LinkItemDelegate( QObject *parent =
nullptr );
264 QWidget *createEditor( QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index )
const override;
274class ConstraintItemDelegate :
public QStyledItemDelegate
285 explicit ConstraintItemDelegate( QObject *parent =
nullptr );
290 QWidget *createEditor( QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index )
const override;
This class represents a coordinate reference system (CRS).
Map canvas is a class for displaying all GIS data types on a canvas.
Base class for all map layer types.
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.