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