3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
6 * \author Angus Leeming
11 #pragma implementation
16 #include "ControlBibtex.h"
17 #include "FormBibtex.h"
18 #include "form_bibtex.h"
22 typedef FormCB<ControlBibtex, FormDB<FD_form_bibtex> > base_class;
24 FormBibtex::FormBibtex(ControlBibtex & c)
25 : base_class(c, _("BibTeX Database"))
29 void FormBibtex::build()
31 dialog_.reset(build_bibtex());
33 fl_set_input_return(dialog_->database, FL_RETURN_CHANGED);
34 fl_set_input_return(dialog_->style, FL_RETURN_CHANGED);
36 // Manage the ok, apply, restore and cancel/close buttons
37 bc().setOK(dialog_->button_ok);
38 bc().setCancel(dialog_->button_cancel);
40 bc().addReadOnly(dialog_->database);
41 bc().addReadOnly(dialog_->style);
45 ButtonPolicy::SMInput FormBibtex::input(FL_OBJECT *, long)
48 if (!compare(fl_get_input(dialog_->database),""))
49 return ButtonPolicy::SMI_NOOP;
51 return ButtonPolicy::SMI_VALID;
55 void FormBibtex::update()
57 fl_set_input(dialog_->database,
58 controller().params().getContents().c_str());
59 fl_set_input(dialog_->style,
60 controller().params().getOptions().c_str());
64 void FormBibtex::apply()
66 controller().params().setContents(fl_get_input(dialog_->database));
67 controller().params().setOptions(fl_get_input(dialog_->style));