File indexing completed on 2024-06-16 04:16:05
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Jouni Pentikäinen <joupent@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "KisAnimDockers.h" 0008 #include "KisAnimTimelineDocker.h" 0009 #include "KisOnionSkinsDocker.h" 0010 #include "KisAnimCurvesDocker.h" 0011 0012 #include <kpluginfactory.h> 0013 0014 #include <KoDockFactoryBase.h> 0015 #include <KoDockRegistry.h> 0016 0017 #include "KisViewManager.h" 0018 0019 K_PLUGIN_FACTORY_WITH_JSON(AnimationDockersPluginFactory, "krita_animationdocker.json", registerPlugin<AnimationDockersPlugin>();) 0020 0021 class TimelineDockerFactory : public KoDockFactoryBase { 0022 public: 0023 TimelineDockerFactory() 0024 { 0025 } 0026 0027 QString id() const override 0028 { 0029 return QString( "TimelineDocker" ); 0030 } 0031 0032 virtual Qt::DockWidgetArea defaultDockWidgetArea() const 0033 { 0034 return Qt::RightDockWidgetArea; 0035 } 0036 0037 QDockWidget *createDockWidget() override 0038 { 0039 KisAnimTimelineDocker *dockWidget = new KisAnimTimelineDocker(); 0040 dockWidget->setObjectName(id()); 0041 0042 return dockWidget; 0043 } 0044 0045 DockPosition defaultDockPosition() const override 0046 { 0047 return DockMinimized; 0048 } 0049 private: 0050 }; 0051 0052 class OnionSkinsDockerFactory : public KoDockFactoryBase { 0053 public: 0054 OnionSkinsDockerFactory() 0055 { 0056 } 0057 0058 QString id() const override 0059 { 0060 return QString( "OnionSkinsDocker" ); 0061 } 0062 0063 virtual Qt::DockWidgetArea defaultDockWidgetArea() const 0064 { 0065 return Qt::RightDockWidgetArea; 0066 } 0067 0068 QDockWidget *createDockWidget() override 0069 { 0070 KisOnionSkinsDocker *dockWidget = new KisOnionSkinsDocker(); 0071 dockWidget->setObjectName(id()); 0072 0073 return dockWidget; 0074 } 0075 0076 DockPosition defaultDockPosition() const override 0077 { 0078 return DockMinimized; 0079 } 0080 private: 0081 }; 0082 0083 class AnimationCurvesDockerFactory : public KoDockFactoryBase { 0084 public: 0085 AnimationCurvesDockerFactory() 0086 { 0087 } 0088 0089 QString id() const override 0090 { 0091 return QString( "AnimationCurvesDocker" ); 0092 } 0093 0094 virtual Qt::DockWidgetArea defaultDockWidgetArea() const 0095 { 0096 return Qt::RightDockWidgetArea; 0097 } 0098 0099 QDockWidget *createDockWidget() override 0100 { 0101 KisAnimCurvesDocker *dockWidget = new KisAnimCurvesDocker(); 0102 dockWidget->setObjectName(id()); 0103 0104 return dockWidget; 0105 } 0106 0107 DockPosition defaultDockPosition() const override 0108 { 0109 return DockMinimized; 0110 } 0111 private: 0112 }; 0113 0114 AnimationDockersPlugin::AnimationDockersPlugin(QObject *parent, const QVariantList &) 0115 : QObject(parent) 0116 { 0117 KoDockRegistry::instance()->add(new TimelineDockerFactory()); 0118 KoDockRegistry::instance()->add(new OnionSkinsDockerFactory()); 0119 KoDockRegistry::instance()->add(new AnimationCurvesDockerFactory()); 0120 } 0121 0122 AnimationDockersPlugin::~AnimationDockersPlugin() 0123 { 0124 } 0125 0126 #include "KisAnimDockers.moc"