3 * Copyright 2001 The LyX Team.
4 * See the file COPYING.
6 * \author Edwin Leuven, leuven@fee.uva.nl
12 #pragma implementation
16 #include "ControlPreamble.h"
17 #include "FormPreamble.h"
18 #include "form_preamble.h"
19 #include "xforms_helpers.h"
21 // To trigger an input event when pasting in an xforms input object
22 // using the middle mouse button.
23 extern "C" int C_CutandPastePH(FL_OBJECT *, int, FL_Coord, FL_Coord,
26 typedef FormCB<ControlPreamble, FormDB<FD_form_preamble> > base_class;
28 FormPreamble::FormPreamble(ControlPreamble & c)
29 : base_class(c, _("LaTeX preamble"))
33 void FormPreamble::build()
35 dialog_.reset(build_preamble());
37 fl_set_input_return(dialog_->input_preamble, FL_RETURN_CHANGED);
38 fl_set_object_prehandler(dialog_->input_preamble, C_CutandPastePH);
40 // Manage the ok, apply and cancel/close buttons
41 bc().setOK(dialog_->button_ok);
42 bc().setApply(dialog_->button_apply);
43 bc().setCancel(dialog_->button_cancel);
47 void FormPreamble::apply()
49 controller().params() = fl_get_input(dialog_->input_preamble);
53 void FormPreamble::update()
55 fl_set_input(dialog_->input_preamble, controller().params().c_str());