BibleTime
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CDisplayTemplateMgr Class Reference

#include <cdisplaytemplatemgr.h>

Classes

struct  Settings
 

Public Member Functions

QStringList const & availableTemplates () const
 
 CDisplayTemplateMgr (QString &errorMessage)
 
QString fillTemplate (const QString &name, const QString &content, const Settings &settings) const
 Fills the template. More...
 
void setMultiModuleHeadersVisible (bool visible)
 Turn on or off displaying module names during parallel text rendering. More...
 

Static Public Member Functions

static QString activeTemplateName ()
 
static CDisplayTemplateMgrinstance ()
 

Private Member Functions

void loadCSSTemplate (const QString &filename)
 
void loadTemplate (const QString &filename)
 

Private Attributes

QStringList m_availableTemplateNamesCache
 
QHash< QString, QString > m_cssMap
 
bool m_multiModuleHeaders
 
QHash< QString, QString > m_templateMap
 

Static Private Attributes

static CDisplayTemplateMgrm_instance = nullptr
 

Detailed Description

Manages the display templates used in the filters and display classes.

Note
This is a singleton.

Definition at line 27 of file cdisplaytemplatemgr.h.

Constructor & Destructor Documentation

◆ CDisplayTemplateMgr()

CDisplayTemplateMgr::CDisplayTemplateMgr ( QString &  errorMessage)
explicit

Member Function Documentation

◆ activeTemplateName()

QString CDisplayTemplateMgr::activeTemplateName ( )
static

◆ availableTemplates()

QStringList const& CDisplayTemplateMgr::availableTemplates ( ) const
inline
Returns
the list of available templates.

Definition at line 69 of file cdisplaytemplatemgr.h.

References m_availableTemplateNamesCache.

Referenced by CDisplaySettingsPage::CDisplaySettingsPage().

◆ fillTemplate()

QString CDisplayTemplateMgr::fillTemplate ( const QString &  name,
const QString &  content,
const Settings settings 
) const

Fills the template.

Fills rendered content into the template given by the name.

Parameters
nameThe name of the template to fill.
contentThe content which should be filled into the template.
settingsThe settings which are used to process the templating process.
Returns
The full HTML template HTML code including the CSS data.
Todo:
Add support translating more QFont properties to CSS.

Definition at line 106 of file cdisplaytemplatemgr.cpp.

References CSwordBackend::availableLanguages(), CSwordModuleInfo::Bible, BT_ASSERT, btConfig(), CSwordModuleInfo::Commentary, CSSTEMPLATEBASE, CSwordModuleInfo::GenericBook, BtConfig::getDefaultFont(), util::directory::getDisplayTemplatesDir(), BtConfig::getFontForLanguage(), CSwordBackend::instance(), CDisplayTemplateMgr::Settings::langAbbrev, CSwordModuleInfo::Lexicon, m_cssMap, m_multiModuleHeaders, m_templateMap, CDisplayTemplateMgr::Settings::modules, CDisplayTemplateMgr::Settings::pageCSS_ID, CDisplayTemplateMgr::Settings::textDirectionAsHtmlDirAttr(), and CDisplayTemplateMgr::Settings::title.

Referenced by Rendering::CTextRendering::finishText(), Rendering::CDisplayRendering::finishText(), BtPrinter::finishText(), and Rendering::formatInfo().

◆ instance()

static CDisplayTemplateMgr* CDisplayTemplateMgr::instance ( )
inlinestatic

◆ loadCSSTemplate()

void CDisplayTemplateMgr::loadCSSTemplate ( const QString &  filename)
private

◆ loadTemplate()

void CDisplayTemplateMgr::loadTemplate ( const QString &  filename)
private

Preloads a single template from disk:

Definition at line 272 of file cdisplaytemplatemgr.cpp.

References BT_ASSERT, m_templateMap, and anonymous_namespace{cdisplaytemplatemgr.cpp}::readFileToString().

Referenced by CDisplayTemplateMgr().

◆ setMultiModuleHeadersVisible()

void CDisplayTemplateMgr::setMultiModuleHeadersVisible ( bool  visible)

Turn on or off displaying module names during parallel text rendering.

Parameters
visibledisplay module names

Definition at line 288 of file cdisplaytemplatemgr.cpp.

References m_multiModuleHeaders.

Member Data Documentation

◆ m_availableTemplateNamesCache

QStringList CDisplayTemplateMgr::m_availableTemplateNamesCache
private

◆ m_cssMap

QHash<QString, QString> CDisplayTemplateMgr::m_cssMap
private

Definition at line 117 of file cdisplaytemplatemgr.h.

Referenced by CDisplayTemplateMgr(), fillTemplate(), and loadCSSTemplate().

◆ m_instance

CDisplayTemplateMgr * CDisplayTemplateMgr::m_instance = nullptr
staticprivate

Definition at line 118 of file cdisplaytemplatemgr.h.

Referenced by CDisplayTemplateMgr(), and instance().

◆ m_multiModuleHeaders

bool CDisplayTemplateMgr::m_multiModuleHeaders
private

Definition at line 115 of file cdisplaytemplatemgr.h.

Referenced by fillTemplate(), and setMultiModuleHeadersVisible().

◆ m_templateMap

QHash<QString, QString> CDisplayTemplateMgr::m_templateMap
private

Definition at line 116 of file cdisplaytemplatemgr.h.

Referenced by CDisplayTemplateMgr(), fillTemplate(), and loadTemplate().


The documentation for this class was generated from the following files: