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

#include <KoCanvasResourceProvider.h>

+ Inheritance diagram for KoCanvasResourceProvider:

Public Types

enum  ApplicationSpecial { NoSpecial = 0 , NoAdvancedText = 1 }
 

Public Slots

void setAbstractResource (KoAbstractCanvasResourceInterfaceSP abstractResource)
 
void setResource (int key, const KoColor &color)
 
void setResource (int key, const KoUnit &unit)
 
void setResource (int key, const QVariant &value)
 
void setResource (int key, KoShape *shape)
 

Signals

void canvasResourceChangeAttempted (int key, const QVariant &value)
 
void canvasResourceChanged (int key, const QVariant &value)
 

Public Member Functions

void addActiveCanvasResourceDependency (KoActiveCanvasResourceDependencySP dep)
 
void addDerivedResourceConverter (KoDerivedResourceConverterSP converter)
 
void addResourceUpdateMediator (KoResourceUpdateMediatorSP mediator)
 
KoColor backgroundColor () const
 
bool boolResource (int key) const
 
KoCanvasResourcesInterfaceSP canvasResourcesInterface () const
 
void clearResource (int key)
 
int decorationThickness () const
 decorationThickness
 
KoColor foregroundColor () const
 
int handleRadius () const
 Returns the actual handle radius.
 
bool hasAbstractResource (int key)
 
bool hasActiveCanvasResourceDependency (int sourceKey, int targetKey) const
 
bool hasDerivedResourceConverter (int key)
 
bool hasResource (int key) const
 
bool hasResourceUpdateMediator (int key)
 
int intResource (int key) const
 
bool isUsingOtherColor () const
 isUsingOtherColor
 
 KoCanvasResourceProvider (QObject *parent=0)
 
KoColor koColorResource (int key) const
 
KoShapekoShapeResource (int key) const
 
 Private (KoCanvasResourceProvider *q)
 
void removeAbstractResource (int key)
 
void removeActiveCanvasResourceDependency (int sourceKey, int targetKey)
 
void removeDerivedResourceConverter (int key)
 
void removeResourceUpdateMediator (int key)
 
QVariant resource (int key) const
 
void setBackgroundColor (const KoColor &color)
 
void setDecorationThickness (int decorationThickness)
 setDecorationThickness Set the minimum decoration thickness.
 
void setForegroundColor (const KoColor &color)
 
void setHandleRadius (int handleSize)
 
void setUsingOtherColor (bool usingOtherColor)
 setUsingOtherColor Set whether the user requested the current action to use the colors the other way around.
 
QSizeF sizeResource (int key) const
 
QString stringResource (int key) const
 
KoUnit unitResource (int key) const
 
 ~KoCanvasResourceProvider () override
 

Public Attributes

QSharedPointer< CanvasResourceProviderInterfaceWrapperinterfaceWrapper
 
KoResourceManager manager
 

Private Member Functions

 KoCanvasResourceProvider (const KoCanvasResourceProvider &)
 
KoCanvasResourceProvideroperator= (const KoCanvasResourceProvider &)
 
- Private Member Functions inherited from Private
 Private (KisCanvas2 *c)
 

Private Attributes

Private *const d
 
- Private Attributes inherited from Private
KisCanvas2canvas
 
int displayedFrame
 
int intendedFrame
 

Detailed Description

The KoCanvasResourceProvider contains a set of per-canvas properties, like current foreground color, current background color and more. All tools belonging to the current canvas are notified when a Resource changes (is set).

The manager can contain all sorts of variable types and there are accessors for the most common ones. All variables are always stored inside a QVariant instance internally and you can always just use the resource() method to get that directly. The way to store arbitrary data objects that are stored as pointers you can use the following code snippets;

QVariant variant;
variant.setValue<void*>(textShapeData->document());
resourceManager->setResource(KoText::CurrentTextDocument, variant);
// and get it out again.
QVariant var = resourceManager->resource(KoText::CurrentTextDocument);
document = static_cast<QTextDocument*>(var.value<void*>());

Definition at line 37 of file KoCanvasResourceProvider.cpp.

Member Enumeration Documentation

◆ ApplicationSpecial

Enumerator
NoSpecial 
NoAdvancedText 

Definition at line 58 of file KoCanvasResourceProvider.h.

Constructor & Destructor Documentation

◆ KoCanvasResourceProvider() [1/2]

