File indexing completed on 2024-05-19 15:44:21
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"