X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetExternal.h;h=fba0e7406bc1254746f534a6bdaca50356096462;hb=55a3dd7b346d29a52ba305a4558e9e380ef50f47;hp=b5adef3d658d72d862a644292ca7ac40095118e0;hpb=75999ba650ec5cb40ae31aae4ea1eb817929d09b;p=lyx.git diff --git a/src/insets/InsetExternal.h b/src/insets/InsetExternal.h index b5adef3d65..fba0e7406b 100644 --- a/src/insets/InsetExternal.h +++ b/src/insets/InsetExternal.h @@ -13,17 +13,14 @@ #define INSET_EXTERNAL_H #include "Inset.h" -#include "ExternalTransforms.h" -#include "EmbeddedFiles.h" + +#include "ExternalTemplate.h" #include "support/FileName.h" -#include "support/Translator.h" #include #include -#include "MailInset.h" - /** No two InsetExternalParams variables can have the same temporary file. * This class has copy-semantics but the copy constructor @@ -47,20 +44,6 @@ private: support::FileName tempname_; }; -/// How is the image to be displayed on the LyX screen? -enum DisplayType { - DefaultDisplay, - MonochromeDisplay, - GrayscaleDisplay, - ColorDisplay, - PreviewDisplay, - NoDisplay -}; - - -/// The translator between the Display enum and corresponding lyx string. -Translator const & displayTranslator(); - } // namespace external @@ -80,9 +63,11 @@ public: std::string const & templatename() const { return templatename_; } /// The external file. - EmbeddedFile filename; - /// How the inset is to be displayed by LyX. - external::DisplayType display; + support::DocFileName filename; + /// If the inset is to be displayed by LyX. + bool display; + /// If the inset is to use the preview mechanism. + PreviewMode preview_mode; /// The scale of the displayed graphic (if shown). unsigned int lyxscale; @@ -108,14 +93,36 @@ class RenderBase; class InsetExternal : public Inset, public boost::signals::trackable { public: - InsetExternal(); + InsetExternal(Buffer *); /// ~InsetExternal(); /// + static void string2params(std::string const &, Buffer const &, + InsetExternalParams &); + /// + static std::string params2string(InsetExternalParams const &, + Buffer const &); + /// + InsetExternalParams const & params() const; + /// + void setParams(InsetExternalParams const &); + /// Update not loaded previews + void updatePreview(); + /// \returns the number of rows (\n's) of generated code. + void latex(otexstream &, OutputParams const &) const; + /// + std::string contextMenuName() const; + /// + bool setMouseHover(BufferView const * bv, bool mouse_hover); + /// + bool clickable(int, int) const { return true; } +private: + /// + InsetExternal(InsetExternal const &); + /// InsetCode lyxCode() const { return EXTERNAL_CODE; } /// - EDITABLE editable() const { return IS_EDITABLE; } - + bool hasSettings() const { return true; } /// void metrics(MetricsInfo &, Dimension &) const; /// @@ -124,45 +131,29 @@ public: void write(std::ostream &) const; /// void read(Lexer & lex); - - /// \returns the number of rows (\n's) of generated code. - int latex(odocstream &, OutputParams const &) const; /// int plaintext(odocstream &, OutputParams const &) const; /// int docbook(odocstream &, OutputParams const &) const; - + /// For now, this does nothing. Someone who knows about this + /// should see what needs doing for XHTML output. + docstring xhtml(XHTMLStream &, OutputParams const &) const; /// Update needed features for this inset. - virtual void validate(LaTeXFeatures & features) const; - + void validate(LaTeXFeatures & features) const; /// - InsetExternalParams const & params() const; - /// - void setParams(InsetExternalParams const &); - /// - void addPreview(graphics::PreviewLoader &) const; + void addPreview(DocIterator const &, graphics::PreviewLoader &) const; /// - void edit(Cursor & cur, bool front, EntryDirection entry_from); + bool showInsetDialog(BufferView * bv) const; /// bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; - /// external file can be embedded - void registerEmbeddedFiles(EmbeddedFileList &) const; - /// - void updateEmbeddedFile(EmbeddedFile const &); - -protected: - InsetExternal(InsetExternal const &); /// void doDispatch(Cursor & cur, FuncRequest & cmd); -private: /// Inset * clone() const { return new InsetExternal(*this); } - /** This method is connected to the graphics loader, so we are * informed when the image has been loaded. */ void statusChanged() const; - /** Slot receiving a signal that the external file has changed * and the preview should be regenerated. */ @@ -172,32 +163,10 @@ private: InsetExternalParams params_; /// The thing that actually draws the image on LyX's screen. boost::scoped_ptr renderer_; -}; - - -class InsetExternalMailer : public MailInset { -public: - /// - InsetExternalMailer(InsetExternal & inset); - /// - virtual Inset & inset() const { return inset_; } - /// - virtual std::string const & name() const { return name_; } - /// - virtual std::string const inset2string(Buffer const &) const; - /// - static void string2params(std::string const &, Buffer const &, - InsetExternalParams &); - /// - static std::string const params2string(InsetExternalParams const &, - Buffer const &); -private: - /// - static std::string const name_; - /// - InsetExternal & inset_; + /// changes color of the button when mouse enters/leaves this inset + mutable std::map mouse_hover_; }; } // namespace lyx -#endif +#endif // INSET_EXTERNAL_H