X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetGraphics.h;h=2f0156dfc9adfb0944db8a8027a0c2a29ea23bd2;hb=eb294eadb5e7f22880da399ae082f74567bbfc4e;hp=14a1f9caf791000790cc99bc72424970316c6715;hpb=451e926b847e36b45fdd69cd5d8524d6660306c2;p=lyx.git diff --git a/src/insets/InsetGraphics.h b/src/insets/InsetGraphics.h index 14a1f9caf7..2f0156dfc9 100644 --- a/src/insets/InsetGraphics.h +++ b/src/insets/InsetGraphics.h @@ -13,10 +13,11 @@ #ifndef INSET_GRAPHICS_H #define INSET_GRAPHICS_H -#include #include "Inset.h" #include "InsetGraphicsParams.h" +#include + namespace lyx { class RenderGraphic; @@ -33,7 +34,7 @@ class InsetGraphics : public Inset { public: /// - InsetGraphics(Buffer * buf); + explicit InsetGraphics(Buffer * buf); /// ~InsetGraphics(); @@ -51,64 +52,85 @@ public: bool setParams(InsetGraphicsParams const & params); InsetGraphicsParams getParams() const { return params_;} - -private: /// - InsetGraphics(InsetGraphics const &); + bool clickable(BufferView const &, int, int) const override { return true; } + /// + bool canPaintChange(BufferView const &) const override { return true; } + /// + InsetGraphics * asInsetGraphics() override { return this; } + /// + InsetGraphics const * asInsetGraphics() const override { return this; } /// - bool isLabeled() const { return true; } - void metrics(MetricsInfo &, Dimension &) const; + bool isLabeled() const override { return true; } /// - bool hasSettings() const { return true; } + bool hasSettings() const override { return true; } /// - void write(std::ostream &) const; + void write(std::ostream &) const override; /// - void read(Lexer & lex); + void read(Lexer & lex) override; /** 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(odocstream &, OutputParams const &) const; + void latex(otexstream &, OutputParams const &) const override; /// - int plaintext(odocstream &, OutputParams const &) const; + int plaintext(odocstringstream & ods, OutputParams const & op, + size_t max_length = INT_MAX) const override; /// - int docbook(odocstream &, OutputParams const &) const; + void docbook(XMLStream &, OutputParams const &) const override; /// - docstring xhtml(XHTMLStream & os, OutputParams const &) const; + docstring xhtml(XMLStream & os, OutputParams const &) const override; /** Tell LyX what the latex features you need i.e. what latex packages you need to be included. */ - void validate(LaTeXFeatures & features) const; + void validate(LaTeXFeatures & features) const override; /// returns LyX code associated with the inset. Used for TOC, ...) - InsetCode lyxCode() const { return GRAPHICS_CODE; } + InsetCode lyxCode() const override { return GRAPHICS_CODE; } + /// + docstring layoutName() const override { return from_ascii("Graphics"); } /// Get the inset parameters, used by the GUIndependent dialog. InsetGraphicsParams const & params() const; + + /// + int topOffset(BufferView const *) const override { return 0; } /// - void draw(PainterInfo & pi, int x, int y) const; + int bottomOffset(BufferView const *) const override { return 0; } /// - bool showInsetDialog(BufferView * bv) const; + int leftOffset(BufferView const *) const override { return 0; } + /// + int rightOffset(BufferView const *) const override { return 0; } + + /// + void metrics(MetricsInfo &, Dimension &) const override; + /// + void draw(PainterInfo & pi, int x, int y) const override; + /// + bool showInsetDialog(BufferView * bv) const override; /// void editGraphics(InsetGraphicsParams const &) const; /// - bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; + bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const override; /// - void addToToc(DocIterator const &); + void addToToc(DocIterator const & di, bool output_active, + UpdateType utype, TocBackend & backend) const override; /// - docstring contextMenu(BufferView const & bv, int x, int y) const; - /// Force inset into LTR environment if surroundings are RTL? - bool forceLTR() const { return true; } + std::string contextMenuName() const override; + /// Force inset into LTR environment if surroundings are RTL + bool forceLTR(OutputParams const &) const override { return true; } /// - void doDispatch(Cursor & cur, FuncRequest & cmd); + void doDispatch(Cursor & cur, FuncRequest & cmd) override; /// - Inset * clone() const; + Inset * clone() const override; /// Get the status message, depends on the image loading status. std::string statusMessage() const; + /// Get the output bounding box accounting for raster formats. + void outBoundingBox(graphics::BoundingBox &) const; /// Create the options for the latex command. - std::string createLatexOptions() const; + std::string createLatexOptions(bool const ps) const; /// Create length values for docbook export. docstring toDocbookLength(Length const & len) const; - /// Create the atributes for docbook export. + /// Create the attributes for docbook export. docstring createDocBookAttributes() const; /// Convert the file if needed, and return the location of the file. /// This version is for use with LaTeX-style output. @@ -118,11 +140,19 @@ private: /// \return the new filename, relative to the location of the HTML file, /// or an empty string on error. std::string prepareHTMLFile(OutputParams const & runparams) const; + /// + CtObject getCtObject(OutputParams const &) const override; + +private: + /// + InsetGraphics(InsetGraphics const &); /// InsetGraphicsParams params_; /// holds the entity name that defines the graphics location (SGML). docstring const graphic_label; + /// + docstring toolTip(BufferView const & bv, int x, int y) const override; /// The thing that actually draws the image on LyX's screen. RenderGraphic * graphic_; }; @@ -144,7 +174,7 @@ namespace graphics { void unifyGraphicsGroups(Buffer &, std::string const &); InsetGraphics * getCurrentGraphicsInset(Cursor const &); -} +} // namespace graphics } // namespace lyx