3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Angus Leeming
8 * Full author contact details are available in file CREDITS.
16 #include "BufferView.h"
17 #include "funcrequest.h"
19 #include "frontends/Dialogs.h"
20 #include "frontends/LyXView.h"
26 Kernel::Kernel(LyXView & lyxview)
31 void Kernel::dispatch(FuncRequest const & fr, bool verbose) const
33 lyxview_.getLyXFunc().dispatch(fr, verbose);
37 void Kernel::updateDialog(string const & name) const
39 dispatch(FuncRequest(LFUN_DIALOG_UPDATE, name));
43 void Kernel::disconnect(string const & name) const
45 lyxview_.getDialogs().disconnect(name);
48 bool Kernel::isBufferAvailable() const
50 if (!lyxview_.view().get())
52 return lyxview_.view()->available();
56 bool Kernel::isBufferReadonly() const
58 if (!lyxview_.buffer())
60 return lyxview_.buffer()->isReadonly();
64 string const Kernel::bufferFilepath() const
66 return buffer().filePath();
70 Kernel::DocTypes Kernel::docType() const
72 if (buffer().isLatex())
74 if (buffer().isLiterate())
76 if (buffer().isLinuxDoc())
83 BufferView * Kernel::bufferview()
85 return lyxview_.view().get();
89 BufferView const * Kernel::bufferview() const
91 return lyxview_.view().get();
95 Buffer & Kernel::buffer()
97 BOOST_ASSERT(lyxview_.buffer());
98 return *lyxview_.buffer();
102 Buffer const & Kernel::buffer() const
104 BOOST_ASSERT(lyxview_.buffer());
105 return *lyxview_.buffer();