]> git.lyx.org Git - lyx.git/blobdiff - src/Citation.h
Update Win installer for new dictionary links. Untested.
[lyx.git] / src / Citation.h
index c48e3c432b1ee7cceb1a0bae15c703dec4c7c080..b7af22b751dac00951265db9d90be3ce43220d34 100644 (file)
 
 #include "support/docstring.h"
 #include <string>
+#include <vector>
 
 namespace lyx {
 
-class Buffer;
-
 
 enum CiteEngineType {
        ENGINE_TYPE_AUTHORYEAR = 1,
@@ -32,7 +31,8 @@ class CitationStyle
 public:
        ///
        CitationStyle() : name("cite"), cmd("cite"), forceUpperCase(false),
-               hasStarredVersion(false), textAfter(false), textBefore(false) {}
+               hasStarredVersion(false), hasQualifiedList(false),
+               textAfter(false), textBefore(false) {}
 
        /// the LyX name
        std::string name;
@@ -46,6 +46,8 @@ public:
        bool forceUpperCase;
        /// starred version (full author list by default)
        bool hasStarredVersion;
+       /// allows for qualified citation lists (a Biblatex feature)
+       bool hasQualifiedList;
        /// supports text after the citation
        bool textAfter;
        /// supports text before the citation
@@ -67,7 +69,7 @@ public:
                Export
        };
        ///
-       CiteItem() : forceUpperCase(false), Starred(false),
+       CiteItem() : forceUpperCase(false), Starred(false), isQualified(false),
                context(CiteItem::Everywhere), textAfter(docstring()),
                textBefore(docstring()), max_size(128), max_key_size(128),
                richtext(false) {}
@@ -75,12 +77,24 @@ public:
        bool forceUpperCase;
        /// is starred version (full author list by default)
        bool Starred;
+       /// is a real qualified list
+       bool isQualified;
        /// where this to be displayed?
        CiteItem::CiteContext context;
        /// text after the citation
        docstring textAfter;
        /// text before the citation
        docstring textBefore;
+       ///
+       typedef std::vector<std::pair<docstring, docstring>> QualifiedList;
+       /// Qualified lists's pre texts
+       QualifiedList pretexts;
+       ///
+       QualifiedList getPretexts() const { return pretexts; }
+       /// Qualified lists's post texts
+       QualifiedList posttexts;
+       ///
+       QualifiedList getPosttexts() const { return posttexts; }
        /// the maximum display size as a label
        size_t max_size;
        /// the maximum size of the processed keys