diff options
Diffstat (limited to 'src/frontend/displaywindow/cdisplaywindowfactory.cpp')
-rw-r--r-- | src/frontend/displaywindow/cdisplaywindowfactory.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/frontend/displaywindow/cdisplaywindowfactory.cpp b/src/frontend/displaywindow/cdisplaywindowfactory.cpp new file mode 100644 index 0000000..d386ecf --- /dev/null +++ b/src/frontend/displaywindow/cdisplaywindowfactory.cpp @@ -0,0 +1,57 @@ +// +// C++ Implementation: cdisplaywindowfactory +// +// Description: +// +// +// Author: The BibleTime team <info@bibletime.info>, (C) 2007 +// +// Copyright: See COPYING file that comes with this distribution +// +// +#include "cdisplaywindowfactory.h" + +#include "creadwindow.h" +#include "cbiblereadwindow.h" +#include "ccommentaryreadwindow.h" +#include "clexiconreadwindow.h" +#include "cbookreadwindow.h" +#include "cwritewindow.h" +#include "cplainwritewindow.h" +#include "chtmlwritewindow.h" + + +#include "backend/drivers/cswordmoduleinfo.h" +#include "frontend/cmdiarea.h" + + +CReadWindow* CDisplayWindowFactory::createReadInstance(QList<CSwordModuleInfo*> modules, CMDIArea* parent) +{ + qDebug("CDisplayWindowFactory::createReadInstance"); + switch (modules.first()->type()) { + case CSwordModuleInfo::Bible: + return new CBibleReadWindow(modules, parent); + case CSwordModuleInfo::Commentary: + return new CCommentaryReadWindow(modules, parent); + case CSwordModuleInfo::Lexicon: + return new CLexiconReadWindow(modules, parent); + case CSwordModuleInfo::GenericBook: + return new CBookReadWindow(modules, parent); + default: + qWarning("unknown module type"); + break; + } + return 0; +} + + +CWriteWindow* CDisplayWindowFactory::createWriteInstance(QList<CSwordModuleInfo*> modules, CMDIArea* parent, const CDisplayWindow::WriteWindowType type) +{ + if (type == CDisplayWindow::HTMLWindow) { + return new CHTMLWriteWindow(modules, parent); + } + else { + return new CPlainWriteWindow(modules, parent); + } + return 0; +} |