]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/Kernel.C
Re-add the RasterImage template.
[lyx.git] / src / frontends / controllers / Kernel.C
1 /**
2  * \file Kernel.C
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 Kernel::Kernel(LyXView & lyxview)
24         : lyxview_(lyxview)
25 {}
26
27
28 void Kernel::dispatch(FuncRequest const & fr, bool verbose) const
29 {
30         lyxview_.getLyXFunc().dispatch(fr, verbose);
31 }
32
33
34 void Kernel::updateDialog(string const & name) const
35 {
36         dispatch(FuncRequest(LFUN_DIALOG_UPDATE, name));
37 }
38
39
40 void Kernel::disconnect(string const & name) const
41 {
42         lyxview_.getDialogs().disconnect(name);
43 }
44
45 bool Kernel::isBufferAvailable() const
46 {
47         if (!lyxview_.view().get())
48                 return false;
49         return lyxview_.view()->available();
50 }
51
52
53 bool Kernel::isBufferReadonly() const
54 {
55         if (!lyxview_.buffer())
56                 return true;
57         return lyxview_.buffer()->isReadonly();
58 }
59
60
61 string const Kernel::bufferFilepath() const
62 {
63         return buffer().filePath();
64 }
65
66
67 Kernel::DocTypes Kernel::docType() const
68 {
69         if (buffer().isLatex())
70                 return LATEX;
71         if (buffer().isLiterate())
72                 return LITERATE;
73         if (buffer().isLinuxDoc())
74                 return LINUXDOC;
75
76         return DOCBOOK;
77 }
78
79
80 BufferView * Kernel::bufferview()
81 {
82         return lyxview_.view().get();
83 }
84
85
86 BufferView const * Kernel::bufferview() const
87 {
88         return lyxview_.view().get();
89 }
90
91
92 Buffer & Kernel::buffer()
93 {
94         BOOST_ASSERT(lyxview_.buffer());
95         return *lyxview_.buffer();
96 }
97
98
99 Buffer const & Kernel::buffer() const
100 {
101         BOOST_ASSERT(lyxview_.buffer());
102         return *lyxview_.buffer();
103 }