]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormERT.C
d418c0629f2f45c438551541ff236bdb5fe07fbc
[lyx.git] / src / frontends / xforms / FormERT.C
1 /**
2  * \file xforms/FormERT.C
3  * Copyright 2001 The LyX Team.
4  * See the file COPYING.
5  *
6  * \author Jürgen Vigna, jug@sad.it
7  */
8
9 #include <config.h>
10
11 #ifdef __GNUG__
12 #pragma implementation
13 #endif
14
15 #include "xformsBC.h"
16 #include "ControlERT.h"
17 #include "FormERT.h"
18 #include "form_ert.h"
19 #include "support/lstrings.h"
20 #include "helper_funcs.h"
21 #include "debug.h"
22
23 typedef FormCB<ControlERT, FormDB<FD_form_ert> > base_class;
24
25 FormERT::FormERT(ControlERT & c)
26         : base_class(c, _("ERT Options"))
27 {}
28
29
30 void FormERT::build()
31 {
32         dialog_.reset(build_ert());
33
34         // Manage the ok, apply and cancel/close buttons
35         bc().setOK(dialog_->button_ok);
36         bc().setApply(dialog_->button_apply);
37         bc().setCancel(dialog_->button_cancel);
38
39         bc().addReadOnly(dialog_->radio_open);
40         bc().addReadOnly(dialog_->radio_collapsed);
41         bc().addReadOnly(dialog_->radio_inlined);
42 }
43
44
45 void FormERT::apply()
46 {
47         if (fl_get_button(dialog_->radio_open))
48                 controller().params().status = InsetERT::Open;
49         else if (fl_get_button(dialog_->radio_collapsed))
50                 controller().params().status = InsetERT::Collapsed;
51         else
52                 controller().params().status = InsetERT::Inlined;
53 }
54
55
56 void FormERT::update()
57 {
58     switch (controller().params().status) {
59     case InsetERT::Open:
60                 fl_set_button(dialog_->radio_open, 1);
61                 break;
62     case InsetERT::Collapsed:
63                 fl_set_button(dialog_->radio_collapsed, 1);
64                 break;
65     case InsetERT::Inlined:
66                 fl_set_button(dialog_->radio_inlined, 1);
67                 break;
68     }
69 }