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, QString content, const Settings &settings) const
 Fills the template.
 

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
 
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
Parameters
[out]errorMessageSet to error string on error, otherwise set to QString().

Definition at line 48 of file cdisplaytemplatemgr.cpp.

References BT_ASSERT, loadCSSTemplate(), loadTemplate(), m_availableTemplateNamesCache, m_cssMap, m_instance, and m_templateMap.

Member Function Documentation

◆ activeTemplateName()

QString CDisplayTemplateMgr::activeTemplateName ( )
static

◆ availableTemplates()

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

Definition at line 65 of file cdisplaytemplatemgr.h.

References m_availableTemplateNamesCache.

Referenced by CDisplaySettingsPage::CDisplaySettingsPage().

◆ fillTemplate()

QString CDisplayTemplateMgr::fillTemplate ( const QString &  name,
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 103 of file cdisplaytemplatemgr.cpp.

References CSwordBackend::availableLanguages(), CSwordModuleInfo::Bible, BT_ASSERT, btConfig(), CSwordModuleInfo::Commentary, CSwordModuleInfo::GenericBook, BtConfig::getDefaultFont(), BtConfig::getFontForLanguage(), CSwordBackend::instance(), CDisplayTemplateMgr::Settings::langAbbrev, CSwordModuleInfo::LeftToRight, CSwordModuleInfo::Lexicon, m_cssMap, m_templateMap, CDisplayTemplateMgr::Settings::modules, CDisplayTemplateMgr::Settings::pageCSS_ID, CDisplayTemplateMgr::Settings::textDirection, CDisplayTemplateMgr::Settings::title, and U.

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

Definition at line 274 of file cdisplaytemplatemgr.cpp.

References BT_ASSERT, and m_cssMap.

Referenced by CDisplayTemplateMgr().

◆ loadTemplate()

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

Preloads a single template from disk:

Definition at line 266 of file cdisplaytemplatemgr.cpp.

References BT_ASSERT, and m_templateMap.

Referenced by CDisplayTemplateMgr().

Member Data Documentation

◆ m_availableTemplateNamesCache

QStringList CDisplayTemplateMgr::m_availableTemplateNamesCache
private

◆ m_cssMap

QHash<QString, QString> CDisplayTemplateMgr::m_cssMap
private

Definition at line 106 of file cdisplaytemplatemgr.h.

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

◆ m_instance

CDisplayTemplateMgr * CDisplayTemplateMgr::m_instance = nullptr
staticprivate

Definition at line 107 of file cdisplaytemplatemgr.h.

Referenced by CDisplayTemplateMgr(), and instance().

◆ m_templateMap

QHash<QString, QString> CDisplayTemplateMgr::m_templateMap
private

Definition at line 105 of file cdisplaytemplatemgr.h.

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


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