]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetInclude.h
* src/paragraph_funcs.cpp (breakParagraph): change parameter 'flag' to
[lyx.git] / src / insets / InsetInclude.h
index 873521592e0029eba0bd483603bfa28f6162321b..dcdcb82f6ce2d01536e8c99340786ab50f4bfbcb 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"
 
@@ -38,7 +40,7 @@ public:
        ~InsetInclude();
 
        /// Override these InsetButton methods if Previewing
-       bool metrics(MetricsInfo & mi, Dimension & dim) const;
+       void metrics(MetricsInfo & mi, Dimension & dim) const;
        ///
        void draw(PainterInfo & pi, int x, int y) const;
        ///
@@ -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
@@ -95,20 +99,19 @@ public:
        ///
        void addPreview(graphics::PreviewLoader &) const;
        ///
-       void addToToc(TocList &, Buffer const &, ParConstIterator &) const;
-       ///
-       void updateLabels(Buffer const & buffer) const;
+       void addToToc(TocList &, Buffer const &, ParConstIterator const &) const;
        ///
        bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
-       /// if this inset contains lstinputlisting and has a caption,
-       /// update internal counter and passed counter
-       void updateCounter(Counters & counters);
+       ///
+       void updateLabels(Buffer const & buffer, ParIterator const &);
+       /// child document can be embedded
+       void registerEmbeddedFiles(Buffer const &, EmbeddedFiles &) 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.
@@ -137,7 +140,7 @@ private:
        /// cache
        mutable bool set_label_;
        mutable RenderButton button_;
-       int counter_;
+       mutable docstring listings_label_;
 };
 
 
@@ -162,6 +165,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