summaryrefslogtreecommitdiff
path: root/src/backend/rendering/cbookdisplay.h
blob: 6f0b031b91b40ce15120f463412f732576574a2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2008 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/

#ifndef RENDERINGCBOOKDISPLAY_H
#define RENDERINGCBOOKDISPLAY_H

#include "centrydisplay.h"
#include "ctextrendering.h" 
//TODO: It would be sufficient to forward declare CTextRendering and CTextRendering::KeyTree
//but I don't know how :(

class CSwordTreeKey;

namespace Rendering {

	/**
	* A CEntryDisplay implementation which works on tree-based GenBook modules
	* of Sword.
	* @short CEntryDisplay implementation for GenBook modules,
	* @author The BibleTime team
	*/

class CBookDisplay : public CEntryDisplay {
public: // Public methods
		virtual ~CBookDisplay() {}

		/**
		* Returns the rendered text using the modules in the list and using the key parameter.
		* The displayoptions and filter options are used, too.
		*/
		virtual const QString text( const QList<CSwordModuleInfo*>& modules, const QString& key, const CSwordBackend::DisplayOptions displayOptions, const CSwordBackend::FilterOptions filterOptions);

protected:
		void setupRenderTree(CSwordTreeKey* swordTree, CTextRendering::KeyTree* renderTree, const QString& highlightKey);
};

}

#endif