]> git.lyx.org Git - lyx.git/blobdiff - src/graphics/Previews.C
Make enter button work in GTK text dialog
[lyx.git] / src / graphics / Previews.C
index 4121f3e1f3d3b6c246c1f3b4360317338486de48..09dc4a37a24223d3d5e099c653000b79d35107f0 100644 (file)
@@ -1,32 +1,30 @@
-/*
- *  \file Previews.C
- *  Copyright 2002 the LyX Team
- *  Read the file COPYING
+/**
+ * \file Previews.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * \author Angus Leeming <leeming@lyx.org>
+ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS.
  */
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include "Previews.h"
 #include "PreviewLoader.h"
 
 #include "buffer.h"
+#include "insetiterator.h"
 #include "lyxrc.h"
+#include "paragraph.h"
 
 #include "insets/inset.h"
 
-#include "support/LAssert.h"
-
-#include <map>
 
-namespace grfx {
+namespace lyx {
+namespace graphics {
 
-bool Previews::activated()
+LyXRC_PreviewStatus Previews::status()
 {
        return lyxrc.preview;
 }
@@ -39,7 +37,8 @@ Previews & Previews::get()
 }
 
 
-struct Previews::Impl {
+class Previews::Impl {
+public:
        ///
        typedef boost::shared_ptr<PreviewLoader> PreviewLoaderPtr;
        ///
@@ -50,7 +49,7 @@ struct Previews::Impl {
 
 
 Previews::Previews()
-       : pimpl_(new Impl())
+       : pimpl_(new Impl)
 {}
 
 
@@ -58,15 +57,13 @@ Previews::~Previews()
 {}
 
 
-PreviewLoader & Previews::loader(Buffer const * buffer)
+PreviewLoader & Previews::loader(Buffer const & buffer) const
 {
-       lyx::Assert(buffer);
-
-       Impl::CacheType::iterator it = pimpl_->cache.find(buffer);
+       Impl::CacheType::iterator it = pimpl_->cache.find(&buffer);
 
        if (it == pimpl_->cache.end()) {
-               Impl::PreviewLoaderPtr ptr(new PreviewLoader(*buffer));
-               pimpl_->cache[buffer] = ptr;
+               Impl::PreviewLoaderPtr ptr(new PreviewLoader(buffer));
+               pimpl_->cache[&buffer] = ptr;
                return *ptr.get();
        }
 
@@ -74,32 +71,28 @@ PreviewLoader & Previews::loader(Buffer const * buffer)
 }
 
 
-void Previews::removeLoader(Buffer const * buffer)
+void Previews::removeLoader(Buffer const & buffer) const
 {
-       if (!buffer)
-               return;
-
-       Impl::CacheType::iterator it = pimpl_->cache.find(buffer);
+       Impl::CacheType::iterator it = pimpl_->cache.find(&buffer);
 
        if (it != pimpl_->cache.end())
                pimpl_->cache.erase(it);
 }
 
 
-void Previews::generateBufferPreviews(Buffer const & buffer)
+void Previews::generateBufferPreviews(Buffer const & buffer) const
 {
-       PreviewLoader & ploader = loader(&buffer);
+       PreviewLoader & ploader = loader(buffer);
 
-       Buffer::inset_iterator it  = buffer.inset_const_iterator_begin();
-       Buffer::inset_iterator end = buffer.inset_const_iterator_end();
+       InsetBase & inset = buffer.inset();
+       InsetIterator it = inset_iterator_begin(inset);
+       InsetIterator const end = inset_iterator_end(inset);
 
-       for (; it != end; ++it) {
-               if ((*it)->lyxCode() == Inset::MATH_CODE) {
-                       (*it)->generatePreview(ploader);
-               }
-       }
+       for (; it != end; ++it)
+               it->addPreview(ploader);
 
        ploader.startLoading();
 }
 
-} // namespace grfx
+} // namespace graphics
+} // namespace lyx