X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFormat.h;h=d1d6d74183cf8c78b8fb26c4fdaadc298308d3b0;hb=5be391b274f2cbf4a1da03bc5ee2136cb6c4e660;hp=07c081bf71a08b22d45c2bc16c766e2862521f9b;hpb=cb0a4c6639f5901b3d1d76900e44195347037a34;p=lyx.git diff --git a/src/Format.h b/src/Format.h index 07c081bf71..d1d6d74183 100644 --- a/src/Format.h +++ b/src/Format.h @@ -12,12 +12,11 @@ #ifndef FORMAT_H #define FORMAT_H -#include "support/docstring.h" +#include "support/strfwd.h" #include "support/trivstring.h" -#include "OutputParams.h" - #include +#include namespace lyx { @@ -25,6 +24,8 @@ namespace support { class FileName; } class Buffer; +enum class Flavor : int; + class Format { public: /// Flags for some format properties @@ -39,7 +40,9 @@ public: /// This format should appear in the File > Export menu export_menu = 4, /// This may be a compressed file but doesn't need decompression - zipped_native = 8 + zipped_native = 8, + /// This format should not appear in a menu at all + no_menu = 16 }; /// Format(std::string const & n, std::string const & e, docstring const & p, @@ -96,6 +99,8 @@ public: /// bool inExportMenu() const { return flags_ & export_menu; } /// + bool noMenu() const { return flags_ & no_menu; } + /// bool zippedNative() const { return flags_ & zipped_native; } /// static bool formatSorter(Format const * lhs, Format const * rhs); @@ -143,11 +148,13 @@ public: /// typedef FormatList::const_iterator const_iterator; /// - Format const & get(FormatList::size_type i) const { return formatlist[i]; } + Format const & get(FormatList::size_type i) const { return formatlist_[i]; } /// - Format & get(FormatList::size_type i) { return formatlist[i]; } + Format & get(FormatList::size_type i) { return formatlist_[i]; } /// \returns format named \p name if it exists, otherwise 0 Format const * getFormat(std::string const & name) const; + /// \returns format named \p name if it exists, otherwise 0 + Format * getFormat(std::string const & name); /*! * Get the format of \p filename from file contents or, if this * fails, from file extension. @@ -200,27 +207,30 @@ public: /// std::string const extensions(std::string const & name) const; /// - const_iterator begin() const { return formatlist.begin(); } + const_iterator begin() const { return formatlist_.begin(); } /// - const_iterator end() const { return formatlist.end(); } + const_iterator end() const { return formatlist_.end(); } /// - bool empty() const { return formatlist.empty(); } + bool empty() const { return formatlist_.empty(); } /// - FormatList::size_type size() const { return formatlist.size(); } + FormatList::size_type size() const { return formatlist_.size(); } private: /// - FormatList formatlist; + FormatList formatlist_; }; /// -std::string flavor2format(OutputParams::FLAVOR flavor); +std::string flavor2format(Flavor flavor); // Not currently used. -// OutputParams::FLAVOR format2flavor(std::string fmt); - -extern Formats formats; +// Flavor format2flavor(std::string fmt); -extern Formats system_formats; +/// The global instance. +/// Implementation is in LyX.cpp. +extern Formats & theFormats(); +/// The global copy after reading lyxrc.defaults. +/// Implementation is in LyX.cpp. +extern Formats & theSystemFormats(); } // namespace lyx