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
54 return lyxview_.view()->buffer() != 0;
58 bool Kernel::isBufferReadonly() const
60 if (!lyxview_.buffer())
62 return lyxview_.buffer()->isReadonly();
66 string const Kernel::bufferFilepath() const
68 return buffer().filePath();
72 Kernel::DocType Kernel::docType() const
74 if (buffer().isLatex())
76 if (buffer().isLiterate())
83 BufferView * Kernel::bufferview()
85 return lyxview_.view();
89 BufferView const * Kernel::bufferview() const
91 return lyxview_.view();
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();
108 } // namespace frontend