X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetQuotes.h;h=13bd8ea1249cbd9878c653b1c2b36bceea77ea3b;hb=2660df9b99b8059856b931c22f53ee8f714a1d8e;hp=5bc7f392696eeb72f4dbd4e561e9689af418201f;hpb=efc0877f8fd33ad9369d06e5b638037c8d6a1b24;p=lyx.git diff --git a/src/insets/InsetQuotes.h b/src/insets/InsetQuotes.h index 5bc7f39269..13bd8ea124 100644 --- a/src/insets/InsetQuotes.h +++ b/src/insets/InsetQuotes.h @@ -15,63 +15,71 @@ #include "Inset.h" -#include "support/docstring.h" +#include namespace lyx { +/// +enum class QuoteStyle : int { + /// + English, + /// + Swedish, + /// + German, + /// + Polish, + /// + Swiss, + /// + Danish, + /// + Plain, + /// + British, + /// + SwedishG, + /// + French, + /// + FrenchIN, + /// + Russian, + /// + CJK, + /// + CJKAngle, + /// + Hungarian, + /// + Hebrew, + /// + Dynamic +}; + +/// +enum class QuoteSide : int { + /// + Opening, + /// + Closing +}; + +/// +enum class QuoteLevel : int { + /// + Secondary, + /// + Primary +}; + + /** Quotes. Used for the various quotes. German, English, French, all either double or single **/ class InsetQuotesParams { public: - /// - enum QuoteStyle { - /// - EnglishQuotes, - /// - SwedishQuotes, - /// - GermanQuotes, - /// - PolishQuotes, - /// - SwissQuotes, - /// - DanishQuotes, - /// - PlainQuotes, - /// - BritishQuotes, - /// - SwedishGQuotes, - /// - FrenchQuotes, - /// - FrenchINQuotes, - /// - RussianQuotes, - /// - CJKQuotes, - /// - CJKAngleQuotes, - /// - DynamicQuotes - }; - /// - enum QuoteSide { - /// - OpeningQuote, - /// - ClosingQuote - }; - /// - enum QuoteLevel { - /// - SecondaryQuotes, - /// - PrimaryQuotes - }; /// Returns the unicode character of a given quote char_type getQuoteChar(QuoteStyle const &, QuoteLevel const &, QuoteSide const &, bool const rtl = false) const; @@ -81,14 +89,12 @@ public: docstring getLaTeXQuote(char_type c, std::string const &, bool const rtl = false) const; /// - docstring getHTMLQuote(char_type c) const; - /// docstring getXMLQuote(char_type c) const; /// Returns a descriptive label of a style suitable for dialog and menu docstring const getGuiLabel(QuoteStyle const & qs, - bool langdef = false); + bool langdef = false) const; /// Returns a descriptive label of a given char - docstring const getShortGuiLabel(docstring const & str); + docstring const getShortGuiLabel(docstring const & str) const; /// int stylescount() const; /// Returns the matching style shortcut char @@ -96,15 +102,15 @@ public: /// Returns the quote style from the shortcut string QuoteStyle getQuoteStyle(std::string const & s, bool const allow_wildcards = false, - QuoteStyle fallback = EnglishQuotes); + QuoteStyle fallback = QuoteStyle::English) const; /// Returns the quote sind from the shortcut string QuoteSide getQuoteSide(std::string const & s, bool const allow_wildcards = false, - QuoteSide fallback = OpeningQuote); + QuoteSide fallback = QuoteSide::Opening) const; /// Returns the quote level from the shortcut string QuoteLevel getQuoteLevel(std::string const & s, bool const allow_wildcards = false, - QuoteLevel fallback = PrimaryQuotes); + QuoteLevel fallback = QuoteLevel::Primary) const; }; /// @@ -125,7 +131,7 @@ public: */ explicit InsetQuotes(Buffer * buf, std::string const & str = "eld"); /// Direct access to inner/outer quotation marks - InsetQuotes(Buffer * buf, char_type c, InsetQuotesParams::QuoteLevel level, + InsetQuotes(Buffer * buf, char_type c, QuoteLevel level, std::string const & side = std::string(), std::string const & style = std::string()); /// @@ -137,7 +143,7 @@ public: /// void write(std::ostream &) const override; /// - void read(Lexer & lex) override; + void read(support::Lexer & lex) override; /// bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const override; /// @@ -150,6 +156,8 @@ public: /// docstring xhtml(XMLStream &, OutputParams const &) const override; + /// + bool findUsesToString() const override { return true; } /// void toString(odocstream &) const override; /// @@ -169,6 +177,8 @@ public: /// Returns the current quote type std::string getType() const; + /// + std::pair isWords() const override; private: /// @@ -182,30 +192,28 @@ private: /// docstring displayString() const; /// - docstring getQuoteEntity(bool isHTML) const; + docstring getQuoteXMLEntity() const; /// - InsetQuotesParams::QuoteStyle getStyle(std::string const &); + QuoteStyle getStyle(std::string const &); /// - InsetQuotesParams::QuoteStyle style_; + QuoteStyle style_ = QuoteStyle::English; /// - InsetQuotesParams::QuoteSide side_; + QuoteSide side_ = QuoteSide::Opening; /// - InsetQuotesParams::QuoteLevel level_; + QuoteLevel level_ = QuoteLevel::Primary; /// - InsetQuotesParams::QuoteStyle global_style_; - /// Current font encoding - std::string fontenc_; + QuoteStyle global_style_ = QuoteStyle::English; /// Code of the contextual language std::string context_lang_; /// Is this in a pass-thru context? - bool pass_thru_; + bool pass_thru_ = false; /// Do we use fontspec? - bool fontspec_; + bool fontspec_ = false; /// Do we have an internal font encoding? - bool internal_fontenc_; + bool internal_fontenc_ = false; /// Are we writing RTL? - bool rtl_; + bool rtl_ = false; /// friend class InsetQuotesParams;