17#ifndef QGSCPTCITYARCHIVE_H
18#define QGSCPTCITYARCHIVE_H
25#include <QAbstractItemModel>
33#define DEFAULT_CPTCITY_ARCHIVE "cpt-city-qgis-min"
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;
68 static void initArchives(
bool loadAll =
false );
69 static void initArchive(
const QString &archiveName,
const QString &archiveBaseDir );
70 static void initDefaultArchive();
71 static void clearArchives();
73 static QMap< QString, QgsCptCityArchive * > archiveRegistry();
76 QVector< QgsCptCityDataItem * >
rootItems()
const {
return mRootItems; }
77 QVector< QgsCptCityDataItem * >
selectionItems()
const {
return mSelectionItems; }
83 QVector< QgsCptCityDataItem * > mRootItems;
84 QVector<QgsCptCityDataItem *> mSelectionItems;
118 virtual int leafCount()
const;
122 virtual void refresh();
127 virtual QVector<QgsCptCityDataItem *> createChildren();
132 virtual void populate();
201 virtual QIcon
icon( QSize size )
296 QIcon icon()
override;
297 QIcon icon( QSize size )
override;
320 QVector<QgsCptCityDataItem *> childrenRamps(
bool recursive );
343 QMap< QString, QStringList >
rampsMap();
407 Qt::ItemFlags flags(
const QModelIndex &index )
const override;
408 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole )
const override;
409 QVariant headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole )
const override;
410 int rowCount(
const QModelIndex &parent = QModelIndex() )
const override;
411 int columnCount(
const QModelIndex &parent = QModelIndex() )
const override;
412 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex() )
const override;
416 QModelIndex parent(
const QModelIndex &index )
const override;
423 bool hasChildren(
const QModelIndex &parent = QModelIndex() )
const override;
429 void refresh(
const QString &path );
432 void refresh(
const QModelIndex &index = QModelIndex() );
435 QModelIndex findPath(
const QString &path );
439 bool canFetchMore(
const QModelIndex &parent )
const override;
440 void fetchMore(
const QModelIndex &parent )
override;
445 void endInsertItems();
447 void endRemoveItems();
452 void removeRootItems();
QgsCptCityAllRampsItem(QgsCptCityDataItem *parent, const QString &name, const QVector< QgsCptCityDataItem * > &items)
QVector< QgsCptCityDataItem * > mItems
QVector< QgsCptCityDataItem * > createChildren() override
Returns a vector of children items.
Represents a CPT City color scheme.
static QString defaultBaseDir()
QVector< QgsCptCityDataItem * > rootItems() const
QString archiveName() const
static QgsCptCityArchive * defaultArchive()
QgsCptCityArchive & operator=(const QgsCptCityArchive &rh)=delete
void setBaseDir(const QString &dirName)
QgsCptCityArchive(const QString &archiveName=DEFAULT_CPTCITY_ARCHIVE, const QString &baseDir=QString())
QVector< QgsCptCityDataItem * > selectionItems() const
QgsCptCityArchive(const QgsCptCityArchive &rh)=delete
A custom item model for display of CPT City color palettes.
QgsCptCityArchive * mArchive
QgsCptCityBrowserModel(QObject *parent=nullptr, QgsCptCityArchive *archive=QgsCptCityArchive::defaultArchive(), ViewType Type=Authors)
QVector< QgsCptCityDataItem * > mRootItems
void addChild(QgsCptCityDataItem *item)
QgsCptCityCollectionItem(QgsCptCityDataItem *parent, const QString &name, const QString &path)
const QgsCptCityColorRamp & ramp() const
bool equal(const QgsCptCityDataItem *other) override
Returns true if this item is equal to an other item.
int leafCount() const override
Returns the total count of "leaf" items (all children which are end nodes).
QgsCptCityColorRampItem(QgsCptCityDataItem *parent, const QString &name, const QString &path, const QString &variantName=QString(), bool initialize=false)
QgsCptCityColorRamp mRamp
A color ramp from the CPT City collection.
Base class for all items in a QgsCptCityBrowserModel model.
QgsCptCityDataItem * parent() const
void setToolTip(const QString &msg)
void beginRemoveItems(QgsCptCityDataItem *parent, int first, int last)
Emitted before child items are removed from this data item.
QString shortInfo() const
virtual Q_DECL_DEPRECATED bool acceptDrop()
Returns true if the item accepts drag & dropped layers - e.g.
virtual Q_DECL_DEPRECATED bool handleDrop(const QMimeData *data, Qt::DropAction action)
Tries to process the data dropped on this item.
void endRemoveItems()
Emitted after child items have been removed from this data item.
bool isPopulated()
Returns true if the item is already populated.
QVector< QgsCptCityDataItem * > mChildren
void endInsertItems()
Emitted after child items have been added to this data item.
void setParent(QgsCptCityDataItem *parent)
virtual Q_DECL_DEPRECATED QWidget * paramWidget()
virtual QIcon icon(QSize size)
QgsCptCityDataItem * mParent
void setIcon(const QIcon &icon)
QgsCptCityDataItem(QgsCptCityDataItem::Type type, QgsCptCityDataItem *parent, const QString &name, const QString &path)
QVector< QgsCptCityDataItem * > children() const
void beginInsertItems(QgsCptCityDataItem *parent, int first, int last)
Emitted before child items are added to this item.
QStringList dirEntries() const
static QgsCptCityDataItem * dataItem(QgsCptCityDataItem *parent, const QString &name, const QString &path)
QVector< QgsCptCityDataItem * > createChildren() override
Returns a vector of children items.
QgsCptCityDirectoryItem(QgsCptCityDataItem *parent, const QString &name, const QString &path)
QMap< QString, QStringList > mRampsMap
bool equal(const QgsCptCityDataItem *other) override
Returns true if this item is equal to an other item.
QMap< QString, QStringList > rampsMap()
A selection which contains subdirectories and color ramps for use in QgsCptCityBrowserModel.
QVector< QgsCptCityDataItem * > createChildren() override
Returns a vector of children items.
QgsCptCitySelectionItem(QgsCptCityDataItem *parent, const QString &name, const QString &path)
bool equal(const QgsCptCityDataItem *other) override
Returns true if this item is equal to an other item.
QStringList mSelectionsList
QStringList selectionsList() const
#define DEFAULT_CPTCITY_ARCHIVE