"fix" loading problem


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7608 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
André Pönitz 2003-08-26 14:50:16 +00:00
parent bf070fc876
commit eaad9ff595
11 changed files with 50 additions and 38 deletions

View File

@ -1377,7 +1377,8 @@ void BufferView::Pimpl::updateInset()
return; return;
// this should not be needed, but it is... // this should not be needed, but it is...
bv_->text->redoParagraph(bv_->text->cursor.par()); //bv_->text->redoParagraph(bv_->text->cursor.par());
//bv_->text->fullRebreak();
update(); update();
updateScrollbar(); updateScrollbar();

View File

@ -1,4 +1,8 @@
2003-08-26 André Pönitz <poenitz@gmx.net>
* paragraph_func.[Ch] (outerPar): new function
2003-08-25 Martin Vermeer <martin.vermeer@hut.fi> 2003-08-25 Martin Vermeer <martin.vermeer@hut.fi>
* lyxrow_funcs.C: * lyxrow_funcs.C:

View File

@ -2190,6 +2190,7 @@ ParIterator Buffer::par_iterator_end()
return ParIterator(paragraphs.end(), paragraphs); return ParIterator(paragraphs.end(), paragraphs);
} }
ParConstIterator Buffer::par_iterator_begin() const ParConstIterator Buffer::par_iterator_begin() const
{ {
return ParConstIterator(const_cast<ParagraphList&>(paragraphs).begin(), paragraphs); return ParConstIterator(const_cast<ParagraphList&>(paragraphs).begin(), paragraphs);

View File

@ -68,6 +68,8 @@ TODO
#include "Lsstream.h" #include "Lsstream.h"
#include "lyxlex.h" #include "lyxlex.h"
#include "lyxrc.h" #include "lyxrc.h"
#include "paragraph_funcs.h"
#include "lyxtext.h"
#include "frontends/Alert.h" #include "frontends/Alert.h"
#include "frontends/Dialogs.h" #include "frontends/Dialogs.h"
@ -168,8 +170,10 @@ InsetGraphics::~InsetGraphics()
void InsetGraphics::statusChanged() void InsetGraphics::statusChanged()
{ {
BufferView * bv = graphic_->view(); BufferView * bv = graphic_->view();
if (bv) if (bv) {
bv->text->redoParagraph(outerPar(*bv->buffer(), this));
bv->updateInset(); bv->updateInset();
}
} }

View File

@ -247,7 +247,7 @@ void InsetText::metrics(MetricsInfo & mi, Dimension & dim) const
int InsetText::textWidth() const int InsetText::textWidth() const
{ {
return textwidth_; return textwidth_;
} }

View File

@ -38,24 +38,6 @@ Row::Row(pos_type pos)
{} {}
void Row::y(unsigned int newy)
{
y_ = newy;
}
unsigned int Row::y() const
{
return y_;
}
unsigned short Row::height() const
{
return height_;
}
void Row::pos(pos_type p) void Row::pos(pos_type p)
{ {
pos_ = p; pos_ = p;
@ -92,12 +74,6 @@ int Row::fill() const
} }
void Row::height(unsigned short h)
{
height_ = h;
}
void Row::width(unsigned int w) void Row::width(unsigned int w)
{ {
width_ = w; width_ = w;
@ -110,13 +86,13 @@ unsigned int Row::width() const
} }
void Row::ascent_of_text(unsigned short a) void Row::ascent_of_text(unsigned int a)
{ {
ascent_of_text_ = a; ascent_of_text_ = a;
} }
unsigned short Row::ascent_of_text() const unsigned int Row::ascent_of_text() const
{ {
return ascent_of_text_; return ascent_of_text_;
} }

View File

@ -37,17 +37,17 @@ public:
/// ///
int fill() const; int fill() const;
/// ///
void height(unsigned short h); void height(unsigned int h) { height_ = h; }
/// ///
unsigned short height() const; unsigned int height() const { return height_; }
/// ///
void width(unsigned int w); void width(unsigned int w);
/// ///
unsigned int width() const; unsigned int width() const;
/// ///
void ascent_of_text(unsigned short a); void ascent_of_text(unsigned int a);
/// ///
unsigned short ascent_of_text() const; unsigned int ascent_of_text() const;
/// ///
void top_of_text(unsigned int top); void top_of_text(unsigned int top);
/// ///
@ -59,9 +59,9 @@ public:
/// return true if this row is the start of a paragraph /// return true if this row is the start of a paragraph
bool isParStart() const; bool isParStart() const;
/// return the cached y position /// return the cached y position
unsigned int y() const; unsigned int y() const { return y_; }
/// cache the y position /// cache the y position
void y(unsigned int newy); void y(unsigned int newy) { y_ = newy; }
/// ///
float x() const; float x() const;
/// ///
@ -89,7 +89,7 @@ private:
Needed for hfills, flushright, block etc. */ Needed for hfills, flushright, block etc. */
mutable int fill_; mutable int fill_;
/// ///
unsigned short height_; unsigned int height_;
/// ///
unsigned int width_; unsigned int width_;
/// cached y position /// cached y position

View File

@ -66,7 +66,7 @@ using lyx::pos_type;
Paragraph::Paragraph() Paragraph::Paragraph()
: pimpl_(new Paragraph::Pimpl(this)) : pimpl_(new Paragraph::Pimpl(this)), y(0)
{ {
enumdepth = 0; enumdepth = 0;
itemdepth = 0; itemdepth = 0;
@ -75,7 +75,7 @@ Paragraph::Paragraph()
Paragraph::Paragraph(Paragraph const & lp) Paragraph::Paragraph(Paragraph const & lp)
: pimpl_(new Paragraph::Pimpl(*lp.pimpl_, this)) : pimpl_(new Paragraph::Pimpl(*lp.pimpl_, this)), y(0)
{ {
enumdepth = 0; enumdepth = 0;
itemdepth = 0; itemdepth = 0;

View File

@ -303,6 +303,8 @@ public:
/// ///
mutable RowList rows; mutable RowList rows;
/// last draw y position (baseline of top row)
int y;
private: private:
/// ///

View File

@ -25,6 +25,7 @@
#include "Lsstream.h" #include "Lsstream.h"
#include "support/lstrings.h" #include "support/lstrings.h"
#include "support/LAssert.h"
#include "insets/insetoptarg.h" #include "insets/insetoptarg.h"
#include "insets/insetcommandparams.h" #include "insets/insetcommandparams.h"
@ -1045,3 +1046,21 @@ LyXFont const outerFont(ParagraphList::iterator pit,
return tmpfont; return tmpfont;
} }
ParagraphList::iterator outerPar(Buffer & buf, InsetOld * inset)
{
ParIterator pit = buf.par_iterator_begin();
ParIterator end = buf.par_iterator_end();
for ( ; pit != end; ++pit) {
InsetList::iterator ii = pit->insetlist.begin();
InsetList::iterator iend = pit->insetlist.end();
for ( ; ii != iend; ++ii)
if (ii->inset == inset)
return pit.outerPar();
}
lyxerr << "outerPar: should not happen\n";
Assert(false);
return end.pit(); // shut up compiler
}

View File

@ -20,6 +20,7 @@ class BufferParams;
class TexRow; class TexRow;
class LatexRunParams; class LatexRunParams;
class LyXLex; class LyXLex;
class InsetOld;
/// ///
void breakParagraph(BufferParams const & bparams, void breakParagraph(BufferParams const & bparams,
@ -74,4 +75,8 @@ int readParagraph(Buffer & buf, Paragraph & par, LyXLex & lex);
LyXFont const outerFont(ParagraphList::iterator pit, LyXFont const outerFont(ParagraphList::iterator pit,
ParagraphList const & plist); ParagraphList const & plist);
/// find outermost paragraph containing an inset
ParagraphList::iterator outerPar(Buffer & buf, InsetOld * inset);
#endif // PARAGRAPH_FUNCS_H #endif // PARAGRAPH_FUNCS_H