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() );
52 QString baseDir()
const;
53 static QString baseDir( QString archiveName );
54 static QString defaultBaseDir();
55 void setBaseDir(
const QString &dirName ) { mBaseDir = dirName; }
58 QString copyingFileName(
const QString &dirName )
const;
59 QString descFileName(
const QString &dirName )
const;
60 static QString findFileName(
const QString &target,
const QString &startDir,
const QString &baseDir );
61 static QMap< QString, QString > copyingInfo(
const QString &fileName );
62 static QMap< QString, QString > description(
const QString &fileName );
64 static QMap< double, QPair<QColor, QColor> > gradientColorMap(
const QString &fileName )
SIP_SKIP;
69 static void initArchives(
bool loadAll =
false );
70 static void initArchive(
const QString &archiveName,
const QString &archiveBaseDir );
71 static void initDefaultArchive();
72 static void clearArchives();
74 static QMap< QString, QgsCptCityArchive * > archiveRegistry();
77 QVector< QgsCptCityDataItem * >
rootItems()
const {
return mRootItems; }
78 QVector< QgsCptCityDataItem * >
selectionItems()
const {
return mSelectionItems; }
85 QVector< QgsCptCityDataItem * > mRootItems;
86 QVector<QgsCptCityDataItem *> mSelectionItems;
113 const QString &name,
const QString &path );
119 virtual int leafCount()
const;
123 virtual void refresh();
126 virtual QVector<QgsCptCityDataItem *> createChildren();
129 virtual void populate();
151 virtual bool handleDrop(
const QMimeData * , Qt::DropAction ) {
return false; }
163 QVector<QgsCptCityDataItem *>
children()
const {
return mChildren; }
164 virtual QIcon
icon() {
return mIcon; }
165 virtual QIcon
icon( QSize size ) { Q_UNUSED( size )
return icon(); }
166 QString
name()
const {
return mName; }
167 QString
path()
const {
return mPath; }
168 QString
info()
const {
return mInfo; }
171 void setIcon(
const QIcon &icon ) { mIcon = icon; }
208 const QString &name,
const QString &path,
209 const QString &variantName = QString(),
210 bool initialize =
false );
212 const QString &name,
const QString &path,
213 const QStringList &variantList,
214 bool initialize =
false );
223 QIcon icon()
override;
224 QIcon icon( QSize size )
override;
244 const QString &name,
const QString &path );
249 QVector<QgsCptCityDataItem *> childrenRamps(
bool recursive );
264 const QString &name,
const QString &path );
266 QVector<QgsCptCityDataItem *> createChildren()
override;
271 const QString &name,
const QString &path );
274 QMap< QString, QStringList > rampsMap();
275 QStringList dirEntries()
const;
290 QVector<QgsCptCityDataItem *> createChildren()
override;
310 const QVector<QgsCptCityDataItem *> &items );
312 QVector<QgsCptCityDataItem *> createChildren()
override;
337 ViewType Type = Authors );
341 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
342 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole )
const override;
343 QVariant headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole )
const override;
344 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
345 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
346 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex() )
const override;
350 QModelIndex parent(
const QModelIndex &index )
const override;
363 bool hasChildren(
const QModelIndex &parent = QModelIndex() )
const override;
369 void refresh(
const QString &path );
372 void refresh(
const QModelIndex &index = QModelIndex() );
375 QModelIndex findPath(
const QString &path );
379 bool canFetchMore(
const QModelIndex &parent )
const override;
380 void fetchMore(
const QModelIndex &parent )
override;
390 void endInsertItems();
392 void endRemoveItems();
398 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
QgsCptCityArchive cannot be copied.
void setBaseDir(const QString &dirName)
QVector< QgsCptCityDataItem * > selectionItems() const
QgsCptCityArchive(const QgsCptCityArchive &rh)=delete
QgsCptCityArchive cannot be copied.
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