2 /* This file is part of
3 * ======================================================
5 * LyX, The Document Processor
7 * Copyright 2000 The LyX Team.
9 * ======================================================
12 #ifndef FORMCITATION_H
13 #define FORMCITATION_H
19 #include "FormInset.h"
20 struct FD_form_citation;
22 /** This class provides an XForms implementation of the FormCitation Dialog.
24 class FormCitation : public FormCommand {
27 FormCitation(LyXView *, Dialogs *);
37 /// Connect signals etc. Set form's max size.
38 virtual void connect();
39 /// Disconnect signals. Also perform any necessary housekeeping.
40 virtual void disconnect();
45 virtual bool input(FL_OBJECT *, long);
46 /// Update dialog before showing it
47 virtual void update();
48 /// Apply from dialog (modify or create inset)
50 /// Pointer to the actual instantiation of the xforms form
51 virtual FL_FORM * form() const;
54 void updateBrowser(FL_OBJECT *, std::vector<string> const &) const;
56 void setBibButtons(State) const;
58 void setCiteButtons(State) const;
60 void setSize(int, bool) const;
61 /// Type definition from the fdesign produced header file.
62 FD_form_citation * build_citation();
64 /// Real GUI implementation.
65 FD_form_citation * dialog_;
67 std::vector<string> citekeys;
69 std::vector<string> bibkeys;
71 std::vector<string> bibkeysInfo;