X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetExternal.h;h=75b7f70ffa5f9d2690047422fec1145288552c13;hb=ebc2b1295a0464dde6c20a09ddc249c463a21c79;hp=00546faf80c2e0847a7e21a10ef858bd2cb620eb;hpb=15a5e0f7936650328ea28ef38988cdbb92f62a27;p=lyx.git diff --git a/src/insets/InsetExternal.h b/src/insets/InsetExternal.h index 00546faf80..75b7f70ffa 100644 --- a/src/insets/InsetExternal.h +++ b/src/insets/InsetExternal.h @@ -17,17 +17,11 @@ #include "ExternalTemplate.h" #include "support/FileName.h" - -#include -#include +#include "support/unique_ptr.h" namespace lyx { -namespace support { -class TempFile; -} - namespace external { /** No two InsetExternalParams variables can have the same temporary file. @@ -45,7 +39,7 @@ public: TempName & operator=(TempName const &); support::FileName operator()() const; private: - support::TempFile * tempfile_; + support::FileName tempname_; }; } // namespace external @@ -94,7 +88,7 @@ private: class RenderBase; /// -class InsetExternal : public Inset, public boost::signals::trackable +class InsetExternal : public Inset { // Disable assignment operator, since it is not used, and it is too // complicated to implement it consistently with the copy constructor @@ -114,7 +108,7 @@ public: /// void setParams(InsetExternalParams const &); /// Update not loaded previews - void updatePreview(); + void updatePreview() const; /// \returns the number of rows (\n's) of generated code. void latex(otexstream &, OutputParams const &) const; /// @@ -122,10 +116,10 @@ public: /// bool setMouseHover(BufferView const * bv, bool mouse_hover) const; /// - bool clickable(int, int) const { return true; } + bool clickable(BufferView const &, int, int) const { return true; } /// void addToToc(DocIterator const & di, bool output_active, - UpdateType utype) const; + UpdateType utype, TocBackend & backend) const; private: /// InsetExternal(InsetExternal const &); @@ -169,11 +163,15 @@ private: * and the preview should be regenerated. */ void fileChanged() const; + /// Is this inset using (instant or graphics) preview? + bool isPreviewed() const; + /// Do we have the right renderer (button, graphic or monitored preview)? + bool isRendererValid() const; /// The current params InsetExternalParams params_; /// The thing that actually draws the image on LyX's screen. - boost::scoped_ptr renderer_; + mutable unique_ptr renderer_; /// changes color of the button when mouse enters/leaves this inset mutable std::map mouse_hover_; };