]> git.lyx.org Git - lyx.git/blob - src/frontends/Dialog.cpp
pimpl not needed here
[lyx.git] / src / frontends / Dialog.cpp
1 /**
2  * \file Dialog.cpp
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Angus Leeming
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10
11 #include <config.h>
12
13 #include "Dialog.h"
14
15 #include "FuncRequest.h"
16 #include "FuncStatus.h"
17 #include "LyXFunc.h"
18
19 #include "frontends/LyXView.h"
20 #include "frontends/Dialogs.h" // FIXME
21
22 #include "Buffer.h"
23
24
25 namespace lyx {
26 namespace frontend {
27
28
29 Dialog::~Dialog()
30 {}
31
32
33 bool Dialog::canApply() const
34 {
35         FuncRequest const fr(getLfun(), name());
36         FuncStatus const fs(getStatus(fr));
37         return fs.enabled();
38 }
39
40
41 void Dialog::dispatch(FuncRequest const & fr) const
42 {
43         lyxview_->dispatch(fr);
44 }
45
46
47 void Dialog::updateDialog(std::string const & name) const
48 {
49         dispatch(FuncRequest(LFUN_DIALOG_UPDATE, name));
50 }
51
52
53 void Dialog::disconnect(std::string const & name) const
54 {
55         lyxview_->getDialogs().disconnect(name);
56 }
57
58
59 bool Dialog::isBufferAvailable() const
60 {
61         return lyxview_->buffer() != 0;
62 }
63
64
65 bool Dialog::isBufferReadonly() const
66 {
67         if (!lyxview_->buffer())
68                 return true;
69         return lyxview_->buffer()->isReadonly();
70 }
71
72
73 std::string const Dialog::bufferFilepath() const
74 {
75         return buffer().filePath();
76 }
77
78
79 KernelDocType Dialog::docType() const
80 {
81         if (buffer().isLatex())
82                 return LATEX;
83         if (buffer().isLiterate())
84                 return LITERATE;
85
86         return DOCBOOK;
87 }
88
89
90 BufferView * Dialog::bufferview()
91 {
92         return lyxview_->view();
93 }
94
95
96 BufferView const * Dialog::bufferview() const
97 {
98         return lyxview_->view();
99 }
100
101
102 Buffer & Dialog::buffer()
103 {
104         BOOST_ASSERT(lyxview_->buffer());
105         return *lyxview_->buffer();
106 }
107
108
109 Buffer const & Dialog::buffer() const
110 {
111         BOOST_ASSERT(lyxview_->buffer());
112         return *lyxview_->buffer();
113 }
114
115 } // namespace frontend
116 } // namespace lyx