diff --git a/apps/opencs/view/doc/subviewfactoryimp.hpp b/apps/opencs/view/doc/subviewfactoryimp.hpp index 1278c8b27..2c4158f85 100644 --- a/apps/opencs/view/doc/subviewfactoryimp.hpp +++ b/apps/opencs/view/doc/subviewfactoryimp.hpp @@ -35,7 +35,7 @@ namespace CSVDoc CSVDoc::SubView *SubViewFactoryWithCreator::makeSubView ( const CSMWorld::UniversalId& id, CSMDoc::Document& document) { - return new SubViewT (id, document, CreatorFactoryT().makeCreator()); + return new SubViewT (id, document, CreatorFactoryT()); } } diff --git a/apps/opencs/view/world/tablesubview.cpp b/apps/opencs/view/world/tablesubview.cpp index 03f0822d1..f236a079a 100644 --- a/apps/opencs/view/world/tablesubview.cpp +++ b/apps/opencs/view/world/tablesubview.cpp @@ -10,16 +10,18 @@ #include "creator.hpp" CSVWorld::TableSubView::TableSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document, - Creator *creator) + const CreatorFactoryBase& creatorFactory) : SubView (id) { - bool createAndDelete = creator!=0; - delete creator; QVBoxLayout *layout = new QVBoxLayout; layout->setContentsMargins (QMargins (0, 0, 0, 0)); + Creator *creator = creatorFactory.makeCreator(); + bool createAndDelete = creator!=0; + delete creator; + layout->addWidget ( mTable = new Table (id, document.getData(), document.getUndoStack(), createAndDelete), 2); diff --git a/apps/opencs/view/world/tablesubview.hpp b/apps/opencs/view/world/tablesubview.hpp index 1148be9e0..d61c78935 100644 --- a/apps/opencs/view/world/tablesubview.hpp +++ b/apps/opencs/view/world/tablesubview.hpp @@ -14,7 +14,7 @@ namespace CSVWorld { class Table; class TableBottomBox; - class Creator; + class CreatorFactoryBase; class TableSubView : public CSVDoc::SubView { @@ -26,8 +26,7 @@ namespace CSVWorld public: TableSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document, - Creator *creator = 0); - ///< The ownership of \a creator is transferred to this. + const CreatorFactoryBase& creatorFactory); virtual void setEditLock (bool locked);