]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ControlConnections.C
add Lsstream.h
[lyx.git] / src / frontends / controllers / ControlConnections.C
1 // -*- C++ -*-
2 /* This file is part of
3  * ====================================================== 
4  *
5  *           LyX, The Document Processor
6  *
7  *           Copyright 2001 The LyX Team.
8  *
9  * ======================================================
10  *
11  * \file ControlConnections.C
12  * \author Angus Leeming <a.leeming@ic.ac.uk>
13  */
14
15 #ifdef __GNUG__
16 #pragma implementation
17 #endif
18
19 #include <config.h>
20
21 #include "ControlConnections.h"
22 #include "Dialogs.h"
23 #include "LyXView.h"
24 #include "buffer.h"
25
26 using SigC::slot;
27
28 ControlConnectBase::ControlConnectBase(LyXView & lv, Dialogs & d)
29         : lv_(lv), d_(d), h_(0), r_(0)
30 {}
31
32
33 void ControlConnectBase::connect()
34 {
35         r_ = Dialogs::redrawGUI.
36                 connect(slot(this, &ControlConnectBase::redraw));
37 }
38
39 void ControlConnectBase::disconnect()
40 {
41         h_.disconnect();
42         r_.disconnect();
43 }
44
45
46 void ControlConnectBase::redraw()
47 {
48         view().redraw();
49 }
50
51
52 bool ControlConnectBase::isReadonly() const
53 {
54         if (!lv_.buffer())
55                 return true;
56
57         return lv_.buffer()->isReadonly();
58 }
59
60
61 ControlConnectBI::ControlConnectBI(LyXView & lv, Dialogs & d)
62         : ControlConnectBase(lv, d)
63 {}
64
65
66 void ControlConnectBI::connect()
67 {
68         h_ = d_.hideAll.connect(slot(this, &ControlConnectBI::hide));
69         ControlConnectBase::connect();
70 }
71
72 ControlConnectBD::ControlConnectBD(LyXView & lv, Dialogs & d)
73         : ControlConnectBase(lv, d),
74           u_(0)
75 {}
76
77
78 void ControlConnectBD::connect()
79 {
80         u_ = d_.updateBufferDependent.
81                 connect(slot(this, &ControlConnectBD::updateSlot));
82         h_ = d_.hideBufferDependent.
83                 connect(slot(this, &ControlConnectBD::hide));
84         ControlConnectBase::connect();
85 }
86
87 void ControlConnectBD::disconnect()
88 {
89         u_.disconnect();
90         ControlConnectBase::disconnect();
91 }
92