Krita Source Code Documentation
Loading...
Searching...
No Matches
AbrIterator Class Reference
+ Inheritance diagram for AbrIterator:

Public Member Functions

 AbrIterator (KisAbrBrushCollectionSP brushCollection, const QString &resourceType)
 
bool hasNext () const override
 
QDateTime lastModified () const override
 
void next () override
 The iterator is only valid if next() has been called at least once.
 
KoResourceSP resourceImpl () const override
 This only loads the resource when called.
 
QString type () const override
 
QString url () const override
 
- Public Member Functions inherited from KisResourceStorage::ResourceIterator
virtual int guessedVersion () const
 
KoResourceSP resource () const
 
virtual QSharedPointer< KisResourceStorage::ResourceIteratorversions () const
 
virtual ~ResourceIterator ()
 

Public Attributes

bool isLoaded
 
KisAbrBrushCollectionSP m_brushCollection
 
QMap< QString, KisAbrBrushSP >::const_iterator m_brushCollectionIterator
 
QSharedPointer< QMap< QString, KisAbrBrushSP > > m_brushesMap
 
KisAbrBrushSP m_currentResource
 
QString m_currentUrl
 
QString m_resourceType
 

Additional Inherited Members

Detailed Description

Definition at line 60 of file KisAbrStorage.cpp.

Constructor & Destructor Documentation

◆ AbrIterator()

AbrIterator::AbrIterator ( KisAbrBrushCollectionSP brushCollection,
const QString & resourceType )
inline

Definition at line 72 of file KisAbrStorage.cpp.

73 : m_brushCollection(brushCollection)
74 , isLoaded(false)
75 , m_resourceType(resourceType)
76 {
77 }
KisAbrBrushCollectionSP m_brushCollection
QString m_resourceType

Member Function Documentation

◆ hasNext()

bool AbrIterator::hasNext ( ) const
inlineoverridevirtual

Implements KisResourceStorage::ResourceIterator.

Definition at line 79 of file KisAbrStorage.cpp.

80 {
82 return false;
83 }
84
85 if (!isLoaded) {
86 bool success = m_brushCollection->load();
87 Q_UNUSED(success); // brush collection will be empty
88 const_cast<AbrIterator*>(this)->m_brushesMap = m_brushCollection->brushesMap();
89 const_cast<AbrIterator*>(this)->m_brushCollectionIterator = m_brushesMap->constBegin();
90 const_cast<AbrIterator*>(this)->isLoaded = true;
91 }
92
93 if (m_brushCollectionIterator == m_brushesMap->constEnd()) {
94 return false;
95 }
96
97 bool hasNext = (m_brushCollectionIterator != m_brushesMap->constEnd());
98 return hasNext;
99 }
QSharedPointer< QMap< QString, KisAbrBrushSP > > m_brushesMap
QMap< QString, KisAbrBrushSP >::const_iterator m_brushCollectionIterator
bool hasNext() const override
const QString Brushes

References ResourceType::Brushes, hasNext(), isLoaded, m_brushCollection, m_brushCollectionIterator, m_brushesMap, and m_resourceType.

◆ lastModified()

QDateTime AbrIterator::lastModified ( ) const
inlineoverridevirtual

Implements KisResourceStorage::ResourceIterator.

Definition at line 114 of file KisAbrStorage.cpp.

114{ return m_brushCollection->lastModified(); }

References m_brushCollection.

◆ next()

void AbrIterator::next ( )
inlineoverridevirtual

The iterator is only valid if next() has been called at least once.

Implements KisResourceStorage::ResourceIterator.

Definition at line 101 of file KisAbrStorage.cpp.

102 {
104 return;
105 }
110 }
KisAbrBrushSP m_currentResource
QString m_currentUrl
#define KIS_SAFE_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:128

References ResourceType::Brushes, KIS_SAFE_ASSERT_RECOVER_RETURN, m_brushCollectionIterator, m_brushesMap, m_currentResource, m_currentUrl, and m_resourceType.

◆ resourceImpl()

KoResourceSP AbrIterator::resourceImpl ( ) const
inlineoverridevirtual

This only loads the resource when called.

Implements KisResourceStorage::ResourceIterator.

Definition at line 116 of file KisAbrStorage.cpp.

117 {
118 return m_currentResource;
119 }

References m_currentResource.

◆ type()

QString AbrIterator::type ( ) const
inlineoverridevirtual

Implements KisResourceStorage::ResourceIterator.

Definition at line 113 of file KisAbrStorage.cpp.

113{ return ResourceType::Brushes; }

References ResourceType::Brushes.

◆ url()

QString AbrIterator::url ( ) const
inlineoverridevirtual

Implements KisResourceStorage::ResourceIterator.

Definition at line 112 of file KisAbrStorage.cpp.

112{ return m_currentUrl; }

References m_currentUrl.

Member Data Documentation

◆ isLoaded

bool AbrIterator::isLoaded

Definition at line 67 of file KisAbrStorage.cpp.

◆ m_brushCollection

KisAbrBrushCollectionSP AbrIterator::m_brushCollection

Definition at line 63 of file KisAbrStorage.cpp.

◆ m_brushCollectionIterator

QMap<QString,KisAbrBrushSP>::const_iterator AbrIterator::m_brushCollectionIterator

Definition at line 65 of file KisAbrStorage.cpp.

◆ m_brushesMap

QSharedPointer<QMap<QString, KisAbrBrushSP> > AbrIterator::m_brushesMap

Definition at line 64 of file KisAbrStorage.cpp.

◆ m_currentResource

KisAbrBrushSP AbrIterator::m_currentResource

Definition at line 66 of file KisAbrStorage.cpp.

◆ m_currentUrl

QString AbrIterator::m_currentUrl

Definition at line 68 of file KisAbrStorage.cpp.

◆ m_resourceType

QString AbrIterator::m_resourceType

Definition at line 69 of file KisAbrStorage.cpp.


The documentation for this class was generated from the following file: