]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetIPA.cpp
Get rid of Qt resources
[lyx.git] / src / insets / InsetIPA.cpp
index 8bc3d46eecc2aad15dc68f9a740777bf65882e59..ac2b7d8422a11fe540784956c3edfaefc662935f 100644 (file)
@@ -22,6 +22,7 @@
 #include "MetricsInfo.h"
 #include "OutputParams.h"
 #include "RenderPreview.h"
+#include "texstream.h"
 
 #include "frontends/Painter.h"
 
@@ -34,16 +35,16 @@ using namespace std;
 namespace lyx {
 
 
-InsetIPA::InsetIPA(Buffer * buf) 
+InsetIPA::InsetIPA(Buffer * buf)
        : InsetText(buf),
-         preview_(new RenderPreview(this)), use_preview_(true)
+         preview_(new RenderPreview(this))
 {
        setDrawFrame(true);
        setFrameColor(Color_insetframe);
 }
 
 
-InsetIPA::~InsetIPA() 
+InsetIPA::~InsetIPA()
 {}
 
 
@@ -118,15 +119,14 @@ void InsetIPA::addPreview(DocIterator const & inset_pos,
 }
 
 
-void InsetIPA::preparePreview(DocIterator const & pos) const  
+void InsetIPA::preparePreview(DocIterator const & pos) const
 {
-       TexRow texrow;
-       odocstringstream str;  
-       otexstream os(str, texrow);
+       odocstringstream str;
+       otexstream os(str);
        OutputParams runparams(&pos.buffer()->params().encoding());
        latex(os, runparams);
        docstring const snippet = str.str();
-       preview_->addPreview(snippet, *pos.buffer());  
+       preview_->addPreview(snippet, *pos.buffer());
 }
 
 
@@ -150,11 +150,8 @@ void InsetIPA::reloadPreview(DocIterator const & pos) const
 
 void InsetIPA::draw(PainterInfo & pi, int x, int y) const
 {
-       use_preview_ = previewState(pi.base.bv);
-
-       if (use_preview_) {
-               preview_->draw(pi, x + TEXT_TO_INSET_OFFSET, y);
-               setPosCache(pi, x, y);
+       if (previewState(pi.base.bv)) {
+               preview_->draw(pi, x, y);
                return;
        }
        InsetText::draw(pi, x, y);
@@ -170,7 +167,7 @@ void InsetIPA::edit(Cursor & cur, bool front, EntryDirection entry_from)
 
 Inset * InsetIPA::editXY(Cursor & cur, int x, int y)
 {
-       if (use_preview_) {
+       if (previewState(&cur.bv())) {
                edit(cur, true, ENTRY_DIRECTION_IGNORE);
                return this;
        }
@@ -183,20 +180,14 @@ void InsetIPA::metrics(MetricsInfo & mi, Dimension & dim) const
 {
        if (previewState(mi.base.bv)) {
                preview_->metrics(mi, dim);
-               mi.base.textwidth += 2 * TEXT_TO_INSET_OFFSET;
-               
+
                dim.wid = max(dim.wid, 4);
                dim.asc = max(dim.asc, 4);
-               
-               dim.asc += TEXT_TO_INSET_OFFSET;
-               dim.des += TEXT_TO_INSET_OFFSET;
-               dim.wid += TEXT_TO_INSET_OFFSET;
-               dim_ = dim;
-               dim.wid += TEXT_TO_INSET_OFFSET;
+
+               dim.asc += topOffset(mi.base.bv);
+               dim.des += bottomOffset(mi.base.bv);
                // insert a one pixel gap
                dim.wid += 1;
-               // Cache the inset dimension.
-               setDimCache(mi, dim);
                Dimension dim_dummy;
                MetricsInfo mi_dummy = mi;
                InsetText::metrics(mi_dummy, dim_dummy);