KoCanvasResourceProvider::KoCanvasResourceProvider ( QObject * parent = 0)
explicit

Constructor.

Parameters
parentthe parent QObject, used for memory management.

Definition at line 49 of file KoCanvasResourceProvider.cpp.

50 : QObject(parent)
51 , d(new Private(this))
52{
54 setForegroundColor(KoColor(Qt::black, cs));
55 setBackgroundColor(KoColor(Qt::white, cs));
56
61}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void setBackgroundColor(const KoColor &color)
void canvasResourceChanged(int key, const QVariant &value)
void canvasResourceChangeAttempted(int key, const QVariant &value)
void setForegroundColor(const KoColor &color)
void resourceChangeAttempted(int key, const QVariant &value)
void resourceChanged(int key, const QVariant &value)
static KoColorSpaceRegistry * instance()
const KoColorSpace * rgb8(const QString &profileName=QString())

References canvasResourceChangeAttempted(), canvasResourceChanged(), connect(), d, KoColorSpaceRegistry::instance(), KoResourceManager::resourceChangeAttempted(), KoResourceManager::resourceChanged(), KoColorSpaceRegistry::rgb8(), setBackgroundColor(), and setForegroundColor().

◆ ~KoCanvasResourceProvider()

KoCanvasResourceProvider::~KoCanvasResourceProvider ( )
override

Definition at line 63 of file KoCanvasResourceProvider.cpp.

64{
65 delete d;
66}

References d.

◆ KoCanvasResourceProvider() [2/2]

KoCanvasResourceProvider::KoCanvasResourceProvider ( const KoCanvasResourceProvider & )
private

Member Function Documentation

◆ addActiveCanvasResourceDependency()

void KoCanvasResourceProvider::addActiveCanvasResourceDependency ( KoActiveCanvasResourceDependencySP dep)
See also
KoResourceManager::addActiveCanvasResourceDependency

Definition at line 245 of file KoCanvasResourceProvider.cpp.

246{
247 d->manager.addActiveCanvasResourceDependency(dep);
248}

References d.

◆ addDerivedResourceConverter()

void KoCanvasResourceProvider::addDerivedResourceConverter ( KoDerivedResourceConverterSP converter)
See also
KoResourceManager::addDerivedResourceConverter()

Definition at line 205 of file KoCanvasResourceProvider.cpp.

206{
207 d->manager.addDerivedResourceConverter(converter);
208}

References d.

◆ addResourceUpdateMediator()

void KoCanvasResourceProvider::addResourceUpdateMediator ( KoResourceUpdateMediatorSP mediator)
See also
KoResourceManager::addResourceUpdateMediator

Definition at line 230 of file KoCanvasResourceProvider.cpp.

231{
232 d->manager.addResourceUpdateMediator(mediator);
233}

References d.

◆ backgroundColor()

KoColor KoCanvasResourceProvider::backgroundColor ( ) const

Return the backgroundColor

Definition at line 119 of file KoCanvasResourceProvider.cpp.

120{
122}
KoColor koColorResource(int key) const
@ BackgroundColor
The active background color selected for this canvas.

References KoCanvasResource::BackgroundColor, and koColorResource().

◆ boolResource()

bool KoCanvasResourceProvider::boolResource ( int key) const

Return the resource determined by param key as a boolean.

Parameters
keythe identifying key for the resource
See also
KoCanvasResource::CanvasResourceId

Definition at line 175 of file KoCanvasResourceProvider.cpp.

176{
177 return d->manager.boolResource(key);
178}

References d.

◆ canvasResourceChangeAttempted

void KoCanvasResourceProvider::canvasResourceChangeAttempted ( int key,
const QVariant & value )
signal

This signal is emitted every time a resource is attempted to be changed. The this signal is emitted even when the new value of the resource is the same as the current value. This method is called before the actual change has happened at the resource manager.

Parameters
keythe identifying key for the resource
valuethe variants new value.
See also
KoCanvasResource::CanvasResourceId

◆ canvasResourceChanged

void KoCanvasResourceProvider::canvasResourceChanged ( int key,
const QVariant & value )
signal

This signal is emitted every time a resource is set that is either new or different from the previous set value.

Parameters
keythe identifying key for the resource
valuethe variants new value.
See also
KoCanvasResource::CanvasResourceId

◆ canvasResourcesInterface()

KoCanvasResourcesInterfaceSP KoCanvasResourceProvider::canvasResourcesInterface ( ) const

