BibleTime
Classes | Public Slots | Signals | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
CDisplayWindow Class Referenceabstract

The base class for all display windows of BibleTime. More...

#include <cdisplaywindow.h>

Inheritance diagram for CDisplayWindow:

Classes

class  ActionCollection
 
struct  ActionsStruct
 

Public Slots

void lookupKey (QString const &key)
 
virtual void reload ()
 
void slotAddModule (int index, CSwordModuleInfo *module)
 
void slotRemoveModule (int index)
 
void slotReplaceModule (int index, CSwordModuleInfo *newModule)
 

Signals

void sigDisplayOptionsChanged (const DisplayOptions &displayOptions)
 
void sigFilterOptionsChanged (const FilterOptions &filterOptions)
 
void sigKeyChanged (CSwordKey *key)
 
void sigModuleAdded (int index, QString module)
 
void sigModuleListChanged (BtModuleList newList)
 
void sigModuleRemoved (int index)
 
void sigModuleReplaced (int index, QString newModule)
 
void sigModulesChanged (const BtConstModuleList &modules)
 

Public Member Functions

ActionCollectionactionCollection () const noexcept
 
virtual void applyProfileSettings (BtConfigCore const &windowConf)
 Loads the settings of this window from configuration.
 
BibleTimebtMainWindow ()
 
QToolBarbuttonsToolBar () const noexcept
 
BtConstModuleList constModules () const
 
virtual void copyDisplayedText ()
 
DisplayOptions const & displayOptions () const noexcept
 
BtModelViewReadDisplaydisplayWidget () const noexcept
 
FilterOptions const & filterOptions () const noexcept
 
CSwordModuleInfo const * firstModule () const noexcept
 
CSwordKeygetMouseClickedKey () const
 
CKeyChooserkeyChooser () const noexcept
 
QToolBarmainToolBar () const noexcept
 
CMDIAreamdi () const
 
QStringList const & moduleNames () const noexcept
 
BtModuleList const & modules () const noexcept
 
virtual CSwordModuleInfo::ModuleType moduleType () const
 
void setBibleReference (const QString &reference)
 
void setDisplaySettingsButton (BtDisplaySettingsButton *button)
 
virtual void storeProfileSettings (BtConfigCore &windowConf) const
 Stores the settings of this window to configuration.
 
CSwordKeyswordKey () const noexcept
 
virtual bool syncAllowed () const noexcept
 
void updateWindowTitle ()
 
void windowActivated ()
 

Protected Slots

void lookup ()
 
virtual void modulesChanged ()
 
void printAll ()
 
void printAnchorOnly ()
 
void printAnchorWithText ()
 

Protected Member Functions

 CDisplayWindow (BtModuleList const &modules, QString const &key, bool const addTextHeaderToolbar, ActionCollection *actionCollection, CMDIArea *const parent)
 
void clearMainWindowToolBars ()
 
BTHistoryhistory () const noexcept
 
bool init ()
 
virtual void initActions ()=0
 
template<typename ... Args>
QActioninitAddAction (Args &&... args)
 
virtual void initConnections ()
 
virtual void initToolbars ()
 
virtual void lookupSwordKey (CSwordKey *)
 
virtual QMenunewDisplayWidgetPopupMenu ()
 
void setDisplayOptions (DisplayOptions const &v)
 
void setFilterOptions (FilterOptions const &v)
 
virtual void setupMainWindowToolBars ()
 
 ~CDisplayWindow () override
 

Protected Attributes

struct CDisplayWindow::ActionsStruct m_actions
 

Private Member Functions

template<typename Name , typename ... Args>
QActioninitAction (Name &&name, Args &&... args)
 

Private Attributes

ActionCollection *const m_actionCollection
 
QToolBarm_buttonsToolBar
 
DisplayOptions m_displayOptions
 
BtModelViewReadDisplaym_displayWidget
 
FilterOptions m_filterOptions
 
BTHistory *const m_history
 
bool m_isInitialized = false
 Whether init() has been called.
 
CKeyChooserm_keyChooser = nullptr
 
QToolBarm_mainToolBar
 
CMDIArea *const m_mdi
 
BtModuleChooserBarm_moduleChooserBar
 
QStringList m_moduleNames
 
BtModuleList m_modules
 
std::unique_ptr< CSwordKey > const m_swordKey
 

Friends

class CBibleReadWindow
 
class CLexiconReadWindow
 

Detailed Description

The base class for all display windows of BibleTime.

Definition at line 44 of file cdisplaywindow.h.

