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"
28 Kernel::Kernel(LyXView & lyxview)
33 void Kernel::dispatch(FuncRequest const & fr) const
35 lyxview_.dispatch(fr);
39 void Kernel::updateDialog(string const & name) const
41 dispatch(FuncRequest(LFUN_DIALOG_UPDATE, name));
45 void Kernel::disconnect(string const & name) const
47 lyxview_.getDialogs().disconnect(name);
50 bool Kernel::isBufferAvailable() const
52 return lyxview_.buffer() != 0;
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::DocType Kernel::docType() const
72 if (buffer().isLatex())
74 if (buffer().isLiterate())
81 BufferView * Kernel::bufferview()
83 return lyxview_.view();
87 BufferView const * Kernel::bufferview() const
89 return lyxview_.view();
93 Buffer & Kernel::buffer()
95 BOOST_ASSERT(lyxview_.buffer());
96 return *lyxview_.buffer();
100 Buffer const & Kernel::buffer() const
102 BOOST_ASSERT(lyxview_.buffer());
103 return *lyxview_.buffer();
106 } // namespace frontend