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

#include <KisToolChangesTracker.h>

+ Inheritance diagram for KisToolChangesTracker:

Classes

struct  Private
 

Signals

void sigConfigChanged (KisToolChangesTrackerDataSP state)
 

Public Member Functions

bool canRedo () const
 
bool canUndo () const
 
void commitConfig (KisToolChangesTrackerDataSP state)
 
bool isEmpty () const
 
 KisToolChangesTracker ()
 
KisToolChangesTrackerDataSP lastState () const
 
void requestRedo ()
 
void requestUndo ()
 
void reset ()
 
 ~KisToolChangesTracker ()
 

Private Attributes

const QScopedPointer< Privatem_d
 

Detailed Description

Definition at line 14 of file KisToolChangesTracker.h.

Constructor & Destructor Documentation

◆ KisToolChangesTracker()

KisToolChangesTracker::KisToolChangesTracker ( )

Definition at line 18 of file KisToolChangesTracker.cpp.

19 : m_d(new Private)
20{
21}
const QScopedPointer< Private > m_d

◆ ~KisToolChangesTracker()

KisToolChangesTracker::~KisToolChangesTracker ( )

Definition at line 23 of file KisToolChangesTracker.cpp.

24{
25}

Member Function Documentation

◆ canRedo()

bool KisToolChangesTracker::canRedo ( ) const

Definition at line 76 of file KisToolChangesTracker.cpp.

77{
78 return !m_d->redoStack.isEmpty();
79}

References m_d.

◆ canUndo()

bool KisToolChangesTracker::canUndo ( ) const

Definition at line 71 of file KisToolChangesTracker.cpp.

72{
73 return m_d->undoStack.size() > 1;
74}

References m_d.

◆ commitConfig()

void KisToolChangesTracker::commitConfig ( KisToolChangesTrackerDataSP state)

Definition at line 27 of file KisToolChangesTracker.cpp.

28{
29 m_d->undoStack.append(state);
30 m_d->redoStack.clear();
31}

References m_d.

◆ isEmpty()

bool KisToolChangesTracker::isEmpty ( ) const

Definition at line 66 of file KisToolChangesTracker.cpp.

67{
68 return m_d->undoStack.isEmpty() && m_d->redoStack.isEmpty();
69}

References m_d.

◆ lastState()

KisToolChangesTrackerDataSP KisToolChangesTracker::lastState ( ) const

Definition at line 55 of file KisToolChangesTracker.cpp.

56{
57 return !m_d->undoStack.isEmpty() ? m_d->undoStack.last() : static_cast<QSharedPointer<KisToolChangesTrackerData>>(0);
58}

References m_d.

◆ requestRedo()

void KisToolChangesTracker::requestRedo ( )

Definition at line 44 of file KisToolChangesTracker.cpp.

45{
46 if (m_d->redoStack.isEmpty()) return;
47
48 m_d->undoStack.append(m_d->redoStack.last());
49 m_d->redoStack.removeLast();
50 if (!m_d->undoStack.isEmpty()) {
51 Q_EMIT sigConfigChanged(m_d->undoStack.last());
52 }
53}
void sigConfigChanged(KisToolChangesTrackerDataSP state)

References m_d, and sigConfigChanged().

◆ requestUndo()

void KisToolChangesTracker::requestUndo ( )

Definition at line 33 of file KisToolChangesTracker.cpp.

34{
35 if (m_d->undoStack.isEmpty()) return;
36
37 m_d->redoStack.append(m_d->undoStack.last());
38 m_d->undoStack.removeLast();
39 if (!m_d->undoStack.isEmpty()) {
40 Q_EMIT sigConfigChanged(m_d->undoStack.last());
41 }
42}

References m_d, and sigConfigChanged().

◆ reset()

void KisToolChangesTracker::reset ( )

Definition at line 60 of file KisToolChangesTracker.cpp.

61{
62 m_d->undoStack.clear();
63 m_d->redoStack.clear();
64}

References m_d.

◆ sigConfigChanged

void KisToolChangesTracker::sigConfigChanged ( KisToolChangesTrackerDataSP state)
signal

Member Data Documentation

◆ m_d

const QScopedPointer<Private> KisToolChangesTracker::m_d
private

Definition at line 38 of file KisToolChangesTracker.h.


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