Constructor & Destructor Documentation

◆ CDisplayWindow()

CDisplayWindow::CDisplayWindow ( BtModuleList const &  modules,
QString const &  key,
bool const  addTextHeaderToolbar,
ActionCollection actionCollection,
CMDIArea *const  parent 
)
protected

Definition at line 134 of file cdisplaywindow.cpp.

References BtActionCollection::action(), BtActionCollection::actionAs(), CResMgr::displaywindows::general::backInHistory::actionName, CResMgr::displaywindows::general::forwardInHistory::actionName, CResMgr::displaywindows::general::findStrongs::actionName, BtModelViewReadDisplay::activeAnchorChanged(), BTHistory::add(), BtModuleChooserBar::associateWithWindow(), BTHistory::back(), CDisplayWindow::ActionsStruct::backInHistory, BT_ASSERT, BT_CONNECT, btConfig(), btMainWindow(), CDisplayWindow::ActionsStruct::byReferences, constModules(), CDisplayWindow::ActionsStruct::copy, BtModelViewReadDisplay::copyAll(), BtModelViewReadDisplay::copyAnchorOnly(), BtModelViewReadDisplay::copyByReferences(), BtModelViewReadDisplay::copySelectedText(), CKeyChooser::createInstance(), displayOptions(), CDisplayWindow::ActionsStruct::entry, CDisplayWindow::ActionsStruct::entryAsHTML, CDisplayWindow::ActionsStruct::entryAsPlain, filterOptions(), CDisplayWindow::ActionsStruct::findStrongs, CDisplayWindow::ActionsStruct::findText, CDisplayWindow::ActionsStruct::forwardInHistory, BTHistory::fw(), CKeyChooser::handleHistoryMoved(), BTHistory::historyMoved(), CExportManager::HTML, initAddAction(), CSwordBackend::instance(), BibleTime::instance(), CKeyChooser::keyChanged(), keyChooser(), m_actionCollection, m_actions, m_buttonsToolBar, m_displayWidget, m_history, m_keyChooser, m_mainToolBar, m_moduleChooserBar, m_moduleNames, m_modules, m_swordKey, BtTextWindowHeader::moduleAdded(), BtTextWindowHeader::moduleRemoved(), BtTextWindowHeader::moduleReplaced(), BtModelViewReadDisplay::nodeInfo(), BtModelViewReadDisplay::nodeInfoChanged(), BibleTime::openFindWidget(), BibleTime::openSearchDialog(), BtModelViewReadDisplay::pageDown(), BtModelViewReadDisplay::pageUp(), CDisplayWindow::ActionsStruct::print, printAll(), printAnchorOnly(), BtModelViewReadDisplay::qmlInterface(), BtActionCollection::readShortcuts(), CDisplayWindow::ActionsStruct::reference, reload(), CDisplayWindow::ActionsStruct::save, CExportManager::saveKey(), CDisplayWindow::ActionsStruct::selectedText, BtQmlInterface::selectionChanged(), BtTextWindowHeader::setModules(), BtModelViewReadDisplay::setModules(), sigModuleListChanged(), CSwordBackend::sigSwordSetupChanged(), slotAddModule(), slotRemoveModule(), slotReplaceModule(), CExportManager::Text, BibleTime::toggledTextWindowHeader(), BibleTime::toggledTextWindowModuleChooser(), BibleTime::toggledTextWindowNavigator(), BibleTime::toggledTextWindowToolButtons(), and updateWindowTitle().

◆ ~CDisplayWindow()

CDisplayWindow::~CDisplayWindow ( )
overrideprotecteddefault

Member Function Documentation

◆ actionCollection()

ActionCollection * CDisplayWindow::actionCollection ( ) const
inlinenoexcept

◆ applyProfileSettings()

void CDisplayWindow::applyProfileSettings ( BtConfigCore const &  windowConf)
virtual

Loads the settings of this window from configuration.

Parameters
[in]windowConfThe locked configuration group.
Note
We don't use restoreGeometry/saveGeometry for MDI subwindows, because they give slightly incorrect results with some window managers. Might be related to Qt bug QTBUG-7634.

Reimplemented in CBibleReadWindow, CBookReadWindow, and CCommentaryReadWindow.

Definition at line 444 of file cdisplaywindow.cpp.

References BT_ASSERT, and BtConfigCore::value().

Referenced by CBibleReadWindow::applyProfileSettings(), CBookReadWindow::applyProfileSettings(), and CCommentaryReadWindow::applyProfileSettings().

