X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fbufferparams.h;h=5951f830114577da9f71f54bc626453634044ba7;hb=65ca7003ba47b7348610393a9a0d2d309b4e9702;hp=c28025658afd2d0b496e73e6d969996b1d95d3e2;hpb=44cd0fc9a1687cc63911c7f98d978594458e7813;p=lyx.git diff --git a/src/bufferparams.h b/src/bufferparams.h index c28025658a..5951f83011 100644 --- a/src/bufferparams.h +++ b/src/bufferparams.h @@ -34,7 +34,28 @@ class LatexFeatures; class Spacing; class TexRow; class VSpace; -struct Language; +class Language; + + +namespace lyx { +namespace biblio { + +enum CiteEngine { + ENGINE_BASIC, + ENGINE_NATBIB_AUTHORYEAR, + ENGINE_NATBIB_NUMERICAL, + ENGINE_JURABIB +}; + +class CiteEngine_enum { + CiteEngine val_; +public: + CiteEngine_enum(CiteEngine val) : val_(val) {} + operator CiteEngine() const{ return val_; } +}; + +} // namespace biblio +} // namespace lyx /** Buffer parameters. @@ -67,9 +88,6 @@ public: */ bool writeLaTeX(std::ostream &, LaTeXFeatures &, TexRow &) const; - /// - void setPaperStuff(); - /// void useClassDefaults(); @@ -97,16 +115,15 @@ public: /// LyXTextClass const & getLyXTextClass() const; + /// returns the main font for the buffer (document) + LyXFont const getFont() const; + /* this are for the PaperLayout */ - /// the general papersize (papersize2 or paperpackage + /// the papersize PAPER_SIZE papersize; - /// the selected Geometry papersize - VMARGIN_PAPER_TYPE papersize2; - /// a special paperpackage .sty-file - PAPER_PACKAGES paperpackage; /// PAPER_ORIENTATION orientation; - /// + /// use custom margins bool use_geometry; /// std::string paperwidth; @@ -170,6 +187,10 @@ public: void readLanguage(LyXLex &); /// void readGraphicsDriver(LyXLex &); + /// + void readBullets(LyXLex &); + /// + void readBulletsLaTeX(LyXLex &); /// use AMS package, not, or auto enum AMS { @@ -179,11 +200,19 @@ public: }; AMS use_amsmath; /// - bool use_natbib; + lyx::biblio::CiteEngine cite_engine; /// - bool use_numerical_citations; + bool use_bibtopic; /// revision tracking for this buffer ? bool tracking_changes; + /** This param decides if change tracking marks should be output + * (using the dvipost package) or if the current "state" of the + * document should be output instead. Since dvipost needs dvi + * specials, it only works with dvi/ps output (the param will be + * ignored with other output flavors and disabled when dbipost is + * not installed). + */ + bool output_changes; /// Time ago we agreed that this was a buffer property [ale990407] std::string parentname; /// @@ -199,13 +228,16 @@ public: std::string const dvips_options() const; /// std::string const paperSizeName() const; + /// + std::string const babelCall(std::string const & lang_opts) const; private: /** Use the Pimpl idiom to hide those member variables that would otherwise * drag in other header files. */ class Impl; - struct MemoryTraits { + class MemoryTraits { + public: static Impl * clone(Impl const *); static void destroy(Impl *); };