An interface for accessing this KoCanvasResourceProvider via KoCanvasResourcesInterface.

Definition at line 265 of file KoCanvasResourceProvider.cpp.

266{
267 return d->interfaceWrapper;
268}

References d.

◆ clearResource()

void KoCanvasResourceProvider::clearResource ( int key)

Remove the resource with key from the provider.

Parameters
keythe key that will be used to remove the resource There will be a signal emitted with a variable that will return true on QVariable::isNull();
See also
KoCanvasResource::CanvasResourceId

Definition at line 200 of file KoCanvasResourceProvider.cpp.

201{
202 d->manager.clearResource(key);
203}

References d.

◆ decorationThickness()

int KoCanvasResourceProvider::decorationThickness ( ) const

decorationThickness

Returns
the minimum decoration thickness in pixels.

Definition at line 156 of file KoCanvasResourceProvider.cpp.

157{
160 return 1;
161}
@ DecorationThickness
Integer, the thickness of single px decorations, will be adjusted by HiDPI settings....

References KoCanvasResource::DecorationThickness, hasResource(), and intResource().

◆ foregroundColor()

KoColor KoCanvasResourceProvider::foregroundColor ( ) const

Return the foregroundColor

Definition at line 109 of file KoCanvasResourceProvider.cpp.

110{
112}
@ ForegroundColor
The active foreground color selected for this canvas.

References KoCanvasResource::ForegroundColor, and koColorResource().

◆ handleRadius()

int KoCanvasResourceProvider::handleRadius ( ) const

Returns the actual handle radius.

Definition at line 142 of file KoCanvasResourceProvider.cpp.

143{
146 return 5; // default value (and is used just about everywhere)
147}
@ HandleRadius
The handle radius used for drawing handles of any kind.

References KoCanvasResource::HandleRadius, hasResource(), and intResource().

◆ hasAbstractResource()

bool KoCanvasResourceProvider::hasAbstractResource ( int key)
See also
KoResourceManager::hasAbstractResource()

Definition at line 220 of file KoCanvasResourceProvider.cpp.

221{
222 return d->manager.hasAbstractResource(key);
223}

References d.

◆ hasActiveCanvasResourceDependency()

bool KoCanvasResourceProvider::hasActiveCanvasResourceDependency ( int sourceKey,
int targetKey ) const
See also
KoResourceManager::hasActiveCanvasResourceDependency

Definition at line 250 of file KoCanvasResourceProvider.cpp.

251{
252 return d->manager.hasActiveCanvasResourceDependency(sourceKey, targetKey);
253}

References d.

◆ hasDerivedResourceConverter()

bool KoCanvasResourceProvider::hasDerivedResourceConverter ( int key)
See also
KoResourceManager::hasDerivedResourceConverter()

Definition at line 210 of file KoCanvasResourceProvider.cpp.

211{
212 return d->manager.hasDerivedResourceConverter(key);
213}

References d.

◆ hasResource()

bool KoCanvasResourceProvider::hasResource ( int key) const

Returns true if there is a resource set with the requested key.

Parameters
keythe identifying key for the resource
See also
KoCanvasResource::CanvasResourceId

Definition at line 195 of file KoCanvasResourceProvider.cpp.

196{
197 return d->manager.hasResource(key);
198}

References d.

◆ hasResourceUpdateMediator()

bool KoCanvasResourceProvider::hasResourceUpdateMediator ( int key)
See also
KoResourceManager::hasResourceUpdateMediator

Definition at line 235 of file KoCanvasResourceProvider.cpp.

236{
237 return d->manager.hasResourceUpdateMediator(key);
238}

References d.

◆ intResource()

int KoCanvasResourceProvider::intResource ( int key) const

Return the resource determined by param key as an integer.

Parameters
keythe identifying key for the resource
See also
KoCanvasResource::CanvasResourceId

Definition at line 180 of file KoCanvasResourceProvider.cpp.

181{
182 return d->manager.intResource(key);
183}

References d.

◆ isUsingOtherColor()

bool KoCanvasResourceProvider::isUsingOtherColor ( ) const

isUsingOtherColor

Returns
whether the user requested the current action to use the colors the other way around

Definition at line 168 of file KoCanvasResourceProvider.cpp.

References boolResource(), hasResource(), and KoCanvasResource::UsingOtherColor.

◆ koColorResource()

KoColor KoCanvasResourceProvider::koColorResource ( int key) const