◆ btMainWindow()

BibleTime * CDisplayWindow::btMainWindow ( )

◆ buttonsToolBar()

QToolBar * CDisplayWindow::buttonsToolBar ( ) const
inlinenoexcept

Returns the tool buttons toolbar.

Definition at line 112 of file cdisplaywindow.h.

References m_buttonsToolBar.

Referenced by CBookReadWindow::initToolbars(), CCommentaryReadWindow::initToolbars(), and CBookReadWindow::setupMainWindowToolBars().

◆ clearMainWindowToolBars()

void CDisplayWindow::clearMainWindowToolBars ( )
protected

Definition at line 391 of file cdisplaywindow.cpp.

References btMainWindow(), BibleTime::navToolBar(), and BibleTime::toolsToolBar().

Referenced by init(), and windowActivated().

◆ constModules()

BtConstModuleList CDisplayWindow::constModules ( ) const
inline

◆ copyDisplayedText()

void CDisplayWindow::copyDisplayedText ( )
virtual

Updates the status of the popup menu entries.

Definition at line 590 of file cdisplaywindow.cpp.

References CExportManager::copyKey(), m_swordKey, and CExportManager::Text.

◆ displayOptions()

DisplayOptions const & CDisplayWindow::displayOptions ( ) const
inlinenoexcept

◆ displayWidget()

BtModelViewReadDisplay * CDisplayWindow::displayWidget ( ) const
inlinenoexcept

Returns the display widget used by this implementation of CDisplayWindow.

Definition at line 119 of file cdisplaywindow.h.

References BT_ASSERT, and m_displayWidget.

Referenced by CMDIArea::findTextInActiveWindow(), CMDIArea::highlightTextInActiveWindow(), and CBibleReadWindow::initActions().

◆ filterOptions()

FilterOptions const & CDisplayWindow::filterOptions ( ) const
inlinenoexcept

◆ firstModule()

CSwordModuleInfo const * CDisplayWindow::firstModule ( ) const
inlinenoexcept

Definition at line 67 of file cdisplaywindow.h.

References m_modules.

Referenced by CBibleReadWindow::copyDisplayedText().

◆ getMouseClickedKey()

CSwordKey * CDisplayWindow::getMouseClickedKey ( ) const

◆ history()

BTHistory * CDisplayWindow::history ( ) const
inlineprotectednoexcept

Returns history for this window

Definition at line 196 of file cdisplaywindow.h.

References m_history.

Referenced by CBookReadWindow::CBookReadWindow(), and CBookReadWindow::setupMainWindowToolBars().

◆ init()

bool CDisplayWindow::init ( )
protected

◆ initAction()

template<typename Name , typename ... Args>
QAction & CDisplayWindow::initAction ( Name &&  name,
Args &&...  args 
)
inlineprivate

Definition at line 249 of file cdisplaywindow.h.

References BtActionCollection::action(), BT_CONNECT, and m_actionCollection.

Referenced by initAddAction().

◆ initActions()

virtual void CDisplayWindow::initActions ( )
protectedpure virtual

Initializes the internel keyboard actions.

Implemented in CBibleReadWindow, CBookReadWindow, CCommentaryReadWindow, and CLexiconReadWindow.

Referenced by init().

◆ initAddAction()

template<typename ... Args>
QAction & CDisplayWindow::initAddAction ( Args &&...  args)
inlineprotected

◆ initConnections()

void CDisplayWindow::initConnections ( )
protectedvirtual

◆ initToolbars()

void CDisplayWindow::initToolbars ( )
protectedvirtual

◆ keyChooser()

CKeyChooser * CDisplayWindow::keyChooser ( ) const
inlinenoexcept

◆ lookup

void CDisplayWindow::lookup ( )
protectedslot

Lookup the current key. Used to refresh the display. This also needs to be called after programmatically changing filter/display options.

Lookup the current key. Used to refresh the display.

Definition at line 788 of file cdisplaywindow.cpp.

References lookupSwordKey(), and m_swordKey.

Referenced by CBibleReadWindow::applyProfileSettings(), reload(), setDisplaySettingsButton(), slotAddModule(), slotRemoveModule(), and slotReplaceModule().

◆ lookupKey

void CDisplayWindow::lookupKey ( QString const &  key)
slot

◆ lookupSwordKey()

void CDisplayWindow::lookupSwordKey ( CSwordKey newKey)
protectedvirtual

◆ mainToolBar()

QToolBar * CDisplayWindow::mainToolBar ( ) const
inlinenoexcept

