-#include "support/filetools.h"
-
-using std::ostream;
-using std::endl;
-
-extern BufferView * current_view;
-
-FD_citation_form * citation_form = 0;
-FD_bibitem_form * bibitem_form = 0;
-static Combox * bibcombox = 0;
-
-void BibitemUpdate(Combox *);
-FD_citation_form * create_form_citation_form(void);
-FD_bibitem_form * create_form_bibitem_form(void);
-
-
-extern "C" void bibitem_cb(FL_OBJECT *, long data)
-{
- switch (data) {
- case 1: // OK, citation
- {
- InsetCitation::Holder * holder =
- static_cast<InsetCitation::Holder*>
- (citation_form->citation_form->u_vdata);
- if(!holder->view->buffer()->isReadonly()) {
-
- InsetCitation * inset = holder->inset;
- inset->setContents(bibcombox->getline());
- inset->setOptions(fl_get_input(citation_form->label));
- fl_hide_form(citation_form->citation_form);
- // shouldn't mark the buffer dirty unless something
- // was actually altered
- holder->view->updateInset(inset, true);
- break;
- }
- // fall through to Cancel on RO-mode
- }
- case 0: fl_hide_form(citation_form->citation_form);
- break;
- case 3: // OK, bibitem
- {
- InsetBibKey::Holder * holder =
- static_cast<InsetBibKey::Holder*>
- (bibitem_form->bibitem_form->u_vdata);
-
- if(!holder->view->buffer()->isReadonly()) {
- InsetBibKey * inset = holder->inset;
- inset->setContents(fl_get_input(bibitem_form->key));
- inset->setOptions(fl_get_input(bibitem_form->label));
- fl_hide_form(bibitem_form->bibitem_form);
- // Does look like a hack? It is! (but will change at 0.13)
- holder->view->text->RedoParagraph();
- holder->view->update(1);
- break;
- } // fall through to Cancel on RO-mode
- }
- case 2: // Cancel, bibitem
- fl_hide_form(bibitem_form->bibitem_form); // Cancel, bibitem
- break;
- }
-}
-
-
-FD_citation_form * create_form_citation_form(void)
-{
- FL_OBJECT * obj;
- FD_citation_form * fdui = (FD_citation_form *) fl_calloc(1, sizeof(FD_citation_form));
-
- fdui->citation_form = fl_bgn_form(FL_NO_BOX, 220, 130);
- obj = fl_add_box(FL_UP_BOX, 0, 0, 220, 130, "");
- fdui->key = obj = fl_add_text(FL_NORMAL_TEXT, 20, 10, 60, 30, _("Key:"));
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- fl_set_object_lalign(obj, FL_ALIGN_RIGHT);
-
- bibcombox = new Combox(FL_COMBOX_INPUT);
- bibcombox->add(80, 10, 130, 30, 300);
-
- obj = fl_add_button(FL_RETURN_BUTTON, 20, 90, 90, 30, _("OK"));
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- fl_set_object_callback(obj, bibitem_cb, 1);
- obj = fl_add_button(FL_NORMAL_BUTTON, 120, 90, 90, 30, idex(_("Cancel|^[")));
- fl_set_button_shortcut(obj, scex(_("Cancel|^[")), 1);
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- fl_set_object_callback(obj, bibitem_cb, 0);
- fdui->label = obj = fl_add_input(FL_NORMAL_INPUT, 80, 50, 130, 30, idex(_("Remark:|#R")));
- fl_set_input_shortcut(obj, scex(_("Remark:|#R")), 1);
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- fl_end_form();
-
- //fdui->citation_form->fdui = fdui;
-
- return fdui;
-}
-/*---------------------------------------*/
-
-FD_bibitem_form * create_form_bibitem_form(void)
-{
- FL_OBJECT * obj;
- FD_bibitem_form * fdui = (FD_bibitem_form *) fl_calloc(1, sizeof(FD_bibitem_form));
-
- fdui->bibitem_form = fl_bgn_form(FL_NO_BOX, 220, 130);
- obj = fl_add_box(FL_UP_BOX, 0, 0, 220, 130, "");
- fdui->key = obj = fl_add_input(FL_NORMAL_INPUT, 80, 10, 130, 30, idex(_("Key:|#K")));
- fl_set_input_shortcut(obj, scex(_("Key:|#K")), 1);
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- obj = fl_add_button(FL_RETURN_BUTTON, 20, 90, 90, 30, _("OK"));
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- fl_set_object_callback(obj, bibitem_cb, 3);
- obj = fl_add_button(FL_NORMAL_BUTTON, 120, 90, 90, 30, idex(_("Cancel|^[")));
- fl_set_button_shortcut(obj, scex(_("Cancel|^[")), 1);
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- fl_set_object_callback(obj, bibitem_cb, 2);
- fdui->label = obj = fl_add_input(FL_NORMAL_INPUT, 80, 50, 130, 30, idex(_("Label:|#L")));
- fl_set_input_shortcut(obj, scex(_("Label:|#L")), 1);
- fl_set_object_lsize(obj, FL_NORMAL_SIZE);
- fl_end_form();
-
- //fdui->bibitem_form->fdui = fdui;
-
- return fdui;
-}
-/*---------------------------------------*/
-
-
-InsetCitation::InsetCitation(string const & key, string const & note)
- : InsetCommand("cite", key, note)
-{
-
-}