]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/FormCitation.h
Bugfixes: checkboxes to radiobuttons (from J�rgen S) and remove a little
[lyx.git] / src / frontends / xforms / FormCitation.h
index cf542c1703feef7fe2fae34080fac9c9b9ea1f3f..cef3dc4edb3642dd05b5ea7b8bca26e7569d4305 100644 (file)
@@ -4,9 +4,12 @@
  *
  *           LyX, The Document Processor
  *
- *           Copyright 2000 The LyX Team.
+ *           Copyright 2000-2001 The LyX Team.
  *
  * ======================================================
+ *
+ * \file FormCitation.h
+ * \author Angus Leeming <a.leeming@ic.ac.uk>
  */
 
 #ifndef FORMCITATION_H
 #pragma interface
 #endif
 
-#include "FormCommand.h"
-struct FD_form_citation;
+#include "FormBase.h"
+#include "biblio.h"
 
-/** This class provides an XForms implementation of the FormCitation Dialog.
+/** This class provides an XForms implementation of the Citation Dialog.
  */
-class FormCitation : public FormCommand {
+class ControlCitation;
+struct FD_form_citation;
+
+class FormCitation : public FormCB<ControlCitation, FormDB<FD_form_citation> > {
 public:
+       ///
+       FormCitation(ControlCitation &);
+
+private:
        ///
        enum State {
-               DOWN,
-               UP,
-               DELETE,
-               ADD,
-               BIBBRSR,
-               CITEBRSR,
+               ///
                ON,
+               ///
                OFF
        };
-       /**@name Constructors and Destructors */
-       //@{
-       /// #FormCitation x(LyXFunc ..., Dialogs ...);#
-       FormCitation(LyXView *, Dialogs *);
-       ///
-       ~FormCitation();
-       //@}
 
-private:
-       /// Build the dialog
+       /// Set the Params variable for the Controller.
+       virtual void apply();
+       /// Build the dialog.
        virtual void build();
-       /// Filter the inputs
-       virtual void input( long );
-       /// Update dialog before showing it
+       /// Hide the dialog.
+       virtual void hide();
+       /// Update dialog before/whilst showing it.
        virtual void update();
-       /// Apply from dialog (modify or create inset)
-       virtual void apply();
-       /// delete derived class variables from hide()
-       virtual void clearStore();
-       /// Pointer to the actual instantiation of the xform's form
-       virtual FL_FORM * const form() const;
+       /// Filter the inputs on callback from xforms
+       virtual ButtonPolicy::SMInput input(FL_OBJECT *, long);
+
+       /// Fdesign generated method
+       FD_form_citation * build_citation();
+
+       /// search for a citation
+       void findBiblio(biblio::Direction const dir);
 
        ///
-       void updateBrowser( FL_OBJECT *, std::vector<string> const & ) const;
+       void updateBrowser(FL_OBJECT *, std::vector<string> const &) const;
        ///
-       void setBibButtons( State ) const;
+       void setBibButtons(State) const;
        ///
-       void setCiteButtons( State ) const;
+       void setCiteButtons(State) const;
+
        ///
-       void setSize( int, bool ) const;
+       std::vector<string> citekeys;
        ///
-       FD_form_citation * build_citation();
-
-       /// Real GUI implementation.
-       FD_form_citation * dialog_;
+       std::vector<string> bibkeys;
 };
 
-#endif
+#endif // FORMCITATION_H