]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ControlConnections.C
Merging BRANCH_MVC back into HEAD.
[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 2000 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 "ViewBase.h"
24 #include "insets/lyxinset.h"
25
26 #ifdef SIGC_CXX_NAMESPACES
27 using SigC::slot;
28 #endif
29
30 ControlConnectBase::ControlConnectBase(LyXView & lv, Dialogs & d)
31         : ControlBase(lv),
32           d_(d), h_(0), r_(0)
33 {}
34
35
36 void ControlConnectBase::connect()
37 {
38         r_ = Dialogs::redrawGUI.
39                 connect(slot(this, &ControlConnectBase::redraw));
40 }
41
42 void ControlConnectBase::disconnect()
43 {
44         h_.disconnect();
45         r_.disconnect();
46 }
47
48
49 void ControlConnectBase::redraw()
50 {
51         view().redraw();
52 }
53
54
55 ControlConnectBI::ControlConnectBI(LyXView & lv, Dialogs & d)
56         : ControlConnectBase(lv, d)
57 {}
58
59
60 void ControlConnectBI::connect()
61 {
62         h_ = d_.hideAll.connect(slot(this, &ControlConnectBI::hide));
63         ControlConnectBase::connect();
64 }
65
66 ControlConnectBD::ControlConnectBD(LyXView & lv, Dialogs & d)
67         : ControlConnectBase(lv, d),
68           u_(0)
69 {}
70
71
72 void ControlConnectBD::connect()
73 {
74         u_ = d_.updateBufferDependent.
75                 connect(slot(this, &ControlConnectBD::updateSlot));
76         h_ = d_.hideBufferDependent.
77                 connect(slot(this, &ControlConnectBD::hide));
78         ControlConnectBase::connect();
79 }
80
81 void ControlConnectBD::disconnect()
82 {
83         u_.disconnect();
84         ControlConnectBase::disconnect();
85 }
86