]> git.lyx.org Git - lyx.git/blob - src/frontends/xforms/FormPreamble.C
fix crash with "save as"
[lyx.git] / src / frontends / xforms / FormPreamble.C
1 /**
2  * \file FormPreamble.C
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Edwin Leuven
7  *
8  * Full author contact details are available in file CREDITS
9  */
10
11 #include <config.h>
12
13 #ifdef __GNUG__
14 #pragma implementation
15 #endif
16
17 #include "xformsBC.h"
18 #include "ControlPreamble.h"
19 #include "FormPreamble.h"
20 #include "forms/form_preamble.h"
21 #include "xforms_helpers.h"
22
23 #include FORMS_H_LOCATION
24
25 typedef FormCB<ControlPreamble, FormDB<FD_preamble> > base_class;
26
27 FormPreamble::FormPreamble()
28         : base_class(_("LaTeX preamble"))
29 {}
30
31
32 void FormPreamble::build()
33 {
34         dialog_.reset(build_preamble(this));
35
36         // Manage the ok, apply and cancel/close buttons
37         bc().setOK(dialog_->button_ok);
38         bc().setApply(dialog_->button_apply);
39         bc().setCancel(dialog_->button_close);
40
41         // trigger an input event for cut&paste with middle mouse button.
42         setPrehandler(dialog_->input_preamble);
43
44         // for activate ok/apply immediately upon input
45         fl_set_input_return(dialog_->input_preamble, FL_RETURN_CHANGED);
46 }
47
48
49 void FormPreamble::apply()
50 {
51         controller().params(getString(dialog_->input_preamble));
52 }
53
54
55 void FormPreamble::update()
56 {
57         fl_set_input(dialog_->input_preamble, controller().params().c_str());
58 }