]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/Kernel.cpp
make lyx compile
[lyx.git] / src / frontends / controllers / Kernel.cpp
1 /**
2  * \file Kernel.cpp
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Angus Leeming
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10
11 #include <config.h>
12
13 #include "Kernel.h"
14
15 #include "Buffer.h"
16 #include "BufferView.h"
17 #include "FuncRequest.h"
18 #include "LyXFunc.h"
19 #include "frontends/Dialogs.h"
20 #include "frontends/LyXView.h"
21
22
23 using std::string;
24
25 namespace lyx {
26 namespace frontend {
27
28 Kernel::Kernel(LyXView & lyxview)
29         : lyxview_(lyxview)
30 {}
31
32
33 void Kernel::dispatch(FuncRequest const & fr) const
34 {
35         lyxview_.dispatch(fr);
36 }
37
38
39 void Kernel::updateDialog(string const & name) const
40 {
41         dispatch(FuncRequest(LFUN_DIALOG_UPDATE, name));
42 }
43
44
45 void Kernel::disconnect(string const & name) const
46 {
47         lyxview_.getDialogs().disconnect(name);
48 }
49
50 bool Kernel::isBufferAvailable() const
51 {
52         return lyxview_.buffer() != 0;
53 }
54
55
56 bool Kernel::isBufferReadonly() const
57 {
58         if (!lyxview_.buffer())
59                 return true;
60         return lyxview_.buffer()->isReadonly();
61 }
62
63
64 string const Kernel::bufferFilepath() const
65 {
66         return buffer().filePath();
67 }
68
69
70 Kernel::DocType Kernel::docType() const
71 {
72         if (buffer().isLatex())
73                 return LATEX;
74         if (buffer().isLiterate())
75                 return LITERATE;
76
77         return DOCBOOK;
78 }
79
80
81 BufferView * Kernel::bufferview()
82 {
83         return lyxview_.view();
84 }
85
86
87 BufferView const * Kernel::bufferview() const
88 {
89         return lyxview_.view();
90 }
91
92
93 Buffer & Kernel::buffer()
94 {
95         BOOST_ASSERT(lyxview_.buffer());
96         return *lyxview_.buffer();
97 }
98
99
100 Buffer const & Kernel::buffer() const
101 {
102         BOOST_ASSERT(lyxview_.buffer());
103         return *lyxview_.buffer();
104 }
105
106 } // namespace frontend
107 } // namespace lyx