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"
22 #include "support/LAssert.h"
24 using lyx::support::Assert;
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();
69 Kernel::DocTypes Kernel::docType() const
71 if (buffer().isLatex())
73 if (buffer().isLiterate())
75 if (buffer().isLinuxDoc())
82 BufferView * Kernel::bufferview()
84 return lyxview_.view().get();
88 BufferView const * Kernel::bufferview() const
90 return lyxview_.view().get();
94 Buffer & Kernel::buffer()
96 Assert(lyxview_.buffer());
97 return *lyxview_.buffer();
101 Buffer const & Kernel::buffer() const
103 Assert(lyxview_.buffer());
104 return *lyxview_.buffer();