ImagingTools Core SDK
TTaskEditorPluginComponentImpl.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ImtCore includes
6#include <imtbase/TBasePluginComponentImpl.h>
7
8// Acula includes
9#include <imthypegui/ITaskEditorPlugin.h>
10
11
12namespace imthypegui
13{
14
15
16template <class ComponentClass>
17class TTaskEditorPluginComponentImpl: public imtbase::TBasePluginComponentImpl<ComponentClass, ITaskEditorPlugin>
18{
19public:
20 typedef imtbase::TBasePluginComponentImpl<ComponentClass, ITaskEditorPlugin> BaseClass;
21
22 TTaskEditorPluginComponentImpl(const QString& pluginName, const QByteArray& typeId);
23
24 // reimplemented (imthypegui::ITaskEditorPlugin)
25 virtual const istd::TIFactory<iqtgui::IGuiObject>* GetTaskEditorFactory() const override;
26};
27
28
29// public methods
30
31template <class ComponentClass>
32TTaskEditorPluginComponentImpl<ComponentClass>::TTaskEditorPluginComponentImpl(const QString& pluginName, const QByteArray& typeId)
33 :BaseClass(pluginName, typeId)
34{
35}
36
37
38// reimplemented (imthypegui::ITaskEditorPlugin)
39
40template <class ComponentClass>
41const istd::TIFactory<iqtgui::IGuiObject>* TTaskEditorPluginComponentImpl<ComponentClass>::GetTaskEditorFactory() const
42{
43 return BaseClass::m_component.template GetInterface<istd::TIFactory<iqtgui::IGuiObject>>(QByteArray());
44}
45
46
47} // namespace imthypegui
48
49