17 #ifndef QGSCPTCITYARCHIVE_H
18 #define QGSCPTCITYARCHIVE_H
22 #include <QAbstractItemModel>
31 #define DEFAULT_CPTCITY_ARCHIVE "cpt-city-qgis-min"
37 QString baseDir = QString() );
41 QString baseDir()
const;
42 static QString baseDir( QString archiveName );
43 static QString defaultBaseDir();
44 void setBaseDir( QString dirName ) { mBaseDir = dirName; }
47 QString copyingFileName(
const QString& dirName )
const;
48 QString descFileName(
const QString& dirName )
const;
49 static QString findFileName(
const QString & target,
const QString & startDir,
const QString & baseDir );
50 static QMap< QString, QString > copyingInfo(
const QString& fileName );
51 static QMap< QString, QString > description(
const QString& fileName );
53 static QMap< double, QPair<QColor, QColor> > gradientColorMap(
const QString& fileName );
58 static void initArchives(
bool loadAll =
false );
59 static void initArchive( QString archiveName, QString archiveBaseDir );
60 static void initDefaultArchive();
61 static void clearArchives();
63 static QMap< QString, QgsCptCityArchive* > archiveRegistry();
66 QVector< QgsCptCityDataItem* >
rootItems()
const {
return mRootItems; }
67 QVector< QgsCptCityDataItem* >
selectionItems()
const {
return mSelectionItems; }
98 QString name, QString path );
105 virtual int leafCount()
const;
109 virtual void refresh();
112 virtual QVector<QgsCptCityDataItem*> createChildren();
115 virtual void populate();
134 virtual QList<QAction*>
actions() {
return QList<QAction*>(); }
140 virtual bool handleDrop(
const QMimeData * , Qt::DropAction ) {
return false; }
152 QVector<QgsCptCityDataItem*>
children()
const {
return mChildren; }
153 virtual QIcon
icon() {
return mIcon; }
154 virtual QIcon
icon(
const QSize&
size ) { Q_UNUSED( size ) ;
return icon(); }
155 QString
name()
const {
return mName; }
156 QString
path()
const {
return mPath; }
157 QString
info()
const {
return mInfo; }
183 void emitEndInsertItems();
185 void emitEndRemoveItems();
189 void endInsertItems();
191 void endRemoveItems();
200 QString name, QString path,
201 QString variantName = QString(),
202 bool initialize =
false );
204 QString name, QString path,
205 QStringList variantList,
206 bool initialize =
false );
234 QString name, QString path );
239 QVector<QgsCptCityDataItem*> childrenRamps(
bool recursive );
251 QString name, QString path );
259 QString name, QString path );
262 QMap< QString, QStringList > rampsMap();
263 QStringList dirEntries()
const;
292 QVector<QgsCptCityDataItem*> items );
317 ViewType Type = Authors );
324 virtual Qt::ItemFlags flags(
const QModelIndex &
index )
const;
330 virtual QVariant data(
const QModelIndex &
index,
int role = Qt::DisplayRole )
const;
334 virtual QVariant headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole )
const;
337 virtual int rowCount(
const QModelIndex &parent = QModelIndex() )
const;
341 virtual int columnCount(
const QModelIndex &parent = QModelIndex() )
const;
344 virtual QModelIndex
index(
int row,
int column,
const QModelIndex & parent = QModelIndex() )
const;
351 virtual QModelIndex parent(
const QModelIndex &
index )
const;
364 bool hasChildren(
const QModelIndex &parent = QModelIndex() )
const;
370 void refresh( QString path );
373 void refresh(
const QModelIndex &
index = QModelIndex() );
376 QModelIndex findPath( QString path );
380 bool canFetchMore(
const QModelIndex & parent )
const;
381 void fetchMore(
const QModelIndex & parent );
391 void endInsertItems();
393 void endRemoveItems();
398 void addRootItems( );
399 void removeRootItems();
QVector< QgsCptCityDataItem * > children() const
QgsCptCityDataItem * mParent
QVector< QgsCptCityDataItem * > mItems
An "All ramps item", which contains all items in a flat hierarchy.
static QgsCptCityArchive * defaultArchive()
virtual QList< QAction * > actions()
QString archiveName() const
QgsCptCityDataItem * parent() const
Item that represents a layer that can be opened with one of the providers.
QMap< QString, QStringList > mRampsMap
static QIcon icon(QString icon)
virtual QVector< QgsCptCityDataItem * > createChildren()
QgsCptCityArchive * mArchive
QVector< QgsCptCityDataItem * > rootItems() const
static QMap< QString, QgsCptCityArchive * > mArchiveRegistry
virtual bool handleDrop(const QMimeData *, Qt::DropAction)
QStringList selectionsList() const
virtual bool equal(const QgsCptCityDataItem *other)
virtual bool acceptDrop()
A directory: contains subdirectories and color ramps.
virtual QIcon icon(const QSize &size)
base class for all items in the model
QVector< QgsCptCityDataItem * > mSelectionItems
void setBaseDir(QString dirName)
~QgsCptCityColorRampItem()
QgsCptCityColorRampV2 mRamp
A Collection: logical collection of subcollections and color ramps.
QVector< QgsCptCityDataItem * > mChildren
QString shortInfo() const
#define DEFAULT_CPTCITY_ARCHIVE
QStringList mSelectionsList
static QMap< QString, QMap< QString, QString > > mCopyingInfoMap
void addChild(QgsCptCityDataItem *item)
void setParent(QgsCptCityDataItem *parent)
static QString mDefaultArchiveName
QVector< QgsCptCityDataItem * > mRootItems
virtual int leafCount() const
virtual QWidget * paramWidget()
void setToolTip(QString msg)
A selection: contains subdirectories and color ramps.
QVector< QgsCptCityDataItem * > mRootItems
const QgsCptCityColorRampV2 & ramp() const
QVector< QgsCptCityDataItem * > selectionItems() const