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