From: Juergen Spitzmueller Date: Sat, 7 Jan 2017 15:46:00 +0000 (+0100) Subject: Add CiteItem class X-Git-Tag: 2.3.0alpha1~515 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2f1d1a60ac43f87cee754e1aa3cacd485ec45477;p=features.git Add CiteItem class This will be used to transfer any single-cite related information from anywhere to BiblioInfo (instead of the many strings and bools we use until now). This is a prerequisite for some forthcoming fixes and enhancements. --- diff --git a/src/Citation.h b/src/Citation.h index fed47a5aef..c48e3c432b 100644 --- a/src/Citation.h +++ b/src/Citation.h @@ -12,6 +12,7 @@ #ifndef CITATION_H #define CITATION_H +#include "support/docstring.h" #include namespace lyx { @@ -51,6 +52,44 @@ public: bool textBefore; }; + +/** + * Class for storing information about a given citation item in a given context. + * This is used in the label and menu string generation process. + */ +class CiteItem +{ +public: + /// The context this citation is displayed + enum CiteContext{ + Everywhere, + Dialog, + Export + }; + /// + CiteItem() : forceUpperCase(false), Starred(false), + context(CiteItem::Everywhere), textAfter(docstring()), + textBefore(docstring()), max_size(128), max_key_size(128), + richtext(false) {} + /// requests upper casing author prefixes (van -> Van) + bool forceUpperCase; + /// is starred version (full author list by default) + bool Starred; + /// where this to be displayed? + CiteItem::CiteContext context; + /// text after the citation + docstring textAfter; + /// text before the citation + docstring textBefore; + /// the maximum display size as a label + size_t max_size; + /// the maximum size of the processed keys + /// (limited for performance reasons) + size_t max_key_size; + /// output richtext information? + bool richtext; +}; + } // namespace lyx #endif