17#ifndef QGSCPTCITYARCHIVE_H
18#define QGSCPTCITYARCHIVE_H
25#include <QAbstractItemModel>
33#define DEFAULT_CPTCITY_ARCHIVE "cpt-city-qgis-min"
43 const QString &baseDir = QString() );
50 QString baseDir()
const;
51 static QString baseDir( QString archiveName );
52 static QString defaultBaseDir();
53 void setBaseDir(
const QString &dirName ) { mBaseDir = dirName; }
56 QString copyingFileName(
const QString &dirName )
const;
57 QString descFileName(
const QString &dirName )
const;
58 static QString findFileName(
const QString &target,
const QString &startDir,
const QString &baseDir );
59 static QMap< QString, QString > copyingInfo(
const QString &fileName );
60 static QMap< QString, QString > description(
const QString &fileName );
62 static QMap< double, QPair<QColor, QColor> > gradientColorMap(
const QString &fileName )
SIP_SKIP;
67 static void initArchives(
bool loadAll =
false );
68 static void initArchive(
const QString &archiveName,
const QString &archiveBaseDir );
69 static void initDefaultArchive();
70 static void clearArchives();
72 static QMap< QString, QgsCptCityArchive * > archiveRegistry();
75 QVector< QgsCptCityDataItem * >
rootItems()
const {
return mRootItems; }
76 QVector< QgsCptCityDataItem * >
selectionItems()
const {
return mSelectionItems; }
83 QVector< QgsCptCityDataItem * > mRootItems;
84 QVector<QgsCptCityDataItem *> mSelectionItems;
111 const QString &name,
const QString &path );
117 virtual int leafCount()
const;
121 virtual void refresh();
124 virtual QVector<QgsCptCityDataItem *> createChildren();
127 virtual void populate();
149 virtual bool handleDrop(
const QMimeData * , Qt::DropAction ) {
return false; }
161 QVector<QgsCptCityDataItem *>
children()
const {
return mChildren; }
162 virtual QIcon
icon() {
return mIcon; }
163 virtual QIcon
icon( QSize size ) { Q_UNUSED( size )
return icon(); }
164 QString
name()
const {
return mName; }
165 QString
path()
const {
return mPath; }
166 QString
info()
const {
return mInfo; }
169 void setIcon(
const QIcon &icon ) { mIcon = icon; }
206 const QString &name,
const QString &path,
207 const QString &variantName = QString(),
208 bool initialize =
false );
210 const QString &name,
const QString &path,
211 const QStringList &variantList,
212 bool initialize =
false );
221 QIcon icon()
override;
222 QIcon icon( QSize size )
override;
242 const QString &name,
const QString &path );
247 QVector<QgsCptCityDataItem *> childrenRamps(
bool recursive );
262 const QString &name,
const QString &path );
264 QVector<QgsCptCityDataItem *> createChildren()
override;
269 const QString &name,
const QString &path );
272 QMap< QString, QStringList > rampsMap();
273 QStringList dirEntries()
const;
288 QVector<QgsCptCityDataItem *> createChildren()
override;
308 const QVector<QgsCptCityDataItem *> &items );
310 QVector<QgsCptCityDataItem *> createChildren()
override;
335 ViewType Type = Authors );
339 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
340 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole )
const override;
341 QVariant headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole )
const override;
342 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
343 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
344 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex() )
const override;
348 QModelIndex parent(
const QModelIndex &index )
const override;
361 bool hasChildren(
const QModelIndex &parent = QModelIndex() )
const override;
367 void refresh(
const QString &path );
370 void refresh(
const QModelIndex &index = QModelIndex() );
373 QModelIndex findPath(
const QString &path );
377 bool canFetchMore(
const QModelIndex &parent )
const override;
378 void fetchMore(
const QModelIndex &parent )
override;
388 void endInsertItems();
390 void endRemoveItems();
396 void removeRootItems();
An "All ramps item", which contains all items in a flat hierarchy.
QVector< QgsCptCityDataItem * > mItems
QVector< QgsCptCityDataItem * > rootItems() const
QString archiveName() const
static QgsCptCityArchive * defaultArchive()
QgsCptCityArchive & operator=(const QgsCptCityArchive &rh)=delete
void setBaseDir(const QString &dirName)
QVector< QgsCptCityDataItem * > selectionItems() const
QgsCptCityArchive(const QgsCptCityArchive &rh)=delete
QVector< QgsCptCityDataItem * > mRootItems
A Collection: logical collection of subcollections and color ramps.
void addChild(QgsCptCityDataItem *item)
Item that represents a layer that can be opened with one of the providers.
const QgsCptCityColorRamp & ramp() const
int leafCount() const override
QgsCptCityColorRamp mRamp
Base class for all items in the model.
QgsCptCityDataItem * parent() const
virtual QWidget * paramWidget()
void setToolTip(const QString &msg)
void beginRemoveItems(QgsCptCityDataItem *parent, int first, int last)
QString shortInfo() const
virtual bool acceptDrop()
QVector< QgsCptCityDataItem * > mChildren
void setParent(QgsCptCityDataItem *parent)
virtual QIcon icon(QSize size)
void setIcon(const QIcon &icon)
QVector< QgsCptCityDataItem * > children() const
void beginInsertItems(QgsCptCityDataItem *parent, int first, int last)
virtual bool handleDrop(const QMimeData *, Qt::DropAction)
A directory: contains subdirectories and color ramps.
QMap< QString, QStringList > mRampsMap
A selection: contains subdirectories and color ramps.
QStringList mSelectionsList
QStringList selectionsList() const
#define DEFAULT_CPTCITY_ARCHIVE