]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetInclude.h
Fix text frame drawing.
[lyx.git] / src / insets / InsetInclude.h
index 2f834d4aa6e78a90f546e3e61bdd549f3ef2c21b..41d11ab12663a616ed7c4cd8951e6b0a947818b4 100644 (file)
 #ifndef INSET_INCLUDE_H
 #define INSET_INCLUDE_H
 
+#include "BiblioInfo.h"
 #include "Inset.h"
 #include "InsetCommandParams.h"
 #include "RenderButton.h"
 #include "MailInset.h"
 #include "Counters.h"
+#include "EmbeddedFiles.h"
 
 #include "support/FileName.h"
 
@@ -58,9 +60,11 @@ public:
        /** Fills \c keys
         *  \param buffer the Buffer containing this inset.
         *  \param keys the list of bibkeys in the child buffer.
+        *  \param it not used here
         */
-       void fillWithBibKeys(Buffer const & buffer,
-               std::vector<std::pair<std::string, docstring> > & keys) const;
+       virtual void fillWithBibKeys(Buffer const & buffer,
+               BiblioInfo & keys, InsetIterator const & it) const;
+       
        /** Update the cache with all bibfiles in use of the child buffer
         *  (including bibfiles of grandchild documents).
         *  Does nothing if the child document is not loaded to prevent
@@ -99,13 +103,16 @@ public:
        ///
        bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
        ///
-       void updateLabels(Buffer const & buffer, ParIterator const &) const;
+       void updateLabels(Buffer const & buffer, ParIterator const &);
+       /// child document can be embedded
+       void registerEmbeddedFiles(Buffer const &, EmbeddedFiles &,
+                       ParConstIterator const &) const;
 protected:
        InsetInclude(InsetInclude const &);
        ///
        virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
 private:
-       virtual std::auto_ptr<Inset> doClone() const;
+       virtual Inset * clone() const;
 
        /** Slot receiving a signal that the external file has changed
         *  and the preview should be regenerated.
@@ -159,6 +166,8 @@ private:
        InsetInclude & inset_;
 };
 
+/// return loaded Buffer or zero if the file loading did not proceed.
+Buffer * loadIfNeeded(Buffer const & parent, InsetCommandParams const & params);
 
 } // namespace lyx