X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetExternal.h;h=497f1c653a7fa71846f95ee86c7d69124d0dadad;hb=e4c46abeb7385960c9dd42494e3c7c1f3e699b56;hp=2e28c6115a974eb9f8b29eb4a20741005e686e5c;hpb=1ef605f6254ef3f3b8cec5440a2e67e6f23a707b;p=lyx.git diff --git a/src/insets/InsetExternal.h b/src/insets/InsetExternal.h index 2e28c6115a..497f1c653a 100644 --- a/src/insets/InsetExternal.h +++ b/src/insets/InsetExternal.h @@ -17,11 +17,15 @@ #include "ExternalTemplate.h" #include "support/FileName.h" +#include "support/unique_ptr.h" -#include -#include +#include +namespace lyx { + +namespace external { + /** No two InsetExternalParams variables can have the same temporary file. * This class has copy-semantics but the copy constructor * and assignment operator simply call the default constructor. @@ -29,17 +33,13 @@ * copy constructor and assignment operator for the * InsetExternalParams class. */ -namespace lyx { - -namespace external { - class TempName { public: TempName(); TempName(TempName const &); ~TempName(); TempName & operator=(TempName const &); - support::FileName const & operator()() const { return tempname_; } + support::FileName operator()() const; private: support::FileName tempname_; }; @@ -56,7 +56,7 @@ public: bool read(Buffer const &, Lexer &); /// The name of the tempfile used for manipulations. - support::FileName const & tempname() const { return tempname_(); } + support::FileName tempname() const { return tempname_(); } /// The template currently in use. void settemplate(std::string const &); @@ -90,8 +90,11 @@ private: class RenderBase; /// -class InsetExternal : public Inset, public boost::signals::trackable +class InsetExternal : public Inset, public boost::signals2::trackable { + // Disable assignment operator, since it is not used, and it is too + // complicated to implement it consistently with the copy constructor + InsetExternal & operator=(InsetExternal const &); public: InsetExternal(Buffer *); /// @@ -109,13 +112,16 @@ public: /// Update not loaded previews void updatePreview(); /// \returns the number of rows (\n's) of generated code. - int latex(otexstream &, OutputParams const &) const; + void latex(otexstream &, OutputParams const &) const; + /// + std::string contextMenuName() const; /// - docstring contextMenuName() const; + bool setMouseHover(BufferView const * bv, bool mouse_hover) const; /// - bool setMouseHover(BufferView const * bv, bool mouse_hover); + bool clickable(BufferView const &, int, int) const { return true; } /// - bool clickable(int, int) const { return true; } + void addToToc(DocIterator const & di, bool output_active, + UpdateType utype) const; private: /// InsetExternal(InsetExternal const &); @@ -132,7 +138,8 @@ private: /// void read(Lexer & lex); /// - int plaintext(odocstream &, OutputParams const &) const; + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) const; /// int docbook(odocstream &, OutputParams const &) const; /// For now, this does nothing. Someone who knows about this @@ -162,7 +169,7 @@ private: /// The current params InsetExternalParams params_; /// The thing that actually draws the image on LyX's screen. - boost::scoped_ptr renderer_; + unique_ptr renderer_; /// changes color of the button when mouse enters/leaves this inset mutable std::map mouse_hover_; };