Krita Source Code Documentation
Loading...
Searching...
No Matches
KisPaintopPropertiesBase.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016 Dmitry Kazakov <dimula73@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KISBASEOPTION_H
8#define KISBASEOPTION_H
9
10#include <kis_types.h>
11#include <kritaui_export.h>
12#include "kis_pointer_utils.h"
13
14class KoResource;
16
19
22
24
43{
44public:
46
47 template <typename KisPropertiesConfigurationPointer>
48 void readOptionSetting(KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface)
49 {
50 readOptionSettingResourceImpl(removeSharedPointer(settings), resourcesInterface, canvasResourcesInterface);
51 }
52
53 template <typename KisPropertiesConfigurationPointer>
54 void writeOptionSetting(KisPropertiesConfigurationPointer settings) const
55 {
56 writeOptionSettingImpl(removeSharedPointer(settings));
57 }
58
59 template <typename KisPropertiesConfigurationPointer>
60 QList<KoResourceLoadResult> prepareLinkedResources(const KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface) const
61 {
62 return prepareLinkedResourcesImpl(removeSharedPointer(settings), resourcesInterface);
63 }
64
65 template <typename KisPropertiesConfigurationPointer>
66 QList<KoResourceLoadResult> prepareEmbeddedResources(const KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface) const
67 {
68 return prepareEmbeddedResourcesImpl(removeSharedPointer(settings), resourcesInterface);
69 }
70
71protected:
72 virtual void readOptionSettingResourceImpl(const KisPropertiesConfiguration *settings, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface) = 0;
73 virtual void writeOptionSettingImpl(KisPropertiesConfiguration *settings) const = 0;
76};
77
79{
80public:
82
83 template <typename KisPropertiesConfigurationPointer>
84 void readOptionSetting(KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface)
85 {
86 readOptionSettingResourceImpl(removeSharedPointer(settings), resourcesInterface);
87 }
88
89 template <typename KisPropertiesConfigurationPointer>
90 void writeOptionSetting(KisPropertiesConfigurationPointer settings) const
91 {
92 writeOptionSettingImpl(removeSharedPointer(settings));
93 }
94
95 template <typename KisPropertiesConfigurationPointer>
96 QList<KoResourceLoadResult> prepareLinkedResources(const KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface) const
97 {
98 return prepareLinkedResourcesImpl(removeSharedPointer(settings), resourcesInterface);
99 }
100
101 template <typename KisPropertiesConfigurationPointer>
102 QList<KoResourceLoadResult> prepareEmbeddedResources(const KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface) const
103 {
104 return prepareEmbeddedResourcesImpl(removeSharedPointer(settings), resourcesInterface);
105 }
106
107
108protected:
109 virtual void readOptionSettingResourceImpl(const KisPropertiesConfiguration *settings, KisResourcesInterfaceSP resourcesInterface) = 0;
110 virtual void writeOptionSettingImpl(KisPropertiesConfiguration *settings) const = 0;
113};
114
115class KRITAUI_EXPORT KisPaintopPropertiesBase /*: public KisPaintopPropertiesResourcesBase*/
116{
117public:
119
120 template <typename KisPropertiesConfigurationPointer>
121 void readOptionSetting(KisPropertiesConfigurationPointer settings)
122 {
123 readOptionSettingImpl(removeSharedPointer(settings));
124 }
125
126 template <typename KisPropertiesConfigurationPointer>
127 void writeOptionSetting(KisPropertiesConfigurationPointer settings) const
128 {
129 writeOptionSettingImpl(removeSharedPointer(settings));
130
131 }
132
133protected:
134 virtual void readOptionSettingImpl(const KisPropertiesConfiguration *settings) = 0;
135 virtual void writeOptionSettingImpl(KisPropertiesConfiguration *settings) const = 0;
136};
137
138#endif // KISBASEOPTION_H
void readOptionSetting(KisPropertiesConfigurationPointer settings)
virtual void writeOptionSettingImpl(KisPropertiesConfiguration *settings) const =0
void writeOptionSetting(KisPropertiesConfigurationPointer settings) const
virtual void readOptionSettingImpl(const KisPropertiesConfiguration *settings)=0
QList< KoResourceLoadResult > prepareLinkedResources(const KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface) const
virtual void writeOptionSettingImpl(KisPropertiesConfiguration *settings) const =0
QList< KoResourceLoadResult > prepareEmbeddedResources(const KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface) const
virtual QList< KoResourceLoadResult > prepareLinkedResourcesImpl(const KisPropertiesConfiguration *settings, KisResourcesInterfaceSP resourcesInterface) const =0
void readOptionSetting(KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface)
virtual QList< KoResourceLoadResult > prepareEmbeddedResourcesImpl(const KisPropertiesConfiguration *settings, KisResourcesInterfaceSP resourcesInterface) const =0
void writeOptionSetting(KisPropertiesConfigurationPointer settings) const
virtual void readOptionSettingResourceImpl(const KisPropertiesConfiguration *settings, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface)=0
QList< KoResourceLoadResult > prepareEmbeddedResources(const KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface) const
virtual void readOptionSettingResourceImpl(const KisPropertiesConfiguration *settings, KisResourcesInterfaceSP resourcesInterface)=0
virtual QList< KoResourceLoadResult > prepareLinkedResourcesImpl(const KisPropertiesConfiguration *settings, KisResourcesInterfaceSP resourcesInterface) const =0
void readOptionSetting(KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface)
QList< KoResourceLoadResult > prepareLinkedResources(const KisPropertiesConfigurationPointer settings, KisResourcesInterfaceSP resourcesInterface) const
void writeOptionSetting(KisPropertiesConfigurationPointer settings) const
virtual void writeOptionSettingImpl(KisPropertiesConfiguration *settings) const =0
virtual QList< KoResourceLoadResult > prepareEmbeddedResourcesImpl(const KisPropertiesConfiguration *settings, KisResourcesInterfaceSP resourcesInterface) const =0
a provider-like interface class for accessing resource sources in Krita.
An abstract class for providing access to canvas resources like current gradient and Fg/Bg colors.
T * removeSharedPointer(T *value)