File indexing completed on 2024-05-12 16:01:43

0001 /*
0002  *  SPDX-FileCopyrightText: 2013 Sven Langkamp <sven.langkamp@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 
0008 #include "KisActionPlugin.h"
0009 #include "KisViewManager.h"
0010 #include "kis_action_manager.h"
0011 #include "operations/kis_operation.h"
0012 
0013 KisActionPlugin::KisActionPlugin(QObject* parent)
0014     : QObject(parent)
0015 {
0016     m_viewManager = qobject_cast<KisViewManager*>(parent);
0017     KIS_ASSERT_RECOVER_NOOP(m_viewManager);
0018 }
0019 
0020 KisActionPlugin::~KisActionPlugin()
0021 {
0022 }
0023 
0024 void KisActionPlugin::addAction(const QString& name, KisAction* action)
0025 {
0026     if (m_viewManager) {
0027         m_viewManager->actionManager()->addAction(name, action);
0028     }
0029 }
0030 
0031 KisAction* KisActionPlugin::createAction(const QString& name)
0032 {
0033     if (m_viewManager) {
0034         return m_viewManager->actionManager()->createAction(name);
0035     }
0036     return 0;
0037 }
0038 
0039 void KisActionPlugin::addUIFactory(KisOperationUIFactory* factory)
0040 {
0041     if (m_viewManager) {
0042         m_viewManager->actionManager()->registerOperationUIFactory(factory);
0043     }
0044 }
0045 
0046 void KisActionPlugin::addOperation(KisOperation* operation)
0047 {
0048     if (m_viewManager) {
0049         m_viewManager->actionManager()->registerOperation(operation);
0050     }
0051 }
0052 
0053 QPointer<KisViewManager> KisActionPlugin::viewManager() const
0054 {
0055     return m_viewManager;
0056 }