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 void Kernel::redrawGUI() const
85 lyxview_.getDialogs().redrawGUI();
89 BufferView * Kernel::bufferview()
91 return lyxview_.view().get();
95 BufferView const * Kernel::bufferview() const
97 return lyxview_.view().get();
101 Buffer & Kernel::buffer()
103 BOOST_ASSERT(lyxview_.buffer());
104 return *lyxview_.buffer();
108 Buffer const & Kernel::buffer() const
110 BOOST_ASSERT(lyxview_.buffer());
111 return *lyxview_.buffer();