Returns the main navigation toolbar.

Definition at line 109 of file cdisplaywindow.h.

References m_mainToolBar.

Referenced by BtModelViewReadDisplay::BtModelViewReadDisplay(), and CBookReadWindow::initToolbars().

◆ mdi()

CMDIArea * CDisplayWindow::mdi ( ) const
inline

Returns pointer to the mdi area object.

Definition at line 63 of file cdisplaywindow.h.

References m_mdi.

Referenced by storeProfileSettings(), and CBibleReadWindow::syncWindows().

◆ moduleNames()

QStringList const & CDisplayWindow::moduleNames ( ) const
inlinenoexcept
Returns
the used modules as a string list.

Definition at line 76 of file cdisplaywindow.h.

References m_moduleNames.

◆ modules()

BtModuleList const & CDisplayWindow::modules ( ) const
inlinenoexcept

Definition at line 70 of file cdisplaywindow.h.

References m_modules.

Referenced by BtModuleChooserBar::associateWithWindow().

◆ modulesChanged

void CDisplayWindow::modulesChanged ( )
protectedvirtualslot

◆ moduleType()

CSwordModuleInfo::ModuleType CDisplayWindow::moduleType ( ) const
virtual

Reimplemented in CBibleReadWindow, CBookReadWindow, and CCommentaryReadWindow.

Definition at line 384 of file cdisplaywindow.cpp.

References CSwordModuleInfo::Lexicon.

Referenced by setBibleReference().

◆ newDisplayWidgetPopupMenu()

QMenu * CDisplayWindow::newDisplayWidgetPopupMenu ( )
protectedvirtual

◆ printAll

void CDisplayWindow::printAll ( )
protectedslot

◆ printAnchorOnly

void CDisplayWindow::printAnchorOnly ( )
protectedslot

◆ printAnchorWithText

void CDisplayWindow::printAnchorWithText ( )
protectedslot

◆ reload

void CDisplayWindow::reload ( )
virtualslot

◆ setBibleReference()

void CDisplayWindow::setBibleReference ( const QString &  reference)

◆ setDisplayOptions()

void CDisplayWindow::setDisplayOptions ( DisplayOptions const &  v)
inlineprotected

Definition at line 204 of file cdisplaywindow.h.

References m_displayOptions.

Referenced by CBibleReadWindow::applyProfileSettings().

◆ setDisplaySettingsButton()

void CDisplayWindow::setDisplaySettingsButton ( BtDisplaySettingsButton button)

◆ setFilterOptions()

void CDisplayWindow::setFilterOptions ( FilterOptions const &  v)
inlineprotected

Definition at line 206 of file cdisplaywindow.h.

References m_filterOptions.

Referenced by CBibleReadWindow::applyProfileSettings().

◆ setupMainWindowToolBars()

void CDisplayWindow::setupMainWindowToolBars ( )
protectedvirtual

◆ sigDisplayOptionsChanged

void CDisplayWindow::sigDisplayOptionsChanged ( const DisplayOptions displayOptions)
signal

Signal emitted when display options are changed.

Referenced by CBibleReadWindow::applyProfileSettings(), init(), and setDisplaySettingsButton().

◆ sigFilterOptionsChanged

void CDisplayWindow::sigFilterOptionsChanged ( const FilterOptions filterOptions)
signal

Signal emitted when display options are changed.

Referenced by CBibleReadWindow::applyProfileSettings(), init(), and setDisplaySettingsButton().

◆ sigKeyChanged

void CDisplayWindow::sigKeyChanged ( CSwordKey key)
signal

signal for sword key change

Referenced by lookupKey(), setupMainWindowToolBars(), and CBookReadWindow::setupMainWindowToolBars().

◆ sigModuleAdded

void CDisplayWindow::sigModuleAdded ( int  index,
QString  module 
)
signal

A module was added to this window.

◆ sigModuleListChanged

void CDisplayWindow::sigModuleListChanged ( BtModuleList  newList)
signal

The module list of window changed but backend list didn't.

Referenced by BtModuleChooserBar::associateWithWindow(), CDisplayWindow(), reload(), slotAddModule(), slotRemoveModule(), and slotReplaceModule().

◆ sigModuleRemoved

void CDisplayWindow::sigModuleRemoved ( int  index)
signal

◆ sigModuleReplaced

void CDisplayWindow::sigModuleReplaced ( int  index,
QString  newModule 
)
signal

◆ sigModulesChanged

void CDisplayWindow::sigModulesChanged ( const BtConstModuleList modules)
signal

