// -*- C++ -*-
/**
- * \file Previews.h
+ * \file Previews.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*
- * grfx::Previews is a singleton class that stores the grfx::PreviewLoader
- * for each buffer requiring one.
+ * graphics::Previews is a singleton class that stores the
+ * graphics::PreviewLoader for each buffer requiring one.
*/
#ifndef PREVIEWS_H
#define PREVIEWS_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "LString.h"
-#include <boost/utility.hpp>
-#include <boost/scoped_ptr.hpp>
+namespace lyx {
class Buffer;
+class LyXRC_PreviewStatus;
-namespace grfx {
+namespace graphics {
class PreviewLoader;
-class Previews : boost::noncopyable {
+class Previews {
public:
- /// a wrapper for lyxrc.preview
- static bool activated();
+ /// This should be a singleton class only instanciated in LyX.cpp.
+ Previews() {}
- /// This is a singleton class. Get the instance.
- static Previews & get();
+ /// a wrapper for lyxrc.preview
+ static LyXRC_PreviewStatus status();
/** Returns the PreviewLoader for this buffer.
* Used by individual insets to update their own preview.
- * We assert that (buffer != 0) but do not pass a Buffer &
- * so that insets do not need to #include buffer.h
*/
- PreviewLoader & loader(Buffer const * buffer) const;
+ PreviewLoader & loader(Buffer const & buffer) const;
- /** Called from the Buffer d-tor.
- * If (buffer == 0), does nothing.
- */
- void removeLoader(Buffer const * buffer) const;
+ /// Called from the Buffer d-tor.
+ void removeLoader(Buffer const & buffer) const;
/** For a particular buffer, initiate the generation of previews
- * for each and every snippetof LaTeX that's of interest with
+ * for each and every snippet of LaTeX that's of interest with
* a single forked process.
- * If (buffer == 0), does nothing.
*/
void generateBufferPreviews(Buffer const & buffer) const;
private:
- /** Make the c-tor, d-tor private so we can control how many objects
- * are instantiated.
- */
- Previews();
- ///
- ~Previews();
-
- /// Use the Pimpl idiom to hide the internals.
- class Impl;
- /// The pointer never changes although *pimpl_'s contents may.
- boost::scoped_ptr<Impl> const pimpl_;
+ /// noncopyable
+ Previews(Previews const &);
+ void operator=(Previews const &);
};
-} // namespace grfx
+} // namespace graphics
+
+/// This is a singleton class. Get the instance.
+/// Implemented in LyX.cpp.
+graphics::Previews & thePreviews();
+
+} // namespace lyx
#endif // PREVIEWS_H