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

#include <kis_dummies_facade.h>

+ Inheritance diagram for KisDummiesFacade:

Classes

struct  Private
 

Public Member Functions

int dummiesCount () const override
 
KisNodeDummydummyForNode (KisNodeSP node) const override
 
bool hasDummyForNode (KisNodeSP node) const override
 
 KisDummiesFacade (QObject *parent=0)
 
KisNodeDummyrootDummy () const override
 
 ~KisDummiesFacade () override
 
- Public Member Functions inherited from KisDummiesFacadeBase
 KisDummiesFacadeBase (QObject *parent=0)
 
KisNodeSP lastActivatedNode () const
 
void setImage (KisImageWSP image)
 
virtual void setImage (KisImageWSP image, KisNodeSP activeNode)
 
 ~KisDummiesFacadeBase () override
 

Private Member Functions

void addNodeImpl (KisNodeSP node, KisNodeSP parent, KisNodeSP aboveThis) override
 
void removeNodeImpl (KisNodeSP node) override
 

Private Attributes

Private *const m_d
 

Additional Inherited Members

- Signals inherited from KisDummiesFacadeBase
void sigActivateNode (KisNodeSP node)
 
void sigBeginInsertDummy (KisNodeDummy *parent, int index, const QString &metaObjectType)
 
void sigBeginRemoveDummy (KisNodeDummy *dummy)
 
void sigDummyChanged (KisNodeDummy *dummy)
 
void sigEndInsertDummy (KisNodeDummy *dummy)
 
void sigEndRemoveDummy ()
 
- Protected Member Functions inherited from KisDummiesFacadeBase
KisImageWSP image () const
 

Detailed Description

The simple implementation of KisDummiesFacadeBase. It can be used in cases when KisShapeController is not accessible, e.g. when you need to show layers in a filter and you need to create KisNodeModel

Definition at line 19 of file kis_dummies_facade.h.

Constructor & Destructor Documentation

◆ KisDummiesFacade()

KisDummiesFacade::KisDummiesFacade ( QObject * parent = 0)

Definition at line 19 of file kis_dummies_facade.cpp.

20 : KisDummiesFacadeBase(parent),
21 m_d(new Private())
22{
23}
KisDummiesFacadeBase(QObject *parent=0)

◆ ~KisDummiesFacade()

KisDummiesFacade::~KisDummiesFacade ( )
override

Definition at line 25 of file kis_dummies_facade.cpp.

26{
27 setImage(0);
28 delete m_d;
29}
void setImage(KisImageWSP image)

References m_d, and KisDummiesFacadeBase::setImage().

Member Function Documentation

◆ addNodeImpl()

void KisDummiesFacade::addNodeImpl ( KisNodeSP node,
KisNodeSP parent,
KisNodeSP aboveThis )
overrideprivatevirtual

Implements KisDummiesFacadeBase.

Definition at line 31 of file kis_dummies_facade.cpp.

32{
33 KisNodeDummy *parentDummy = parent ? dummyForNode(parent) : 0;
34 KisNodeDummy *aboveThisDummy = aboveThis ? dummyForNode(aboveThis) : 0;
35 KisNodeDummy *newDummy = new KisNodeDummy(0, node);
36
37 m_d->dummiesGraph.addNode(newDummy, parentDummy, aboveThisDummy);
38}
KisNodeDummy * dummyForNode(KisNodeSP node) const override
void addNode(KisNodeDummy *node, KisNodeDummy *parent, KisNodeDummy *aboveThis)
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)
Definition KisForest.h:327
KisNodeDummiesGraph dummiesGraph

References KisNodeDummiesGraph::addNode(), KisDummiesFacade::Private::dummiesGraph, dummyForNode(), and m_d.

◆ dummiesCount()

int KisDummiesFacade::dummiesCount ( ) const
overridevirtual

◆ dummyForNode()

KisNodeDummy * KisDummiesFacade::dummyForNode ( KisNodeSP node) const
overridevirtual

Implements KisDummiesFacadeBase.

Definition at line 54 of file kis_dummies_facade.cpp.

55{
56 return m_d->dummiesGraph.nodeToDummy(node);
57}
KisNodeDummy * nodeToDummy(KisNodeSP node)

References KisDummiesFacade::Private::dummiesGraph, m_d, and KisNodeDummiesGraph::nodeToDummy().

◆ hasDummyForNode()

bool KisDummiesFacade::hasDummyForNode ( KisNodeSP node) const
overridevirtual

Implements KisDummiesFacadeBase.

Definition at line 49 of file kis_dummies_facade.cpp.

50{
51 return m_d->dummiesGraph.containsNode(node);
52}
bool containsNode(KisNodeSP node) const

References KisNodeDummiesGraph::containsNode(), KisDummiesFacade::Private::dummiesGraph, and m_d.

◆ removeNodeImpl()

void KisDummiesFacade::removeNodeImpl ( KisNodeSP node)
overrideprivatevirtual

Implements KisDummiesFacadeBase.

Definition at line 40 of file kis_dummies_facade.cpp.

41{
42 KisNodeDummy *nodeDummy = dummyForNode(node);
43 m_d->dummiesGraph.removeNode(nodeDummy);
44
45 delete nodeDummy;
46 // this dummy had no nodeShape pointer, so no cleaning here
47}
void removeNode(KisNodeDummy *node)

References KisDummiesFacade::Private::dummiesGraph, dummyForNode(), m_d, and KisNodeDummiesGraph::removeNode().

◆ rootDummy()

KisNodeDummy * KisDummiesFacade::rootDummy ( ) const
overridevirtual

Return the root dummy of the graph. Since the call to setImage() causes an asynchronous update of the dummies graph, it may cause rootDummy() to be null at some moments, which is a valid state.

Implements KisDummiesFacadeBase.

Definition at line 59 of file kis_dummies_facade.cpp.

60{
61 return m_d->dummiesGraph.rootDummy();
62}
KisNodeDummy * rootDummy() const

References KisDummiesFacade::Private::dummiesGraph, m_d, and KisNodeDummiesGraph::rootDummy().

Member Data Documentation

◆ m_d

Private* const KisDummiesFacade::m_d
private

Definition at line 38 of file kis_dummies_facade.h.


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