]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetExternal.h
Added inset-select-all to emacs bindings
[lyx.git] / src / insets / InsetExternal.h
index 22c909b0e27b1d62afd176c3447124794c62ad5e..a6167b5dd901d46c19b4611014112736313ac96c 100644 (file)
 #define INSET_EXTERNAL_H
 
 #include "Inset.h"
+
 #include "ExternalTemplate.h"
-#include "ExternalTransforms.h"
 
 #include "support/FileName.h"
-#include "support/Translator.h"
 
 #include <boost/scoped_ptr.hpp>
 #include <boost/signals/trackable.hpp>
  */
 namespace lyx {
 
+namespace support {
+class TempFile;
+}
+
 namespace external {
 
 class TempName {
@@ -40,9 +43,9 @@ public:
        TempName(TempName const &);
        ~TempName();
        TempName & operator=(TempName const &);
-       support::FileName const & operator()() const { return tempname_; }
+       support::FileName operator()() const;
 private:
-       support::FileName tempname_;
+       support::TempFile * tempfile_;
 };
 
 } // namespace external
@@ -57,7 +60,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 &);
@@ -110,10 +113,13 @@ public:
        /// Update not loaded previews
        void updatePreview();
        /// \returns the number of rows (\n's) of generated code.
-       int latex(odocstream &, OutputParams const &) const;
+       void latex(otexstream &, OutputParams const &) const;
        ///
-       docstring contextMenu(BufferView const & bv, int x, int y) const;
-
+       std::string contextMenuName() const;
+       ///
+       bool setMouseHover(BufferView const * bv, bool mouse_hover) const;
+       ///
+       bool clickable(int, int) const { return true; }
 private:
        ///
        InsetExternal(InsetExternal const &);
@@ -130,7 +136,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
@@ -161,6 +168,8 @@ private:
        InsetExternalParams params_;
        /// The thing that actually draws the image on LyX's screen.
        boost::scoped_ptr<RenderBase> renderer_;
+       /// changes color of the button when mouse enters/leaves this inset
+       mutable std::map<BufferView const *, bool> mouse_hover_;
 };
 
 } // namespace lyx