]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetGraphics.h
This should be the last of the commits refactoring the InsetLayout code.
[lyx.git] / src / insets / InsetGraphics.h
index 6671c67904cd8837364a61ce93addb6c4050cf5a..4f216dccc6db9bb08e83e37ede50be6fe4201af2 100644 (file)
 
 namespace lyx {
 
-class Dialogs;
 class RenderGraphic;
 class LaTeXFeatures;
 
 ///
-class InsetGraphics : public InsetOld, public boost::signals::trackable {
+class InsetGraphics : public Inset, public boost::signals::trackable {
 public:
        ///
        InsetGraphics();
        ///
        ~InsetGraphics();
        ///
-       bool metrics(MetricsInfo &, Dimension &) const;
+       void metrics(MetricsInfo &, Dimension &) const;
        ///
        EDITABLE editable() const;
        ///
@@ -48,13 +47,13 @@ public:
         fragile commands by adding a #\protect# before.
         */
        int latex(Buffer const &, odocstream &,
-                 OutputParams const &) const;
+                 OutputParams const &) const;
        ///
        int plaintext(Buffer const &, odocstream &,
-                     OutputParams const &) const;
+                     OutputParams const &) const;
        ///
        int docbook(Buffer const &, odocstream &,
-                   OutputParams const &) const;
+                   OutputParams const &) const;
 
        /** Tell LyX what the latex features you need i.e. what latex packages
            you need to be included.
@@ -62,7 +61,7 @@ public:
        void validate(LaTeXFeatures & features) const;
 
        /// returns LyX code associated with the inset. Used for TOC, ...)
-       InsetBase::Code lyxCode() const { return InsetBase::GRAPHICS_CODE; }
+       InsetCode lyxCode() const { return GRAPHICS_CODE; }
 
        /** Set the inset parameters, used by the GUIndependent dialog.
            Return true of new params are different from what was so far.
@@ -74,11 +73,17 @@ public:
        ///
        void draw(PainterInfo & pi, int x, int y) const;
        ///
-       void edit(Cursor & cur, bool left);
+       void edit(Cursor & cur, bool front, EntryDirection entry_from);
        ///
        void editGraphics(InsetGraphicsParams const &, Buffer const &) const;
        ///
        bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
+       /// all graphics can be embedded
+       void registerEmbeddedFiles(Buffer const &, EmbeddedFileList &) const;
+       ///
+       void updateEmbeddedFile(Buffer const &, EmbeddedFile const &);
+       /// Force inset into LTR environment if surroundings are RTL?
+       virtual bool forceLTR() const { return true; }
 protected:
        InsetGraphics(InsetGraphics const &);
        ///
@@ -86,7 +91,7 @@ protected:
 private:
        friend class InsetGraphicsMailer;
 
-       virtual std::auto_ptr<InsetBase> doClone() const;
+       virtual Inset * clone() const;
 
        /// Read the inset native format
        void readInsetGraphics(Lexer & lex, std::string const & bufpath);
@@ -118,7 +123,7 @@ public:
        ///
        InsetGraphicsMailer(InsetGraphics & inset);
        ///
-       virtual InsetBase & inset() const { return inset_; }
+       virtual Inset & inset() const { return inset_; }
        ///
        virtual std::string const & name() const { return name_; }
        ///