]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/controllers/ControlCitation.h
Add a buffer_path arg to InsetGraphicsMailer's params2string, string2params.
[lyx.git] / src / frontends / controllers / ControlCitation.h
index a42cb6b05763c1036988232eadbac422586a4ba4..2d30c54a70f92d50e1120a4fa8fc17c326451554 100644 (file)
@@ -1,45 +1,57 @@
-/* This file is part of
- * ====================================================== 
- *
- *           LyX, The Document Processor
- *
- *           Copyright 2001 The LyX Team.
+// -*- C++ -*-
+/**
+ * \file ControlCitation.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * ======================================================
+ * \author Angus Leeming
  *
- * \file ControlCitation.h
- * \author Angus Leeming <a.leeming@ic.ac.uk>
+ * Full author contact details are available in file CREDITS
  */
 
 #ifndef CONTROLCITATION_H
 #define CONTROLCITATION_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
 
 #include "ControlCommand.h"
 #include "biblio.h" // biblio::InfoMap
 
 /** A controller for Citation dialogs.
  */
-class ControlCitation : public ControlCommand
-{
+class ControlCitation : public ControlCommand {
 public:
        ///
-       ControlCitation(LyXView &, Dialogs &);
+       ControlCitation(Dialog &);
+
+       ///
+       virtual bool initialiseParams(string const & data);
+       /// clean-up on hide.
+       virtual void clearParams();
+
+       /** Disconnect from the inset when the Apply button is pressed.
+        *  Allows easy insertion of multiple citations.
+        */
+       virtual bool disconnectOnApply() const { return true; }
 
        /// Returns a reference to the map of stored keys
        biblio::InfoMap const & bibkeysInfo() const;
 
+       ///
+       bool usingNatbib() const;
+       /// Possible citations based on this key
+       std::vector<string> const getCiteStrings(string const & key) const;
+
+       /// available CiteStyle-s (depends on availability of Natbib
+       static std::vector<biblio::CiteStyle> const & getCiteStyles() {
+               return citeStyles_;
+       }
 private:
-       /// create the InfoMap of keys and data
-       virtual void setDaughterParams();
-       /// 
-       virtual void clearDaughterParams();
-
        /// The info associated with each key
        biblio::InfoMap bibkeysInfo_;
+
+       ///
+       static std::vector<biblio::CiteStyle> citeStyles_;
 };
 
+
 #endif // CONTROLCITATION_H