2 * \file ControlConnections.C
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
14 #pragma implementation
17 #include "ControlConnections.h"
22 #include "BufferView.h"
24 #include "frontends/Dialogs.h"
25 #include "frontends/LyXView.h"
27 #include <boost/bind.hpp>
29 ControlConnectBase::ControlConnectBase(LyXView & lv, Dialogs & d)
34 void ControlConnectBase::connect()
37 connect(boost::bind(&ControlConnectBase::redraw, this));
40 void ControlConnectBase::disconnect()
47 void ControlConnectBase::redraw()
53 bool ControlConnectBase::bufferIsReadonly() const
58 return lv_.buffer()->isReadonly();
62 bool ControlConnectBase::bufferIsAvailable() const
67 return lv_.view()->available();
71 BufferView * ControlConnectBase::bufferview()
73 return lv_.view().get();
77 BufferView const * ControlConnectBase::bufferview() const
79 return lv_.view().get();
83 Buffer * ControlConnectBase::buffer()
89 Buffer const * ControlConnectBase::buffer() const
95 LyXFunc & ControlConnectBase::lyxfunc()
97 return lv_.getLyXFunc();
101 LyXFunc const & ControlConnectBase::lyxfunc() const
103 return lv_.getLyXFunc();
107 ControlConnectBase::DocTypes ControlConnectBase::docType() const
112 if (lv_.buffer()->isLatex())
114 else if (lv_.buffer()->isLiterate())
116 else if (lv_.buffer()->isLinuxDoc())
118 /* else if (lv_.buffer()->isDocBook()) */
123 ControlConnectBI::ControlConnectBI(LyXView & lv, Dialogs & d)
124 : ControlConnectBase(lv, d)
128 void ControlConnectBI::connect()
130 h_ = d_.hideAll.connect(boost::bind(&ControlConnectBI::hide, this));
131 ControlConnectBase::connect();
134 ControlConnectBD::ControlConnectBD(LyXView & lv, Dialogs & d)
135 : ControlConnectBase(lv, d)
139 void ControlConnectBD::connect()
141 u_ = d_.updateBufferDependent.
142 connect(boost::bind(&ControlConnectBD::updateSlot, this, _1));
143 h_ = d_.hideBufferDependent.
144 connect(boost::bind(&ControlConnectBD::hide, this));
145 ControlConnectBase::connect();
148 void ControlConnectBD::disconnect()
151 ControlConnectBase::disconnect();