// -*- C++ -*-
/**
* \file PreviewedInset.C
- * Copyright 2002 the LyX Team
- * Read the file COPYING
+ * 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
*/
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
#include <config.h>
#include "PreviewedInset.h"
-
-#include "BufferView.h"
-
#include "GraphicsImage.h"
#include "PreviewLoader.h"
#include "PreviewImage.h"
#include "Previews.h"
+#include "buffer.h"
+#include "BufferView.h"
+
+#include "frontends/LyXView.h"
+
+#include "support/lstrings.h"
+
#include <boost/bind.hpp>
+#include "debug.h" // temporary
namespace grfx {
}
+BufferView * PreviewedInset::view() const
+{
+ return inset_.view();
+}
+
+
void PreviewedInset::generatePreview()
{
if (!Previews::activated() || !previewWanted() ||
grfx::Previews & previews = grfx::Previews::get();
grfx::PreviewLoader & loader = previews.loader(view()->buffer());
addPreview(loader);
- loader.startLoading();
+ if (!snippet_.empty())
+ loader.startLoading();
}
if (!Previews::activated() || !previewWanted())
return;
- snippet_ = latexString();
+ snippet_ = trim(latexString());
+ if (snippet_.empty())
+ return;
pimage_ = ploader.preview(snippet_);
if (pimage_)
}
+void PreviewedInset::removePreview()
+{
+ if (!view() || !view()->buffer() || snippet_.empty())
+ return;
+
+ grfx::Previews & previews = grfx::Previews::get();
+ grfx::PreviewLoader & loader = previews.loader(view()->buffer());
+ loader.remove(snippet_);
+ snippet_.erase();
+ pimage_ = 0;
+}
+
+
bool PreviewedInset::previewReady() const
{
- if (!grfx::Previews::activated() || !previewWanted() ||
+ if (!Previews::activated() || !previewWanted() ||
!view() || !view()->buffer())
return false;
if (!pimage_)
return false;
- return pimage_->image(inset_, *view());
+ return pimage_->image();
}
return;
pimage_ = &pimage;
+
if (view())
view()->updateInset(&inset_, false);
}