]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormERT.C
2002-07-02 Lars Gullik Bj�nnes <larsbj@birdstep.com>
[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 "forms/form_ert.h"
19 #include "support/lstrings.h"
20 #include "helper_funcs.h"
21 #include "debug.h"
22 #include FORMS_H_LOCATION
23
24 typedef FormCB<ControlERT, FormDB<FD_ert> > base_class;
25
26 FormERT::FormERT(ControlERT & c, Dialogs & d)
27         : base_class(c, d, _("ERT Options"))
28 {}
29
30
31 void FormERT::build()
32 {
33         dialog_.reset(build_ert(this));
34
35         // Manage the ok, apply and cancel/close buttons
36         bc().setOK(dialog_->button_ok);
37         bc().setApply(dialog_->button_apply);
38         bc().setCancel(dialog_->button_close);
39
40         bc().addReadOnly(dialog_->radio_open);
41         bc().addReadOnly(dialog_->radio_collapsed);
42         bc().addReadOnly(dialog_->radio_inlined);
43 }
44
45
46 void FormERT::apply()
47 {
48         if (fl_get_button(dialog_->radio_open))
49                 controller().params().status = InsetERT::Open;
50         else if (fl_get_button(dialog_->radio_collapsed))
51                 controller().params().status = InsetERT::Collapsed;
52         else
53                 controller().params().status = InsetERT::Inlined;
54 }
55
56
57 void FormERT::update()
58 {
59         switch (controller().params().status) {
60         case InsetERT::Open:
61                 fl_set_button(dialog_->radio_open, 1);
62                 break;
63         case InsetERT::Collapsed:
64                 fl_set_button(dialog_->radio_collapsed, 1);
65                 break;
66         case InsetERT::Inlined:
67                 fl_set_button(dialog_->radio_inlined, 1);
68                 break;
69         }
70 }