Return the resource determined by param key as a KoColor.

Parameters
keythe identifying key for the resource
See also
KoCanvasResource::CanvasResourceId

Definition at line 99 of file KoCanvasResourceProvider.cpp.

100{
101 return d->manager.koColorResource(key);
102}

References d.

◆ koShapeResource()

KoShape * KoCanvasResourceProvider::koShapeResource ( int key) const

Return the resource determined by param key as a pointer to a KoShape.

Parameters
keythe identifying key for the resource
See also
KoCanvasResource::CanvasResourceId

Definition at line 124 of file KoCanvasResourceProvider.cpp.

125{
126 return d->manager.koShapeResource(key);
127}

References d.

◆ operator=()

KoCanvasResourceProvider & KoCanvasResourceProvider::operator= ( const KoCanvasResourceProvider & )
private

◆ Private()

KoCanvasResourceProvider::Private ( KoCanvasResourceProvider * q)
inline

Definition at line 40 of file KoCanvasResourceProvider.cpp.

◆ removeAbstractResource()

void KoCanvasResourceProvider::removeAbstractResource ( int key)
See also
KoResourceManager::removeAbstractResource()

Definition at line 225 of file KoCanvasResourceProvider.cpp.

226{
227 d->manager.removeAbstractResource(key);
228}

References d.

◆ removeActiveCanvasResourceDependency()

void KoCanvasResourceProvider::removeActiveCanvasResourceDependency ( int sourceKey,
int targetKey )
See also
KoResourceManager::removeActiveCanvasResourceDependency

Definition at line 255 of file KoCanvasResourceProvider.cpp.

256{
257 d->manager.removeActiveCanvasResourceDependency(sourceKey, targetKey);
258}

References d.

◆ removeDerivedResourceConverter()

void KoCanvasResourceProvider::removeDerivedResourceConverter ( int key)
See also
KoResourceManager::removeDerivedResourceConverter()

Definition at line 215 of file KoCanvasResourceProvider.cpp.

216{
217 d->manager.removeDerivedResourceConverter(key);
218}

References d.

◆ removeResourceUpdateMediator()

void KoCanvasResourceProvider::removeResourceUpdateMediator ( int key)
See also
KoResourceManager::removeResourceUpdateMediator

Definition at line 240 of file KoCanvasResourceProvider.cpp.

241{
242 d->manager.removeResourceUpdateMediator(key);
243}

References d.

◆ resource()

QVariant KoCanvasResourceProvider::resource ( int key) const

Returns a qvariant containing the specified resource or a standard one if the specified resource does not exist.

Parameters
keythe key
See also
KoCanvasResource::CanvasResourceId

Definition at line 73 of file KoCanvasResourceProvider.cpp.

74{
75 return d->manager.resource(key);
76}

References d.

◆ setAbstractResource

void KoCanvasResourceProvider::setAbstractResource ( KoAbstractCanvasResourceInterfaceSP abstractResource)
slot

Replace an existing existing derived or abstract resource with a new abstract resource.

See also
KoResourceManager::setAbstractResource

Definition at line 260 of file KoCanvasResourceProvider.cpp.

261{
262 d->manager.setAbstractResource(abstractResource);
263}

References d.

◆ setBackgroundColor()

void KoCanvasResourceProvider::setBackgroundColor ( const KoColor & color)

Set the backgroundColor resource.

Parameters
colorthe new background color

Definition at line 114 of file KoCanvasResourceProvider.cpp.

115{
117}
void setResource(int key, const QVariant &value)

References KoCanvasResource::BackgroundColor, and setResource().

◆ setDecorationThickness()

void KoCanvasResourceProvider::setDecorationThickness ( int decorationThickness)

setDecorationThickness Set the minimum decoration thickness.

Parameters
decorationThicknessthe minimum decoration thickness in pixels.

Definition at line 149 of file KoCanvasResourceProvider.cpp.

References decorationThickness(), KoCanvasResource::DecorationThickness, and setResource().

◆ setForegroundColor()

void KoCanvasResourceProvider::setForegroundColor ( const KoColor & color)

Set the foregroundColor resource.

Parameters
colorthe new foreground color

Definition at line 104 of file KoCanvasResourceProvider.cpp.

References KoCanvasResource::ForegroundColor, and setResource().

◆ setHandleRadius()

void KoCanvasResourceProvider::setHandleRadius ( int handleSize)

