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"
23 Kernel::Kernel(LyXView & lyxview)
28 void Kernel::dispatch(FuncRequest const & fr, bool verbose) const
30 lyxview_.getLyXFunc().dispatch(fr, verbose);
34 void Kernel::updateDialog(string const & name) const
36 dispatch(FuncRequest(LFUN_DIALOG_UPDATE, name));
40 void Kernel::disconnect(string const & name) const
42 lyxview_.getDialogs().disconnect(name);
45 bool Kernel::isBufferAvailable() const
47 if (!lyxview_.view().get())
49 return lyxview_.view()->available();
53 bool Kernel::isBufferReadonly() const
55 if (!lyxview_.buffer())
57 return lyxview_.buffer()->isReadonly();
61 string const Kernel::bufferFilepath() const
63 return buffer().filePath();
67 Kernel::DocTypes Kernel::docType() const
69 if (buffer().isLatex())
71 if (buffer().isLiterate())
73 if (buffer().isLinuxDoc())
80 BufferView * Kernel::bufferview()
82 return lyxview_.view().get();
86 BufferView const * Kernel::bufferview() const
88 return lyxview_.view().get();
92 Buffer & Kernel::buffer()
94 BOOST_ASSERT(lyxview_.buffer());
95 return *lyxview_.buffer();
99 Buffer const & Kernel::buffer() const
101 BOOST_ASSERT(lyxview_.buffer());
102 return *lyxview_.buffer();