Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_generator_registry.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2008 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
8
9#include <math.h>
10
11#include <QString>
12#include <QApplication>
13
14#include <klocalizedstring.h>
15
16#include <KoPluginLoader.h>
17
19#include "kis_debug.h"
20#include "kis_types.h"
21#include "kis_paint_device.h"
23
25 : QObject(parent)
26{
27}
28
30{
31 Q_FOREACH (KisGeneratorSP generator, values()) {
32 remove(generator->id());
33 generator.clear();
34 }
35 dbgRegistry << "deleting KisGeneratorRegistry";
36}
37
39{
40 KisGeneratorRegistry *reg = qApp->findChild<KisGeneratorRegistry *>(QString());
41 if (!reg) {
42 dbgRegistry << "initializing KisGeneratorRegistry";
43 reg = new KisGeneratorRegistry(qApp);
44 KoPluginLoader::instance()->load("Krita/Generator");
45 }
46 return reg;
47}
48
50{
51 dbgPlugins << "adding " << item->name();
52 add(item->id(), item);
53}
54
55void KisGeneratorRegistry::add(const QString &id, KisGeneratorSP item)
56{
57 dbgPlugins << "adding " << item->name() << " with id " << id;
59 emit(generatorAdded(id));
60}
61
static KisGeneratorRegistry * instance()
void add(KisGeneratorSP item)
void generatorAdded(QString id)
KisGeneratorRegistry(QObject *parent)
QList< KisGeneratorSP > values() const
void load(const QString &serviceType, const PluginsConfig &config=PluginsConfig(), QObject *owner=0, bool cache=true)
static KoPluginLoader * instance()
#define dbgRegistry
Definition kis_debug.h:47
#define dbgPlugins
Definition kis_debug.h:51