Krita Source Code Documentation
Loading...
Searching...
No Matches
KisResourceIterator Class Reference

The KisResourceIterator class provides an iterator for a KisResourceModel. More...

#include <KisResourceIterator.h>

Classes

struct  Private
 

Public Member Functions

bool hasNext () const
 
bool hasPrevious () const
 
 KisResourceIterator (KisResourceModel *resourceModel)
 
const KisResourceItemSP next ()
 
const KisResourceItemSP peekNext () const
 
const KisResourceItemSP peekPrevious () const
 
const KisResourceItemSP previous ()
 
void toBack ()
 
void toFront ()
 
 ~KisResourceIterator ()
 

Private Attributes

QScopedPointer< Privated
 

Detailed Description

The KisResourceIterator class provides an iterator for a KisResourceModel.

Definition at line 51 of file KisResourceIterator.h.

Constructor & Destructor Documentation

◆ KisResourceIterator()

KisResourceIterator::KisResourceIterator ( KisResourceModel * resourceModel)

Definition at line 89 of file KisResourceIterator.cpp.

90 : d(new Private(resourceModel))
91{
92}
QScopedPointer< Private > d

◆ ~KisResourceIterator()

KisResourceIterator::~KisResourceIterator ( )

Definition at line 94 of file KisResourceIterator.cpp.

95{
96}

Member Function Documentation

◆ hasNext()

bool KisResourceIterator::hasNext ( ) const

Definition at line 99 of file KisResourceIterator.cpp.

100{
101 return d->currentRow < d->resourceModel->rowCount();
102}

References d.

◆ hasPrevious()

bool KisResourceIterator::hasPrevious ( ) const

Definition at line 104 of file KisResourceIterator.cpp.

105{
106 return d->currentRow > 0 && d->resourceModel->rowCount() > 0;
107}

References d.

◆ next()

const KisResourceItemSP KisResourceIterator::next ( )

Definition at line 109 of file KisResourceIterator.cpp.

110{
111 if (hasNext()) {
112 QModelIndex idx = d->resourceModel->index(d->currentRow, 0);
113 d->currentRow++;
114 return KisResourceItemSP(new KisResourceItem(d->resourceModel, idx));
115 }
116 return KisResourceItemSP(new KisResourceItem(0, QModelIndex()));
117}
QSharedPointer< KisResourceItem > KisResourceItemSP
The KisResourceItem class represents a resource, but until resource() is called, the resource is not ...

References d, and hasNext().

◆ peekNext()

const KisResourceItemSP KisResourceIterator::peekNext ( ) const

Definition at line 119 of file KisResourceIterator.cpp.

120{
121 if (hasNext()) {
122 QModelIndex idx = d->resourceModel->index(d->currentRow, 0);
123 return KisResourceItemSP(new KisResourceItem(d->resourceModel, idx));
124 }
125 return KisResourceItemSP(new KisResourceItem(0, QModelIndex()));
126}

References d, and hasNext().

◆ peekPrevious()

const KisResourceItemSP KisResourceIterator::peekPrevious ( ) const

Definition at line 128 of file KisResourceIterator.cpp.

129{
130 if (hasPrevious()) {
131 QModelIndex idx = d->resourceModel->index(d->currentRow - 1, 0);
132 return KisResourceItemSP(new KisResourceItem(d->resourceModel, idx));
133 }
134 return KisResourceItemSP(new KisResourceItem(0, QModelIndex()));
135}

References d, and hasPrevious().

◆ previous()

const KisResourceItemSP KisResourceIterator::previous ( )

Definition at line 137 of file KisResourceIterator.cpp.

138{
139 if (hasPrevious()) {
140 d->currentRow--;
141 QModelIndex idx = d->resourceModel->index(d->currentRow, 0);
142 return KisResourceItemSP(new KisResourceItem(d->resourceModel, idx));
143 }
144 return KisResourceItemSP(new KisResourceItem(0, QModelIndex()));
145
146}

References d, and hasPrevious().

◆ toBack()

void KisResourceIterator::toBack ( )

Definition at line 153 of file KisResourceIterator.cpp.

154{
155 d->currentRow = d->resourceModel->rowCount();
156}

References d.

◆ toFront()

void KisResourceIterator::toFront ( )

Definition at line 148 of file KisResourceIterator.cpp.

149{
150 d->currentRow = 0;
151}

References d.

Member Data Documentation

◆ d

QScopedPointer<Private> KisResourceIterator::d
private

Definition at line 68 of file KisResourceIterator.h.


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