]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormERT.C
Introduce LFUN_PRINT.
[lyx.git] / src / frontends / xforms / FormERT.C
1 /**
2  * \file FormERT.C
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Jürgen Vigna
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10
11 #include <config.h>
12
13 #include "FormERT.h"
14 #include "ControlERT.h"
15 #include "forms/form_ert.h"
16
17 #include "xformsBC.h"
18
19 #include "lyx_forms.h"
20
21
22 typedef  FormController<ControlERT, FormView<FD_ert> > base_class;
23
24 FormERT::FormERT(Dialog & parent)
25         : base_class(parent, _("TeX Settings"))
26 {}
27
28
29 void FormERT::build()
30 {
31         dialog_.reset(build_ert(this));
32
33         // Manage the ok, apply and cancel/close buttons
34         bcview().setOK(dialog_->button_ok);
35         bcview().setApply(dialog_->button_apply);
36         bcview().setCancel(dialog_->button_close);
37
38         bcview().addReadOnly(dialog_->radio_open);
39         bcview().addReadOnly(dialog_->radio_collapsed);
40         bcview().addReadOnly(dialog_->radio_inlined);
41 }
42
43
44 void FormERT::apply()
45 {
46         if (fl_get_button(dialog_->radio_open))
47                 controller().setStatus(InsetERT::Open);
48         else if (fl_get_button(dialog_->radio_collapsed))
49                 controller().setStatus(InsetERT::Collapsed);
50         else
51                 controller().setStatus(InsetERT::Inlined);
52 }
53
54
55 void FormERT::update()
56 {
57         switch (controller().status()) {
58         case InsetERT::Open:
59                 fl_set_button(dialog_->radio_open, 1);
60                 break;
61         case InsetERT::Collapsed:
62                 fl_set_button(dialog_->radio_collapsed, 1);
63                 break;
64         case InsetERT::Inlined:
65                 fl_set_button(dialog_->radio_inlined, 1);
66                 break;
67         }
68 }