File indexing completed on 2024-05-05 05:56:43
0001 /* 0002 This file is part of the Okteta KPart module, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2003, 2007, 2009, 2019 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "partfactory.hpp" 0010 0011 // part 0012 #include "part.hpp" 0013 // Okteta Kasten 0014 #include <Kasten/Okteta/ByteArrayViewProfileManager> 0015 #include <Kasten/Okteta/ByteArrayStreamEncoderConfigEditorFactoryFactory> 0016 #include <Kasten/Okteta/ByteArrayDataGeneratorConfigEditorFactoryFactory> 0017 #include <Kasten/Okteta/ByteArrayStreamEncoderFactory> 0018 #include <Kasten/Okteta/ByteArrayDataGeneratorFactory> 0019 // Kasten 0020 #include <Kasten/ModelCodecViewManager> 0021 #include <Kasten/ModelCodecManager> 0022 // KF 0023 #include <KPluginMetaData> 0024 #include <KLocalizedString> 0025 0026 OktetaPartFactory::OktetaPartFactory() 0027 { 0028 mByteArrayViewProfileManager = new Kasten::ByteArrayViewProfileManager(); 0029 0030 mModelCodecViewManager = new Kasten::ModelCodecViewManager(); 0031 mModelCodecManager = new Kasten::ModelCodecManager(); 0032 0033 const QVector<Kasten::AbstractModelStreamEncoder*> encoderList = 0034 Kasten::ByteArrayStreamEncoderFactory::createStreamEncoders(); 0035 0036 const QVector<Kasten::AbstractModelDataGenerator*> generatorList = 0037 Kasten::ByteArrayDataGeneratorFactory::createDataGenerators(); 0038 0039 const QVector<Kasten::AbstractModelStreamEncoderConfigEditorFactory*> encoderConfigEditorFactoryList = 0040 Kasten::ByteArrayStreamEncoderConfigEditorFactoryFactory::createFactorys(); 0041 0042 const QVector<Kasten::AbstractModelDataGeneratorConfigEditorFactory*> generatorConfigEditorFactoryList = 0043 Kasten::ByteArrayDataGeneratorConfigEditorFactoryFactory::createFactorys(); 0044 0045 mModelCodecManager->setEncoders( encoderList ); 0046 mModelCodecManager->setGenerators( generatorList ); 0047 0048 mModelCodecViewManager->setEncoderConfigEditorFactories(encoderConfigEditorFactoryList); 0049 mModelCodecViewManager->setGeneratorConfigEditorFactories(generatorConfigEditorFactoryList); 0050 } 0051 0052 OktetaPartFactory::~OktetaPartFactory() 0053 { 0054 delete mByteArrayViewProfileManager; 0055 delete mModelCodecViewManager; 0056 delete mModelCodecManager; 0057 } 0058 0059 QObject* OktetaPartFactory::create(const char* iface, 0060 QWidget* parentWidget, 0061 QObject* parent, 0062 const QVariantList& args, 0063 const QString& keyword) 0064 { 0065 Q_UNUSED(parentWidget) 0066 Q_UNUSED(keyword); 0067 0068 const OktetaPart::Modus modus = 0069 (args.contains(QStringLiteral("Browser/View")) || 0070 (strcmp(iface, "Browser/View") == 0)) ? OktetaPart::Modus::BrowserView : 0071 (strcmp(iface, "KParts::ReadOnlyPart") == 0) ? OktetaPart::Modus::ReadOnly : 0072 /* else */ OktetaPart::Modus::ReadWrite; 0073 0074 auto* part = new OktetaPart(parent, metaData(), modus, mByteArrayViewProfileManager, mModelCodecManager, mModelCodecViewManager); 0075 0076 return part; 0077 } 0078 0079 #include "moc_partfactory.cpp"