File indexing completed on 2024-04-28 04:37:33

0001 /*
0002     SPDX-FileCopyrightText: 2006-2007 Alexander Dymo <adymo@kdevelop.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "tooldocument.h"
0008 
0009 #include <QWidget>
0010 
0011 namespace Sublime {
0012 
0013 // class ToolDocumentPrivate
0014 
0015 class ToolDocumentPrivate
0016 {
0017 public:
0018     ~ToolDocumentPrivate()
0019     {
0020         delete factory;
0021     }
0022     ToolFactory *factory;
0023 };
0024 
0025 
0026 
0027 // class ToolDocument
0028 
0029 ToolDocument::ToolDocument(const QString &title, Controller *controller, ToolFactory *factory)
0030     :Document(title, controller)
0031     , d_ptr(new ToolDocumentPrivate())
0032 {
0033     Q_D(ToolDocument);
0034 
0035     d->factory = factory;
0036 }
0037 
0038 ToolDocument::~ToolDocument() = default;
0039 
0040 ToolFactory *ToolDocument::factory() const
0041 {
0042     Q_D(const ToolDocument);
0043 
0044     return d->factory;
0045 }
0046 
0047 QWidget *ToolDocument::createViewWidget(QWidget *parent)
0048 {
0049     return factory()->create(this, parent);
0050 }
0051 
0052 QString ToolDocument::documentType() const
0053 {
0054     return QStringLiteral("Tool");
0055 }
0056 
0057 QString ToolDocument::documentSpecifier() const
0058 {
0059     return factory()->id();
0060 }
0061 
0062 }
0063 
0064 #include "moc_tooldocument.cpp"