Tools that provide a handle for controlling the content that the tool can edit can use this property to alter the radius that a circular handle should have on screen.

Parameters
handleSizethe radius in pixels.

Definition at line 134 of file KoCanvasResourceProvider.cpp.

135{
136 // do not allow arbitrary small handles
137 if (handleSize < 5)
138 handleSize = 5;
139 setResource(KoCanvasResource::HandleRadius, QVariant(handleSize));
140}

References KoCanvasResource::HandleRadius, and setResource().

◆ setResource [1/4]

void KoCanvasResourceProvider::setResource ( int key,
const KoColor & color )
slot

Set a resource of type KoColor.

Parameters
keythe integer key
colorthe new value for the key.
See also
KoCanvasResource::CanvasResourceId

Definition at line 78 of file KoCanvasResourceProvider.cpp.

79{
80 QVariant v;
81 v.setValue(color);
82 setResource(key, v);
83}
qreal v

References setResource(), and v.

◆ setResource [2/4]

void KoCanvasResourceProvider::setResource ( int key,
const KoUnit & unit )
slot

Set a resource of type KoUnit

Parameters
keythe integer key
idthe new value for the key.
See also
KoCanvasResource::CanvasResourceId

Definition at line 92 of file KoCanvasResourceProvider.cpp.

93{
94 QVariant v;
95 v.setValue(unit);
96 setResource(key, v);
97}

References setResource(), and v.

◆ setResource [3/4]

void KoCanvasResourceProvider::setResource ( int key,
const QVariant & value )
slot

Set a resource of any type.

Parameters
keythe integer key
valuethe new value for the key.
See also
KoCanvasResource::CanvasResourceId

Definition at line 68 of file KoCanvasResourceProvider.cpp.

69{
70 d->manager.setResource(key, value);
71}
float value(const T *src, size_t ch)

References d, and value().

◆ setResource [4/4]

void KoCanvasResourceProvider::setResource ( int key,
KoShape * shape )
slot

Set a resource of type KoShape*.

Parameters
keythe integer key
idthe new value for the key.
See also
KoCanvasResource::CanvasResourceId

Definition at line 85 of file KoCanvasResourceProvider.cpp.

86{
87 QVariant v;
88 v.setValue(shape);
89 setResource(key, v);
90}

References setResource(), and v.

◆ setUsingOtherColor()

void KoCanvasResourceProvider::setUsingOtherColor ( bool usingOtherColor)

setUsingOtherColor Set whether the user requested the current action to use the colors the other way around.

Parameters
usingOtherColorwhether user requested such

Definition at line 163 of file KoCanvasResourceProvider.cpp.

164{
165 setResource(KoCanvasResource::UsingOtherColor, QVariant(usingOtherColor));
166}

References setResource(), and KoCanvasResource::UsingOtherColor.

◆ sizeResource()

QSizeF KoCanvasResourceProvider::sizeResource ( int key) const

Return the resource determined by param key as a QSizeF.

Parameters
keythe identifying key for the resource
See also
KoCanvasResource::CanvasResourceId

Definition at line 190 of file KoCanvasResourceProvider.cpp.

191{
192 return d->manager.sizeResource(key);
193}

References d.

◆ stringResource()

QString KoCanvasResourceProvider::stringResource ( int key) const

Return the resource determined by param key as a QString .

Parameters
keythe identifying key for the resource
See also
KoCanvasResource::CanvasResourceId

Definition at line 185 of file KoCanvasResourceProvider.cpp.

186{
187 return d->manager.stringResource(key);
188}

References d.

◆ unitResource()

KoUnit KoCanvasResourceProvider::unitResource ( int key) const

Return the resource determined by param key as a KoUnit.

Parameters
keythe identifying key for the resource
See also
KoCanvasResource::CanvasResourceId

Definition at line 129 of file KoCanvasResourceProvider.cpp.

130{
131 return resource(key).value<KoUnit>();
132}

References resource().

Member Data Documentation

◆ d

Private* const KoCanvasResourceProvider::d
private

Definition at line 327 of file KoCanvasResourceProvider.h.

◆ interfaceWrapper

QSharedPointer<CanvasResourceProviderInterfaceWrapper> KoCanvasResourceProvider::interfaceWrapper

Definition at line 46 of file KoCanvasResourceProvider.cpp.

◆ manager

KoResourceManager KoCanvasResourceProvider::manager

Definition at line 45 of file KoCanvasResourceProvider.cpp.


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