signal for change of modules

Referenced by init(), modulesChanged(), and setDisplaySettingsButton().

◆ slotAddModule

void CDisplayWindow::slotAddModule ( int  index,
CSwordModuleInfo module 
)
slot

◆ slotRemoveModule

void CDisplayWindow::slotRemoveModule ( int  index)
slot

◆ slotReplaceModule

void CDisplayWindow::slotReplaceModule ( int  index,
CSwordModuleInfo newModule 
)
slot

◆ storeProfileSettings()

void CDisplayWindow::storeProfileSettings ( BtConfigCore conf) const
virtual

Stores the settings of this window to configuration.

Parameters
[in]windowConfThe locked configuration group.

Store the settings of this window in the given CProfileWindow object.

Note
We don't use saveGeometry/restoreGeometry for MDI subwindows, because they give slightly incorrect results with some window managers. Might be related to Qt bug QTBUG-7634.

Reimplemented in CBibleReadWindow, CBookReadWindow, and CCommentaryReadWindow.

Definition at line 413 of file cdisplaywindow.cpp.

References BT_ASSERT, m_moduleNames, m_swordKey, mdi(), and BtConfigCore::setValue().

Referenced by BibleTime::saveProfile(), CBibleReadWindow::storeProfileSettings(), CBookReadWindow::storeProfileSettings(), and CCommentaryReadWindow::storeProfileSettings().

◆ swordKey()

CSwordKey * CDisplayWindow::swordKey ( ) const
inlinenoexcept

◆ syncAllowed()

virtual bool CDisplayWindow::syncAllowed ( ) const
inlinevirtualnoexcept
Returns
whether syncs to the active window are allowed for this display window.

Reimplemented in CCommentaryReadWindow.

Definition at line 126 of file cdisplaywindow.h.

Referenced by CBibleReadWindow::syncWindows().

◆ updateWindowTitle()

void CDisplayWindow::updateWindowTitle ( )

◆ windowActivated()

void CDisplayWindow::windowActivated ( )

Called when this window is activated

Definition at line 397 of file cdisplaywindow.cpp.

References clearMainWindowToolBars(), and setupMainWindowToolBars().

Referenced by CMDIArea::CMDIArea().

Friends And Related Symbol Documentation

◆ CBibleReadWindow

friend class CBibleReadWindow
friend

Definition at line 186 of file cdisplaywindow.h.

◆ CLexiconReadWindow

friend class CLexiconReadWindow
friend

Definition at line 46 of file cdisplaywindow.h.

Member Data Documentation

◆ m_actionCollection

ActionCollection* const CDisplayWindow::m_actionCollection
private

◆ m_actions

struct CDisplayWindow::ActionsStruct CDisplayWindow::m_actions
protected

◆ m_buttonsToolBar

QToolBar* CDisplayWindow::m_buttonsToolBar
private

◆ m_displayOptions

DisplayOptions CDisplayWindow::m_displayOptions
private

◆ m_displayWidget

BtModelViewReadDisplay* CDisplayWindow::m_displayWidget
private

◆ m_filterOptions

FilterOptions CDisplayWindow::m_filterOptions
private

◆ m_history

BTHistory* const CDisplayWindow::m_history
private

◆ m_isInitialized

bool CDisplayWindow::m_isInitialized = false
private

Whether init() has been called.

Definition at line 296 of file cdisplaywindow.h.

Referenced by init(), lookupKey(), and lookupSwordKey().

◆ m_keyChooser

CKeyChooser* CDisplayWindow::m_keyChooser = nullptr
private

◆ m_mainToolBar

QToolBar* CDisplayWindow::m_mainToolBar
private

Definition at line 297 of file cdisplaywindow.h.

Referenced by CDisplayWindow(), init(), initToolbars(), and mainToolBar().

◆ m_mdi

CMDIArea* const CDisplayWindow::m_mdi
private

Definition at line 283 of file cdisplaywindow.h.

Referenced by btMainWindow(), and mdi().

◆ m_moduleChooserBar

BtModuleChooserBar* CDisplayWindow::m_moduleChooserBar
private

Definition at line 298 of file cdisplaywindow.h.

Referenced by CDisplayWindow(), and init().

◆ m_moduleNames

QStringList CDisplayWindow::m_moduleNames
private

◆ m_modules

BtModuleList CDisplayWindow::m_modules
private

◆ m_swordKey

std::unique_ptr<CSwordKey> const CDisplayWindow::m_swordKey
private

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