X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetgraphics.h;h=60770ef658e671f8619a73b7884c2c7ec129581c;hb=357a3741c0655e174ad48ded68cca90b09a158e6;hp=cc6c4e1aa82fdf10ad05f2c4f9cf4f30be04e26a;hpb=e1940902fe50ec523fe540f6e11f2ee4045cdfac;p=lyx.git diff --git a/src/insets/insetgraphics.h b/src/insets/insetgraphics.h index cc6c4e1aa8..60770ef658 100644 --- a/src/insets/insetgraphics.h +++ b/src/insets/insetgraphics.h @@ -5,58 +5,57 @@ * Licence details can be found in the file COPYING. * * \author Baruch Even - * \author Herbert Voss + * \author Herbert Voß * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef INSET_GRAPHICS_H #define INSET_GRAPHICS_H -#include "insets/inset.h" -#include "insets/insetgraphicsParams.h" +#include "inset.h" +#include "insetgraphicsParams.h" -#include #include +#include class Dialogs; +class RenderGraphic; class LaTeXFeatures; /// -class InsetGraphics : public Inset, public boost::signals::trackable { +class InsetGraphics : public InsetOld, public boost::signals::trackable { public: /// InsetGraphics(); /// - InsetGraphics(InsetGraphics const &, string const & filepath, - bool same_id = false); + InsetGraphics(InsetGraphics const &); /// ~InsetGraphics(); /// - virtual dispatch_result localDispatch(FuncRequest const & cmd); - /// - void dimension(BufferView *, LyXFont const &, Dimension &) const; - /// - void draw(BufferView *, LyXFont const &, int, float &) const; + void metrics(MetricsInfo &, Dimension &) const; /// EDITABLE editable() const; /// - void write(Buffer const *, std::ostream &) const; + void write(Buffer const &, std::ostream &) const; /// - void read(Buffer const *, LyXLex & lex); + void read(Buffer const &, LyXLex & lex); /** returns the number of rows (\n's) of generated tex code. #fragile == true# means, that the inset should take care about fragile commands by adding a #\protect# before. */ - int latex(Buffer const *, std::ostream &, LatexRunParams const &, - bool free_spc) const; + int latex(Buffer const &, std::ostream &, + OutputParams const &) const; /// - int ascii(Buffer const *, std::ostream &, int linelen) const; + int plaintext(Buffer const &, std::ostream &, + OutputParams const &) const; /// - int linuxdoc(Buffer const *, std::ostream &) const; + int linuxdoc(Buffer const &, std::ostream &, + OutputParams const &) const; /// - int docbook(Buffer const *, std::ostream &, bool mixcont) const; + int docbook(Buffer const &, std::ostream &, + OutputParams const &) const; /** Tell LyX what the latex features you need i.e. what latex packages you need to be included. @@ -64,56 +63,52 @@ public: void validate(LaTeXFeatures & features) const; /// returns LyX code associated with the inset. Used for TOC, ...) - Inset::Code lyxCode() const { return Inset::GRAPHICS_CODE; } + InsetOld::Code lyxCode() const { return InsetOld::GRAPHICS_CODE; } /// - virtual Inset * clone(Buffer const &, bool same_id = false) const; + virtual std::auto_ptr clone() const; /** Set the inset parameters, used by the GUIndependent dialog. Return true of new params are different from what was so far. */ - bool setParams(InsetGraphicsParams const & params, - string const & filepath); + bool setParams(InsetGraphicsParams const & params); /// Get the inset parameters, used by the GUIndependent dialog. InsetGraphicsParams const & params() const; - + /// + void draw(PainterInfo & pi, int x, int y) const; + /// + void edit(LCursor & cur, bool left); +protected: + /// + void priv_dispatch(LCursor & cur, FuncRequest const & cmd); private: - /// Returns the cached BufferView. - BufferView * view() const; - /// friend class InsetGraphicsMailer; - /// Is the image ready to draw, or should we display a message instead? - bool imageIsDrawable() const; - - /** This method is connected to cache_->statusChanged, so we are - informed when the image has been loaded. + /** This method is connected to the graphics loader, so we are + * informed when the image has been loaded. */ - void statusChanged(); + void statusChanged() const; /// Read the inset native format - void readInsetGraphics(LyXLex & lex); + void readInsetGraphics(LyXLex & lex, std::string const & bufpath); /// Get the status message, depends on the image loading status. - string const statusMessage() const; + std::string const statusMessage() const; /// Create the options for the latex command. - string const createLatexOptions() const; + std::string const createLatexOptions() const; /// Convert the file if needed, and return the location of the file. - string const prepareFile(Buffer const * buf, LatexRunParams const &) const; + std::string const prepareFile(Buffer const & buf, OutputParams const &) const; /// InsetGraphicsParams params_; /// holds the entity name that defines the graphics location (SGML). - string const graphic_label; + std::string const graphic_label; - /// The cached variables - class Cache; - friend class Cache; - /// The pointer never changes although *cache_'s contents may. - boost::scoped_ptr const cache_; + /// The thing that actually draws the image on LyX's screen. + boost::scoped_ptr const graphic_; }; @@ -126,16 +121,19 @@ public: /// virtual InsetBase & inset() const { return inset_; } /// - virtual string const & name() const { return name_; } + virtual std::string const & name() const { return name_; } /// - virtual string const inset2string() const; + virtual std::string const inset2string(Buffer const &) const; /// - static void string2params(string const &, InsetGraphicsParams &); + static void string2params(std::string const & data, + Buffer const & buffer, + InsetGraphicsParams &); /// - static string const params2string(InsetGraphicsParams const &); + static std::string const params2string(InsetGraphicsParams const &, + Buffer const &); private: /// - static string const name_; + static std::string const name_; /// InsetGraphics & inset_; };