]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ControlPreamble.C
Implemented controller-view split for minipage and preamble popups.
[lyx.git] / src / frontends / controllers / ControlPreamble.C
1 /**
2  * \file FormPreamble.C
3  * Copyright 2001 The LyX Team.
4  * See the file COPYING.
5  *
6  * \author Edwin Leuven, leuven@fee.uva.nl
7  */
8
9 #include <config.h>
10
11 #ifdef __GNUG__
12 #pragma implementation
13 #endif
14
15 #include "ControlPreamble.h"
16 #include "LyXView.h"
17 #include "Dialogs.h"
18 #include "buffer.h"
19 #include "lyxrc.h"
20 #include "Liason.h"
21
22
23 ControlPreamble::ControlPreamble(LyXView & lv, Dialogs & d)
24         : ControlDialog<ControlConnectBD>(lv, d)
25 {
26     d_.showPreamble.connect(SigC::slot(this, &ControlPreamble::show));
27 }
28
29
30 void ControlPreamble::apply()
31 {
32         if (!lv_.view()->available())
33                 return;
34    
35         view().apply();
36
37         lv_.buffer()->params.preamble = params();
38         lv_.buffer()->markDirty();
39         Liason::setMinibuffer(&lv_, _("LaTeX preamble set"));
40 }
41
42
43 string & ControlPreamble::params() const
44 {
45         Assert(params_);
46         return *params_;
47 }
48
49
50 void ControlPreamble::setParams()
51 {
52         if (params_) delete params_;
53         params_ = new string(lv_.buffer()->params.preamble);
54 }
55
56
57 void ControlPreamble::clearParams()
58 {
59         if (params_) {
60                 delete params_;
61                 params_ = 0;
62         }
63 }