]> git.lyx.org Git - features.git/blobdiff - src/insets/InsetArgument.h
Make the generation of children's tocs more robust
[features.git] / src / insets / InsetArgument.h
index 274623ab3edb2460ff310f099e6c2bcd4c2a5945..3e200e3b1c173bc1dfbecd74b7b35fe8364f42d3 100644 (file)
@@ -30,8 +30,9 @@ public:
        InsetArgument(Buffer *, std::string const &);
 
        /// Outputting the parameter of a LaTeX command
-       void latexArgument(otexstream &, OutputParams const &,
-                       docstring const&, docstring const &) const;
+       void latexArgument(otexstream & os, OutputParams const & runparams_in,
+                          docstring const & ldelim, docstring const & rdelim,
+                          docstring const & presetarg) const;
 
        std::string name() const { return name_; }
 
@@ -48,7 +49,7 @@ public:
        ///
        void latex(otexstream &, OutputParams const &) const { }
        ///
-       int plaintext(odocstream &, OutputParams const &) const { return 0; }
+       int plaintext(odocstringstream &, OutputParams const &, size_t) const { return 0; }
        ///
        int docbook(odocstream &, OutputParams const &) const { return 0; }
        ///
@@ -62,12 +63,27 @@ public:
        bool neverIndent() const { return true; }
        ///
        std::string contextMenuName() const;
+       ///
+       bool isPassThru() const { return pass_thru_; }
+       ///
+       bool resetFontEdit() const { return false; }
        //@}
        /// \name Public functions inherited from InsetCollapsable class
        //@{
        ///
+       InsetLayout::InsetDecoration decoration() const;
+       ///
+       FontInfo getFont() const;
+       ///
+       FontInfo getLabelfont() const;
+       ///
+       ColorCode labelColor() const;
+       ///
        void setButtonLabel();
        //@}
+       ///
+       void addToToc(DocIterator const & dit, bool output_active,
+                     UpdateType utype, TocBackend & backend) const; //override
 
 private:
        ///
@@ -78,6 +94,22 @@ private:
        docstring labelstring_;
        ///
        docstring tooltip_;
+       ///
+       FontInfo font_;
+       ///
+       FontInfo labelfont_;
+       ///
+       std::string decoration_;
+       /// Are we in a pass-thru context?
+       bool pass_thru_context_;
+       /// Is the argument itself have an explicitly pass-thru?
+       bool pass_thru_local_;
+       /// Effective pass-thru setting (inherited or local)
+       bool pass_thru_;
+       ///
+       docstring pass_thru_chars_;
+       /// The type of Toc this is the caption of, empty otherwise.
+       std::string caption_of_toc_;
 
 protected:
        /// \name Protected functions inherited from Inset class
@@ -88,6 +120,8 @@ protected:
        void doDispatch(Cursor & cur, FuncRequest & cmd);
        ///
        Inset * clone() const { return new InsetArgument(*this); }
+       /// Is the content of this inset part of the immediate (visible) text sequence?
+       bool isPartOfTextSequence() const { return false; }
        //@}
 };