using std::endl;
using std::pair;
-static const int LYX_PAPER_MARGIN = 20;
+namespace {
+
+int const LYX_PAPER_MARGIN = 20;
+
+} // namespace anon
extern int bibitemMaxWidth(BufferView *, LyXFont const &);
}
+int LyXText::GetRealCursorX(BufferView * bview) const
+{
+ int x = cursor.x();
+ if (the_locking_inset && (the_locking_inset->getLyXText(bview)!=this))
+ x = the_locking_inset->getLyXText(bview)->GetRealCursorX(bview);
+ return x;
+}
+
+
unsigned char LyXText::TransformChar(unsigned char c, LyXParagraph * par,
LyXParagraph::size_type pos) const
{
unsigned char const prev_char = pos > 0 ? par->GetChar(pos-1) : ' ';
unsigned char next_char = ' ';
+#ifndef NEW_INSETS
for (LyXParagraph::size_type i = pos+1; i < par->Last(); ++i)
+#else
+ for (LyXParagraph::size_type i = pos+1; i < par->size(); ++i)
+#endif
if (!Encodings::IsComposeChar_arabic(par->GetChar(i))) {
next_char = par->GetChar(i);
break;
// Returns the paragraph position of the last character in the specified row
LyXParagraph::size_type LyXText::RowLast(Row const * row) const
{
+#ifndef NEW_INSETS
if (row->next() == 0)
return row->par()->Last() - 1;
else if (row->next()->par() != row->par())
return row->par()->Last() - 1;
else
return row->next()->pos() - 1;
+#else
+ if (row->next() == 0)
+ return row->par()->size() - 1;
+ else if (row->next()->par() != row->par())
+ return row->par()->size() - 1;
+ else
+ return row->next()->pos() - 1;
+#endif
}
if (!row->par()->GetLayout()) {
// find the previous same level paragraph
#ifndef NEW_INSETS
- if (row->par()->FirstPhysicalPar()->Previous()) {
+ if (row->par()->FirstPhysicalPar()->previous()) {
#else
- if (row->par()->Previous()) {
+ if (row->par()->previous()) {
#endif
LyXParagraph * newpar = row->par()
->DepthHook(row->par()->GetDepth());
newpar->GetLayout()).isEnvironment()) {
Row dummyrow;
dummyrow.par(newpar);
+#ifndef NEW_INSETS
dummyrow.pos(newpar->Last());
+#else
+ dummyrow.pos(newpar->size());
+#endif
x = LeftMargin(bview, &dummyrow);
} else {
// this is no longer an error, because this function
// a layout. Since there is always a redo,
// LeftMargin() is always called
#ifndef NEW_INSETS
- row->par()->FirstPhysicalPar()->depth = 0;
+ row->par()->FirstPhysicalPar()->params.depth(0);
#else
- row->par()->depth = 0;
+ row->par()->params.depth(0);
#endif
}
if (newpar && !row->par()->GetLayout()) {
#ifndef NEW_INSETS
- if (newpar->FirstPhysicalPar()->noindent)
+ if (newpar->FirstPhysicalPar()->params.noindent())
#else
- if (newpar->noindent)
+ if (newpar->params.noindent())
#endif
parindent.erase();
else
}
break;
}
+#ifndef NO_PEXTRA
if ((workWidth(bview) > 0) &&
- (row->par()->pextra_type == LyXParagraph::PEXTRA_INDENT)) {
- if (!row->par()->pextra_widthp.empty()) {
+ (row->par()->params.pextraType() == LyXParagraph::PEXTRA_INDENT)) {
+ if (!row->par()->params.pextraWidthp().empty()) {
x += workWidth(bview) *
- lyx::atoi(row->par()->pextra_widthp) / 100;
- } else if (!row->par()->pextra_width.empty()) {
- int xx = VSpace(row->par()->pextra_width).inPixels(bview);
+ lyx::atoi(row->par()->params.pextraWidthp()) / 100;
+ } else if (!row->par()->params.pextraWidth().empty()) {
+ int xx = VSpace(row->par()->params.pextraWidth()).inPixels(bview);
if (xx > workWidth(bview))
xx = workWidth(bview) * 80 / 100;
x += xx;
x += lyxfont::width("XXXXXX", font);
}
}
+#endif
int align; // wrong type
#ifndef NEW_INSETS
- if (row->par()->FirstPhysicalPar()->align == LYX_ALIGN_LAYOUT)
+ if (row->par()->FirstPhysicalPar()->params.align() == LYX_ALIGN_LAYOUT)
align = layout.align;
else
- align = row->par()->FirstPhysicalPar()->align;
+ align = row->par()->FirstPhysicalPar()->params.align();
#else
- if (row->par()->align == LYX_ALIGN_LAYOUT)
+ if (row->par()->params.align() == LYX_ALIGN_LAYOUT)
align = layout.align;
else
- align = row->par()->align;
+ align = row->par()->params.align();
#endif
// set the correct parindent
if (row->pos() == 0) {
&& row->par() == row->par()->FirstPhysicalPar()
#endif
&& align == LYX_ALIGN_BLOCK
- && !row->par()->noindent
+ && !row->par()->params.noindent()
&& (row->par()->layout ||
bview->buffer()->params.paragraph_separation ==
BufferParams::PARSEP_INDENT))
#ifndef NEW_INSETS
do {
- newpar = newpar->FirstPhysicalPar()->Previous();
+ newpar = newpar->FirstPhysicalPar()->previous();
if (newpar)
newpar = newpar->FirstPhysicalPar();
} while (newpar && newpar->GetDepth() >= row->par()->GetDepth()
&& newpar->footnoteflag == row->par()->footnoteflag);
#else
do {
- newpar = newpar->Previous();
+ newpar = newpar->previous();
} while (newpar
&& newpar->GetDepth() >= row->par()->GetDepth());
#endif
// a layout. Since there is always a redo,
// LeftMargin() is always called
#ifndef NEW_INSETS
- row->par()->FirstPhysicalPar()->depth = 0;
+ row->par()->FirstPhysicalPar()->params.depth(0);
#else
- row->par()->depth = 0;
+ row->par()->params.depth(0);
#endif
}
}
== MARGIN_MANUAL) {
Row tmprow;
tmprow = *row;
+#ifndef NEW_INSETS
tmprow.pos(row->par()->Last());
+#else
+ tmprow.pos(row->par()->size());
+#endif
return LeftMargin(bview, &tmprow); /* just the beginning
of the main body */
} else
LyXParagraph * par = row->par();
if (width < 0)
+#ifndef NEW_INSETS
return par->Last();
+#else
+ return par->size();
+#endif
LyXParagraph::size_type const pos = row->pos();
if (layout.margintype == MARGIN_RIGHT_ADDRESS_BOX) {
/* special code for right address boxes, only newlines count */
+#ifndef NEW_INSETS
while (i < par->Last()) {
+#else
+ while (i < par->size()) {
+#endif
if (par->IsNewline(i)) {
last_separator = i;
+#ifndef NEW_INSETS
i = par->Last() - 1; // this means break
+#else
+ i = par->size() - 1; // this means break
+#endif
//x = width;
} else if (par->GetChar(i) == LyXParagraph::META_INSET &&
par->GetInset(i) && par->GetInset(i)->display()){
}
} else {
// Last position is an invariant
+#ifndef NEW_INSETS
LyXParagraph::size_type const last =
par->Last();
+#else
+ LyXParagraph::size_type const last =
+ par->size();
+#endif
// this is the usual handling
int x = LeftMargin(bview, row);
bool doitonetime = true;
}
int fill = 0;
- if (!row->par()->labelwidthstring.empty()) {
- fill = max(lyxfont::width(row->par()->labelwidthstring,
+ if (!row->par()->params.labelWidthString().empty()) {
+ fill = max(lyxfont::width(row->par()->params.labelWidthString(),
GetFont(bview->buffer(), row->par(), -2)) - w,
0);
}
LyXLayout const & layout = textclasslist.Style(bview->buffer()->params.textclass,
firstpar->GetLayout());
-
+
+#ifndef NEW_INSETS
LyXFont font = GetFont(bview->buffer(), par, par->Last() - 1);
+#else
+ LyXFont font = GetFont(bview->buffer(), par, par->size() - 1);
+#endif
LyXFont::FONT_SIZE const size = font.size();
font = GetFont(bview->buffer(), par, -1);
font.setSize(size);
LyXFont labelfont = GetFont(bview->buffer(), par, -2);
float spacing_val = 1.0;
- if (!row_ptr->par()->spacing.isDefault()) {
- spacing_val = row_ptr->par()->spacing.getValue();
+ if (!row_ptr->par()->params.spacing().isDefault()) {
+ spacing_val = row_ptr->par()->params.spacing().getValue();
} else {
spacing_val = bview->buffer()->params.spacing.getValue();
}
BufferParams::PARSEP_SKIP) {
if (layout.isParagraph()
&& firstpar->GetDepth() == 0
- && firstpar->Previous())
+ && firstpar->previous())
maxasc += bview->buffer()->params.getDefSkip().inPixels(bview);
- else if (firstpar->Previous()
+ else if (firstpar->previous()
&& textclasslist.Style(bview->buffer()->params.textclass,
- firstpar->Previous()->GetLayout()).isParagraph()
- && firstpar->Previous()->GetDepth() == 0)
+ firstpar->previous()->GetLayout()).isParagraph()
+ && firstpar->previous()->GetDepth() == 0)
// is it right to use defskip here too? (AS)
maxasc += bview->buffer()->params.getDefSkip().inPixels(bview);
}
- /* the paper margins */
- if (!row_ptr->par()->previous && bv_owner)
+ /* the paper margins */
+#ifndef NEW_INSETS
+ if (!row_ptr->par()->previous_ && bv_owner)
+ maxasc += LYX_PAPER_MARGIN;
+#else
+ if (!row_ptr->par()->previous() && bv_owner)
maxasc += LYX_PAPER_MARGIN;
+#endif
/* add the vertical spaces, that the user added */
- if (firstpar->added_space_top.kind() != VSpace::NONE)
- maxasc += int(firstpar->added_space_top.inPixels(bview));
+ if (firstpar->params.spaceTop().kind() != VSpace::NONE)
+ maxasc += int(firstpar->params.spaceTop().inPixels(bview));
/* do not forget the DTP-lines!
* there height depends on the font of the nearest character */
- if (firstpar->line_top)
+ if (firstpar->params.lineTop())
maxasc += 2 * lyxfont::ascent('x', GetFont(bview->buffer(),
firstpar, 0));
/* and now the pagebreaks */
- if (firstpar->pagebreak_top)
+ if (firstpar->params.pagebreakTop())
maxasc += 3 * DefaultHeight();
/* this is special code for the chapter, since the label of this
if (layout.labeltype == LABEL_COUNTER_CHAPTER
&& bview->buffer()->params.secnumdepth >= 0) {
float spacing_val = 1.0;
- if (!row_ptr->par()->spacing.isDefault()) {
- spacing_val = row_ptr->par()->spacing.getValue();
+ if (!row_ptr->par()->params.spacing().isDefault()) {
+ spacing_val = row_ptr->par()->params.spacing().getValue();
} else {
spacing_val = bview->buffer()->params.spacing.getValue();
}
&& row_ptr->par()->IsFirstInSequence()
&& !row_ptr->par()->GetLabelstring().empty()) {
float spacing_val = 1.0;
- if (!row_ptr->par()->spacing.isDefault()) {
- spacing_val = row_ptr->par()->spacing.getValue();
+ if (!row_ptr->par()->params.spacing().isDefault()) {
+ spacing_val = row_ptr->par()->params.spacing().getValue();
} else {
spacing_val = bview->buffer()->params.spacing.getValue();
}
/* and now the layout spaces, for example before and after a section,
* or between the items of a itemize or enumerate environment */
- if (!firstpar->pagebreak_top) {
- LyXParagraph * prev = row_ptr->par()->Previous();
+ if (!firstpar->params.pagebreakTop()) {
+ LyXParagraph * prev = row_ptr->par()->previous();
if (prev)
prev = row_ptr->par()->DepthHook(row_ptr->par()->GetDepth());
if (prev && prev->GetLayout() == firstpar->GetLayout()
if (tmptop > 0)
layoutasc = (tmptop * DefaultHeight());
}
- else if (row_ptr->par()->line_top){
+ else if (row_ptr->par()->params.lineTop()) {
tmptop = layout.topsep;
if (tmptop > 0)
prev->GetLayout()).parsep * DefaultHeight());
}
else {
- if (firstpar->Previous()
- && firstpar->Previous()->GetDepth() == 0
- && firstpar->Previous()->GetLayout() != firstpar->GetLayout()) {
+ if (firstpar->previous()
+ && firstpar->previous()->GetDepth() == 0
+ && firstpar->previous()->GetLayout() != firstpar->GetLayout()) {
/* avoid parsep */
}
- else if (firstpar->Previous()){
+ else if (firstpar->previous()){
maxasc += int(layout.parsep * DefaultHeight());
}
}
#else
row_ptr->par() == par
#endif
- && (!row_ptr->next() || row_ptr->next()->par() != row_ptr->par())) {
+ && (!row_ptr->next() || row_ptr->next()->par() != row_ptr->par())) {
- /* the paper margins */
- if (!par->next && bv_owner)
+ /* the paper margins */
+#ifndef NEW_INSETS
+ if (!par->next_ && bv_owner)
maxdesc += LYX_PAPER_MARGIN;
-
+#else
+ if (!par->next() && bv_owner)
+ maxdesc += LYX_PAPER_MARGIN;
+#endif
+
/* add the vertical spaces, that the user added */
- if (firstpar->added_space_bottom.kind() != VSpace::NONE)
- maxdesc += int(firstpar->added_space_bottom.inPixels(bview));
+ if (firstpar->params.spaceBottom().kind() != VSpace::NONE)
+ maxdesc += int(firstpar->params.spaceBottom().inPixels(bview));
/* do not forget the DTP-lines!
* there height depends on the font of the nearest character */
- if (firstpar->line_bottom)
+#ifndef NEW_INSETS
+ if (firstpar->params.lineBottom())
maxdesc += 2 * lyxfont::ascent('x', GetFont(bview->buffer(),
par, par->Last() - 1));
+#else
+ if (firstpar->params.lineBottom())
+ maxdesc += 2 * lyxfont::ascent('x',
+ GetFont(bview->buffer(),
+ par, par->size() - 1));
+#endif
/* and now the pagebreaks */
- if (firstpar->pagebreak_bottom)
+ if (firstpar->params.pagebreakBottom())
maxdesc += 3 * DefaultHeight();
/* and now the layout spaces, for example before and after a section,
* or between the items of a itemize or enumerate environment */
- if (!firstpar->pagebreak_bottom && row_ptr->par()->Next()) {
- LyXParagraph * nextpar = row_ptr->par()->Next();
+ if (!firstpar->params.pagebreakBottom() && row_ptr->par()->next()) {
+ LyXParagraph * nextpar = row_ptr->par()->next();
LyXParagraph * comparepar = row_ptr->par();
float usual = 0;
float unusual = 0;
// The last character position of a paragraph is an invariant so we can
// safely get it here. (Asger)
+#ifndef NEW_INSETS
int const lastposition = row->par()->Last();
-
+#else
+ int const lastposition = row->par()->size();
+#endif
do {
// Get the next breakpoint
int z = NextBreakPoint(bview, row, workWidth(bview));
/* get the next breakpoint */
LyXParagraph::size_type z = NextBreakPoint(bview, row, workWidth(bview));
Row * tmprow = row;
-
+
+#ifndef NEW_INSETS
if (z < row->par()->Last()) {
+#else
+ if (z < row->par()->size()) {
+#endif
if (!row->next() || (row->next() && row->next()->par() != row->par())) {
// insert a new row
++z;
// get the next breakpoint
LyXParagraph::size_type z = NextBreakPoint(bview, row, workWidth(bview));
Row * tmprow = row;
-
+
+#ifndef NEW_INSETS
if (z < row->par()->Last()) {
+#else
+ if (z < row->par()->size()) {
+#endif
if (!row->next()
|| (row->next() && row->next()->par() != row->par())) {
/* insert a new row */
cursor.par()->GetLayout());
// this is only allowed, if the current paragraph is not empty or caption
- if ((cursor.par()->Last() <= 0
#ifndef NEW_INSETS
- && !cursor.par()->IsDummy()
-#endif
- )
- &&
- layout.labeltype!= LABEL_SENSITIVE)
- return;
+ if ((cursor.par()->Last() <= 0
+ && !cursor.par()->IsDummy())
+ && layout.labeltype!= LABEL_SENSITIVE)
+ return;
SetUndo(bview->buffer(), Undo::INSERT,
-#ifndef NEW_INSETS
- cursor.par()->ParFromPos(cursor.pos())->previous,
- cursor.par()->ParFromPos(cursor.pos())->next
+ cursor.par()->ParFromPos(cursor.pos())->previous_,
+ cursor.par()->ParFromPos(cursor.pos())->next_);
#else
- cursor.par()->previous,
- cursor.par()->next
+ if ((cursor.par()->size() <= 0)
+ && layout.labeltype!= LABEL_SENSITIVE)
+ return;
+
+ SetUndo(bview->buffer(), Undo::INSERT,
+ cursor.par()->previous(),
+ cursor.par()->next());
#endif
- );
// Always break behind a space
//
// It is better to erase the space (Dekel)
+#ifndef NEW_INSETS
if (cursor.pos() < cursor.par()->Last()
+#else
+ if (cursor.pos() < cursor.par()->size()
+#endif
&& cursor.par()->IsLineSeparator(cursor.pos()))
cursor.par()->Erase(cursor.pos());
// cursor.pos(cursor.pos() + 1);
cursor.par()->SetLayout(bview->buffer()->params, 0);
else
// set to standard-layout
- cursor.par()->Next()->SetLayout(bview->buffer()->params, 0);
+ cursor.par()->next()->SetLayout(bview->buffer()->params, 0);
}
/* if the cursor is at the beginning of a row without prior newline,
cursor.row()->fill(Fill(bview, cursor.row(), workWidth(bview)));
SetHeightOfRow(bview, cursor.row());
+
+#ifndef NEW_INSETS
+ while (cursor.par()->next()->Last()
+#else
+ while (cursor.par()->next()->size()
+#endif
+ && cursor.par()->next()->IsNewline(0))
+ cursor.par()->next()->Erase(0);
- while (cursor.par()->Next()->Last()
- && cursor.par()->Next()->IsNewline(0))
- cursor.par()->Next()->Erase(0);
-
- InsertParagraph(bview, cursor.par()->Next(), cursor.row());
+ InsertParagraph(bview, cursor.par()->next(), cursor.row());
UpdateCounters(bview, cursor.row()->previous());
/* This check is necessary. Otherwise the new empty paragraph will
* be deleted automatically. And it is more friendly for the user! */
if (cursor.pos())
- SetCursor(bview, cursor.par()->Next(), 0);
+ SetCursor(bview, cursor.par()->next(), 0);
else
SetCursor(bview, cursor.par(), 0);
LyXParagraph * par = cursor.par()->ParFromPos(cursor.pos());
/* if there is no footnote in this paragraph, just return. */
- if (!par->next
- || par->next->footnoteflag != LyXParagraph::CLOSED_FOOTNOTE)
+ if (!par->next_
+ || par->next_->footnoteflag != LyXParagraph::CLOSED_FOOTNOTE)
return;
/* ok, move the cursor right before the footnote */
refresh_y = cursor.y() - cursor.row()->baseline();
tmppar = cursor.par();
- endpar = cursor.par()->Next();
+ endpar = cursor.par()->next();
row = cursor.row();
tmppar->OpenFootnote(cursor.pos());
row->fill(Fill(bview, row, workWidth(bview)));
SetHeightOfRow(bview, row);
// CHECK See comment on top of text.C
- tmppar = tmppar->Next();
+ tmppar = tmppar->next();
while (tmppar != endpar) {
if (tmppar) {
InsertParagraph(bview, tmppar, row);
while (row->next() && row->next()->par() == tmppar)
row = row->next();
- tmppar = tmppar->Next();
+ tmppar = tmppar->next();
}
}
- SetCursor(bview, par->next, 0);
+ SetCursor(bview, par->next_, 0);
sel_cursor = cursor;
}
#endif
// Just a macro to make some thing easier.
void LyXText::RedoParagraph(BufferView * bview) const
{
- ClearSelection();
- RedoParagraphs(bview, cursor, cursor.par()->Next());
+ ClearSelection(bview);
+ RedoParagraphs(bview, cursor, cursor.par()->next());
SetCursorIntern(bview, cursor.par(), cursor.pos());
}
{
SetUndo(bview->buffer(), Undo::INSERT,
#ifndef NEW_INSETS
- cursor.par()->ParFromPos(cursor.pos())->previous,
- cursor.par()->ParFromPos(cursor.pos())->next
+ cursor.par()->ParFromPos(cursor.pos())->previous_,
+ cursor.par()->ParFromPos(cursor.pos())->next_
#else
- cursor.par()->previous,
- cursor.par()->next
+ cursor.par()->previous(),
+ cursor.par()->next()
#endif
);
* current font */
// Get the font that is used to calculate the baselineskip
+#ifndef NEW_INSETS
LyXParagraph::size_type const lastpos = cursor.par()->Last();
+#else
+ LyXParagraph::size_type const lastpos = cursor.par()->size();
+#endif
LyXFont rawparfont = cursor.par()->GetFontSettings(bview->buffer()->params,
lastpos - 1);
&& cursor.par()->IsNewline(cursor.pos() - 1))
|| (cursor.pos() == 0
#ifndef NEW_INSETS
- && !(cursor.par()->Previous()
- && cursor.par()->Previous()->footnoteflag
+ && !(cursor.par()->previous()
+ && cursor.par()->previous()->footnoteflag
== LyXParagraph::OPEN_FOOTNOTE)
#endif
)) {
/* No newline at first position
* of a paragraph or behind labels.
* TeX does not allow that. */
-
+
+#ifndef NEW_INSETS
if (cursor.pos() < cursor.par()->Last() &&
+#else
+ if (cursor.pos() < cursor.par()->size() &&
+#endif
cursor.par()->IsLineSeparator(cursor.pos()))
// newline always after a blank!
CursorRight(bview);
else
need_break_row = 0;
- // check, wether the last characters font has changed.
+ // check, wether the last characters font has changed.
+#ifndef NEW_INSETS
if (cursor.pos() && cursor.pos() == cursor.par()->Last()
+#else
+ if (cursor.pos() && cursor.pos() == cursor.par()->size()
+#endif
&& rawparfont != rawtmpfont)
RedoHeightOfParagraph(bview, cursor);
}
// check, wether the last characters font has changed.
+#ifndef NEW_INSETS
if (cursor.pos() && cursor.pos() == cursor.par()->Last()
+#else
+ if (cursor.pos() && cursor.pos() == cursor.par()->size()
+#endif
&& rawparfont != rawtmpfont) {
RedoHeightOfParagraph(bview, cursor);
} else {
// set x how you need it
int align;
#ifndef NEW_INSETS
- if (row->par()->FirstPhysicalPar()->align == LYX_ALIGN_LAYOUT)
+ if (row->par()->FirstPhysicalPar()->params.align() == LYX_ALIGN_LAYOUT)
align = textclasslist.Style(bview->buffer()->params.textclass, row->par()->GetLayout()).align;
else
- align = row->par()->FirstPhysicalPar()->align;
+ align = row->par()->FirstPhysicalPar()->params.align();
#else
- if (row->par()->align == LYX_ALIGN_LAYOUT)
+ if (row->par()->params.align() == LYX_ALIGN_LAYOUT)
align = textclasslist.Style(bview->buffer()->params.textclass, row->par()->GetLayout()).align;
else
- align = row->par()->align;
+ align = row->par()->params.align();
#endif
// center displayed insets
LyXCursor tmpcursor = cursor;
// CHECK See comment on top of text.C
+#ifndef NEW_INSETS
if (tmpcursor.pos() == tmpcursor.par()->Last()
- && tmpcursor.par()->Next()) {
- tmpcursor.par(tmpcursor.par()->Next());
+#else
+ if (tmpcursor.pos() == tmpcursor.par()->size()
+#endif
+ && tmpcursor.par()->next()) {
+ tmpcursor.par(tmpcursor.par()->next());
tmpcursor.pos(0);
} else {
int steps = 0;
// Skip through initial nonword stuff.
+#ifndef NEW_INSETS
while (tmpcursor.pos() < tmpcursor.par()->Last() &&
+#else
+ while (tmpcursor.pos() < tmpcursor.par()->size() &&
+#endif
! tmpcursor.par()->IsWord( tmpcursor.pos() ) )
{
// printf("Current pos1 %d", tmpcursor.pos()) ;
++steps;
}
// Advance through word.
+#ifndef NEW_INSETS
while (tmpcursor.pos() < tmpcursor.par()->Last() &&
+#else
+ while (tmpcursor.pos() < tmpcursor.par()->size() &&
+#endif
tmpcursor.par()->IsWord( tmpcursor.pos() ) )
{
// printf("Current pos2 %d", tmpcursor.pos()) ;
void LyXText::CursorTab(BufferView * bview) const
{
LyXCursor tmpcursor = cursor;
+#ifndef NEW_INSETS
while (tmpcursor.pos() < tmpcursor.par()->Last()
+#else
+ while (tmpcursor.pos() < tmpcursor.par()->size()
+#endif
&& !tmpcursor.par()->IsNewline(tmpcursor.pos()))
tmpcursor.pos(tmpcursor.pos() + 1);
-
+
+#ifndef NEW_INSETS
if (tmpcursor.pos() == tmpcursor.par()->Last()){
- if (tmpcursor.par()->Next()) {
- tmpcursor.par(tmpcursor.par()->Next());
+#else
+ if (tmpcursor.pos() == tmpcursor.par()->size()){
+#endif
+ if (tmpcursor.par()->next()) {
+ tmpcursor.par(tmpcursor.par()->next());
tmpcursor.pos(0);
}
} else
|| tmpcursor.par()->IsHfill(tmpcursor.pos() - 1))) {
tmpcursor.pos(tmpcursor.pos() - 1);
} else if (!tmpcursor.pos()) {
- if (tmpcursor.par()->Previous()){
- tmpcursor.par(tmpcursor.par()->Previous());
+ if (tmpcursor.par()->previous()){
+ tmpcursor.par(tmpcursor.par()->previous());
+#ifndef NEW_INSETS
tmpcursor.pos(tmpcursor.par()->Last());
+#else
+ tmpcursor.pos(tmpcursor.par()->size());
+#endif
}
} else { // Here, tmpcursor != 0
while (tmpcursor.pos() > 0 &&
// set the sel cursor
sel_cursor = cursor;
+#ifndef NEW_INSETS
while (cursor.pos() < cursor.par()->Last()
+#else
+ while (cursor.pos() < cursor.par()->size()
+#endif
&& !cursor.par()->IsSeparator(cursor.pos())
&& !cursor.par()->IsKomma(cursor.pos()) )
cursor.pos(cursor.pos() + 1);
bool LyXText::SelectWordWhenUnderCursor(BufferView * bview)
{
if (!selection &&
+#ifndef NEW_INSETS
cursor.pos() > 0 && cursor.pos() < cursor.par()->Last()
+#else
+ cursor.pos() > 0 && cursor.pos() < cursor.par()->size()
+#endif
&& !cursor.par()->IsSeparator(cursor.pos())
&& !cursor.par()->IsKomma(cursor.pos())
&& !cursor.par()->IsSeparator(cursor.pos() -1)
// If this is not the very first word, skip rest of
// current word because we are probably in the middle
// of a word if there is text here.
- if (cursor.pos() || cursor.par()->previous) {
+#ifndef NEW_INSETS
+ if (cursor.pos() || cursor.par()->previous_) {
while (cursor.pos() < cursor.par()->Last()
&& cursor.par()->IsLetter(cursor.pos()))
cursor.pos(cursor.pos() + 1);
}
+#else
+ if (cursor.pos() || cursor.par()->previous()) {
+ while (cursor.pos() < cursor.par()->size()
+ && cursor.par()->IsLetter(cursor.pos()))
+ cursor.pos(cursor.pos() + 1);
+ }
+#endif
+
// Now, skip until we have real text (will jump paragraphs)
+#ifndef NEW_INSETS
while ((cursor.par()->Last() > cursor.pos()
+#else
+ while ((cursor.par()->size() > cursor.pos()
+#endif
&& (!cursor.par()->IsLetter(cursor.pos())
|| cursor.par()->getFont(bview->buffer()->params, cursor.pos())
.latex() == LyXFont::ON))
- || (cursor.par()->Last() == cursor.pos()
- && cursor.par()->Next())){
+#ifndef NEW_INSETS
+ || (cursor.par()->Last() == cursor.pos()
+#else
+ || (cursor.par()->size() == cursor.pos()
+#endif
+ && cursor.par()->next())){
+#ifndef NEW_INSETS
if (cursor.pos() == cursor.par()->Last()) {
- cursor.par(cursor.par()->Next());
+#else
+ if (cursor.pos() == cursor.par()->size()) {
+#endif
+ cursor.par(cursor.par()->next());
cursor.pos(0);
} else
cursor.pos(cursor.pos() + 1);
// and find the end of the word
// (optional hyphens are part of a word)
+#ifndef NEW_INSETS
while (cursor.pos() < cursor.par()->Last()
+#else
+ while (cursor.pos() < cursor.par()->size()
+#endif
&& (cursor.par()->IsLetter(cursor.pos()))
|| (cursor.par()->GetChar(cursor.pos()) == LyXParagraph::META_INSET
&& cursor.par()->GetInset(cursor.pos()) != 0
std::ostringstream latex;
// now find the end of the word
+#ifndef NEW_INSETS
while (cursor.pos() < cursor.par()->Last()
+#else
+ while (cursor.pos() < cursor.par()->size()
+#endif
&& (cursor.par()->IsLetter(cursor.pos())
|| (cursor.par()->GetChar(cursor.pos()) == LyXParagraph::META_INSET
&& cursor.par()->GetInset(cursor.pos()) != 0
/* -------> Delete from cursor up to the end of the current or next word. */
void LyXText::DeleteWordForward(BufferView * bview)
{
+#ifndef NEW_INSETS
if (!cursor.par()->Last())
+#else
+ if (!cursor.par()->size())
+#endif
CursorRight(bview);
else {
LyXCursor tmpcursor = cursor;
/* -------> Delete from cursor to start of current or prior word. */
void LyXText::DeleteWordBackward(BufferView * bview)
{
+#ifndef NEW_INSETS
if (!cursor.par()->Last())
+#else
+ if (!cursor.par()->size())
+#endif
CursorLeft(bview);
else {
LyXCursor tmpcursor = cursor;
/* -------> Kill to end of line. */
void LyXText::DeleteLineForward(BufferView * bview)
{
+#ifndef NEW_INSETS
if (!cursor.par()->Last())
+#else
+ if (!cursor.par()->size())
+#endif
// Paragraph is empty, so we just go to the right
CursorRight(bview);
else {
{
#ifndef NEW_INSETS
LyXParagraph * tmppar = cursor.par()->ParFromPos(cursor.pos());
-#else
- LyXParagraph * tmppar = cursor.par();
-#endif
- SetUndo(bview->buffer(),Undo::FINISH, tmppar->previous, tmppar->next);
+ SetUndo(bview->buffer(),Undo::FINISH,
+ tmppar->previous_, tmppar->next_);
-#ifndef NEW_INSETS
LyXParagraph::size_type tmppos =
cursor.par()->PositionInParFromPos(cursor.pos());
#else
+ LyXParagraph * tmppar = cursor.par();
+
+ SetUndo(bview->buffer(),Undo::FINISH,
+ tmppar->previous(), tmppar->next());
+
LyXParagraph::size_type tmppos = cursor.pos();
#endif
+
while (tmppos < tmppar->size()) {
unsigned char c = tmppar->GetChar(tmppos);
if (IsKommaChar(c) || IsLineSeparatorChar(c))
LyXCursor old_cursor = cursor;
int const old_cur_par_id = old_cursor.par()->id();
- int const old_cur_par_prev_id = old_cursor.par()->previous ?
- old_cursor.par()->previous->id() : 0;
+#ifndef NEW_INSETS
+ int const old_cur_par_prev_id = old_cursor.par()->previous_ ?
+ old_cursor.par()->previous_->id() : 0;
+#else
+ int const old_cur_par_prev_id = old_cursor.par()->previous() ?
+ old_cursor.par()->previous()->id() : 0;
+#endif
// just move to the right
CursorRight(bview);
// and that can very well delete the par or par->previous in
// old_cursor. Will a solution where we compare paragraph id's
//work better?
- if ((cursor.par()->previous ? cursor.par()->previous->id() : 0)
+ if (
+#ifndef NEW_INSETS
+ (cursor.par()->previous_ ? cursor.par()->previous_->id() : 0)
+#else
+ (cursor.par()->previous() ? cursor.par()->previous()->id() : 0)
+#endif
== old_cur_par_prev_id
&& cursor.par()->id() != old_cur_par_id)
return; // delete-empty-paragraph-mechanism has done it
cursor = old_cursor; // to make sure undo gets the right cursor position
SetUndo(bview->buffer(), Undo::DELETE,
#ifndef NEW_INSETS
- cursor.par()->ParFromPos(cursor.pos())->previous,
- cursor.par()->ParFromPos(cursor.pos())->next
+ cursor.par()->ParFromPos(cursor.pos())->previous_,
+ cursor.par()->ParFromPos(cursor.pos())->next_
#else
- cursor.par()->previous,
- cursor.par()->next
+ cursor.par()->previous(),
+ cursor.par()->next()
#endif
);
cursor = tmpcursor;
void LyXText::Backspace(BufferView * bview)
{
// Get the font that is used to calculate the baselineskip
+#ifndef NEW_INSETS
LyXParagraph::size_type lastpos = cursor.par()->Last();
+#else
+ LyXParagraph::size_type lastpos = cursor.par()->size();
+#endif
LyXFont rawparfont = cursor.par()->GetFontSettings(bview->buffer()->params,
lastpos - 1);
if ((lastpos == 0
|| (lastpos == 1 && cursor.par()->IsSeparator(0)))
#ifndef NEW_INSETS
- && !(cursor.par()->Next()
+ && !(cursor.par()->next()
&& cursor.par()->footnoteflag == LyXParagraph::NO_FOOTNOTE
- && cursor.par()->Next()->footnoteflag == LyXParagraph::OPEN_FOOTNOTE)
+ && cursor.par()->next()->footnoteflag == LyXParagraph::OPEN_FOOTNOTE)
#endif
) {
// This is an empty paragraph and we delete it just by moving the cursor one step
// left and let the DeleteEmptyParagraphMechanism handle the actual deletion
// of the paragraph.
- if (cursor.par()->previous) {
#ifndef NEW_INSETS
- LyXParagraph * tmppar = cursor.par()->previous->FirstPhysicalPar();
-#else
- LyXParagraph * tmppar = cursor.par()->previous;
-#endif
+ if (cursor.par()->previous_) {
+ LyXParagraph * tmppar = cursor.par()->previous_->FirstPhysicalPar();
if (cursor.par()->GetLayout() == tmppar->GetLayout()
-#ifndef NEW_INSETS
&& cursor.par()->footnoteflag == tmppar->footnoteflag
+#else
+ if (cursor.par()->previous()) {
+ LyXParagraph * tmppar = cursor.par()->previous();
+ if (cursor.par()->GetLayout() == tmppar->GetLayout()
#endif
&& cursor.par()->GetAlign() == tmppar->GetAlign()) {
- // Inherit botom DTD from the paragraph below.
+ // Inherit bottom DTD from the paragraph below.
// (the one we are deleting)
- tmppar->line_bottom = cursor.par()->line_bottom;
- tmppar->added_space_bottom = cursor.par()->added_space_bottom;
- tmppar->pagebreak_bottom = cursor.par()->pagebreak_bottom;
+ tmppar->params.lineBottom(cursor.par()->params.lineBottom());
+ tmppar->params.spaceBottom(cursor.par()->params.spaceBottom());
+ tmppar->params.pagebreakBottom(cursor.par()->params.pagebreakBottom());
}
CursorLeft(bview);
}
#ifndef NEW_INSETS
- if (cursor.par()->ParFromPos(cursor.pos())->previous){
+ if (cursor.par()->ParFromPos(cursor.pos())->previous_) {
SetUndo(bview->buffer(), Undo::DELETE,
- cursor.par()->ParFromPos(cursor.pos())->previous->previous,
- cursor.par()->ParFromPos(cursor.pos())->next);
+ cursor.par()->ParFromPos(cursor.pos())->previous_->previous_,
+ cursor.par()->ParFromPos(cursor.pos())->next_);
}
#else
- if (cursor.par()->previous) {
+ if (cursor.par()->previous()) {
SetUndo(bview->buffer(), Undo::DELETE,
- cursor.par()->previous->previous,
- cursor.par()->next);
+ cursor.par()->previous()->previous(),
+ cursor.par()->next());
}
#endif
// not a good idea since it triggers the auto-delete
// mechanism. So we do a CursorLeftIntern()-lite,
// without the dreaded mechanism. (JMarc)
- if (cursor.par()->Previous()) {
+ if (cursor.par()->previous()) {
// steps into the above paragraph.
- SetCursorIntern(bview, cursor.par()->Previous(),
- cursor.par()->Previous()->Last(), false);
+#ifndef NEW_INSETS
+ SetCursorIntern(bview, cursor.par()->previous(),
+ cursor.par()->previous()->Last(), false);
+#else
+ SetCursorIntern(bview, cursor.par()->previous(),
+ cursor.par()->previous()->size(),
+ false);
+#endif
}
/* Pasting is not allowed, if the paragraphs have different
* any paragraphs */
SetUndo(bview->buffer(), Undo::DELETE,
#ifndef NEW_INSETS
- cursor.par()->ParFromPos(cursor.pos())->previous,
- cursor.par()->ParFromPos(cursor.pos())->next
+ cursor.par()->ParFromPos(cursor.pos())->previous_,
+ cursor.par()->ParFromPos(cursor.pos())->next_
#else
- cursor.par()->previous,
- cursor.par()->next
+ cursor.par()->previous(),
+ cursor.par()->next()
#endif
);
// We used to do CursorLeftIntern() here, but it is
}
if (cursor.par()->IsLineSeparator(cursor.pos() - 1))
cursor.pos(cursor.pos() - 1);
-
- if (cursor.pos() < cursor.par()->Last() && !cursor.par()->IsSeparator(cursor.pos())) {
+
+#ifndef NEW_INSETS
+ if (cursor.pos() < cursor.par()->Last()
+ && !cursor.par()->IsSeparator(cursor.pos())) {
+#else
+ if (cursor.pos() < cursor.par()->size()
+ && !cursor.par()->IsSeparator(cursor.pos())) {
+#endif
cursor.par()->InsertChar(cursor.pos(), ' ');
SetCharFont(bview->buffer(), cursor.par(),
cursor.pos(), current_font);
}
// delete newlines at the beginning of paragraphs
+#ifndef NEW_INSETS
while (cursor.par()->Last() &&
+#else
+ while (cursor.par()->size() &&
+#endif
cursor.par()->IsNewline(cursor.pos()) &&
cursor.pos() == BeginningOfMainBody(bview->buffer(),
cursor.par())) {
Row * tmprow = row->previous();
// maybe the current row is now empty
+#ifndef NEW_INSETS
if (row->pos() >= row->par()->Last()) {
+#else
+ if (row->pos() >= row->par()->size()) {
+#endif
// remove it
RemoveRow(row);
need_break_row = 0;
//current_font = rawtmpfont;
//real_current_font = realtmpfont;
// check, whether the last character's font has changed.
+#ifndef NEW_INSETS
if (rawparfont !=
cursor.par()->GetFontSettings(bview->buffer()->params,
cursor.par()->Last() - 1))
+#else
+ if (rawparfont !=
+ cursor.par()->GetFontSettings(bview->buffer()->params,
+ cursor.par()->size() - 1))
+#endif
RedoHeightOfParagraph(bview, cursor);
return;
}
// break the cursor row again
if (row->next() && row->next()->par() == row->par() &&
+#ifndef NEW_INSETS
(RowLast(row) == row->par()->Last() - 1 ||
+#else
+ (RowLast(row) == row->par()->size() - 1 ||
+#endif
NextBreakPoint(bview, row, workWidth(bview)) != RowLast(row))) {
/* it can happen that a paragraph loses one row
* without a real breakup. This is when a word
* is to long to be broken. Well, I don t care this
- * hack ;-) */
+ * hack ;-) */
+#ifndef NEW_INSETS
if (RowLast(row) == row->par()->Last() - 1)
+#else
+ if (RowLast(row) == row->par()->size() - 1)
+#endif
RemoveRow(row->next());
refresh_y = y;
SetCursor(bview, cursor.par(), cursor.pos(), false,
!cursor.boundary());
+#ifndef NEW_INSETS
lastpos = cursor.par()->Last();
+#else
+ lastpos = cursor.par()->size();
+#endif
if (cursor.pos() == lastpos)
SetCurrentFont(bview);
#warning Should be fixed with a lyxinset::clear_width(bv, font) function! (Jug)
#warning Should we not fix this in the Painter, please have a look Lars! (Jug)
#endif
- int w = (inset_owner ? inset_owner->width(bview, font)-2 : ww);
- int h = row_ptr->height();
- int x = x_offset;
- int y = y_offset;
- if (y < 0) {
- h += y;
- y = 0;
- }
-
+ int const y = y_offset < 0 ? 0 : y_offset;
+ int const h = y_offset < 0 ?
+ row_ptr->height() + y_offset : row_ptr->height();
+ int const w = inset_owner ?
+ inset_owner->width(bview, font) - 2 : ww;
+ int const x = x_offset;
pain.fillRectangle(x, y, w, h);
} else if (inset != 0) {
int h = row_ptr->baseline() - inset->ascent(bview, font);
// Draw appendix lines
LyXParagraph * p = row_ptr->par()->PreviousBeforeFootnote()->FirstPhysicalPar();
- if (p->appendix){
+ if (p->params.appendix()) {
pain.line(1, y_offset,
1, y_offset + row_ptr->height(),
LColor::appendixline);
LColor::appendixline);
}
+#ifndef NO_PEXTRA
// Draw minipage line
bool const minipage =
- (p->pextra_type == LyXParagraph::PEXTRA_MINIPAGE);
+ (p->params.pextraType() == LyXParagraph::PEXTRA_MINIPAGE);
if (minipage)
pain.line(LYX_PAPER_MARGIN/5, y_offset,
LYX_PAPER_MARGIN/5,
y_offset + row_ptr->height() - 1,
LColor::minipageline);
-
+#endif
// Draw depth lines
int const depth = p->GetDepth();
for (int i = 1; i <= depth; ++i) {
#else
LyXParagraph * firstpar = row_ptr->par();
#endif
- if (firstpar->appendix){
+ if (firstpar->params.appendix()) {
pain.line(1, y_offset,
1, y_offset + row_ptr->height(),
LColor::appendixline);
ww - 2, y_offset + row_ptr->height(),
LColor::appendixline);
}
-
+#ifndef NO_PEXTRA
// Draw minipage line
bool const minipage =
- (firstpar->pextra_type == LyXParagraph::PEXTRA_MINIPAGE);
+ (firstpar->params.pextraType() == LyXParagraph::PEXTRA_MINIPAGE);
if (minipage)
pain.line(LYX_PAPER_MARGIN/5 + box_x, y_offset,
LYX_PAPER_MARGIN/5 + box_x,
y_offset + row_ptr->height() - 1,
LColor::minipageline);
-
+#endif
// Draw depth lines
int const depth = firstpar->GetDepth();
if (depth > 0) {
for (int i = 1; i <= depth; ++i) {
int const line_x = (LYX_PAPER_MARGIN / 5) *
- (i + minipage) + box_x + x_offset;
+ (i
+#ifndef NO_PEXTRA
+ + minipage
+#endif
+ ) + box_x + x_offset;
pain.line(line_x, y_offset, line_x,
y_offset + row_ptr->height() - 1 - (i - next_depth - 1) * 3,
LColor::depthbar);
if (!row_ptr->pos() && (row_ptr->par() == firstpar)) {
/* start of appendix? */
- if (row_ptr->par()->start_of_appendix){
+ if (row_ptr->par()->params.startOfAppendix()) {
pain.line(1, y_offset,
ww - 2, y_offset,
LColor::appendixline);
if (!row_ptr->previous() && bv_owner)
y_top += LYX_PAPER_MARGIN;
- if (row_ptr->par()->pagebreak_top){ /* draw a top pagebreak */
+ /* draw a top pagebreak */
+ if (row_ptr->par()->params.pagebreakTop()) {
LyXFont pb_font;
pb_font.setColor(LColor::pagebreak).decSize();
int w = 0, a = 0, d = 0;
y_top += 3 * DefaultHeight();
}
- if (row_ptr->par()->added_space_top.kind() == VSpace::VFILL) {
+ if (row_ptr->par()->params.spaceTop().kind() == VSpace::VFILL) {
/* draw a vfill top */
pain.line(0, y_offset + 2 + y_top,
LYX_PAPER_MARGIN, y_offset + 2 + y_top,
}
/* think about user added space */
- y_top += int(row_ptr->par()->added_space_top.inPixels(bview));
+ y_top += int(row_ptr->par()->params.spaceTop().inPixels(bview));
/* think about the parskip */
/* some parskips VERY EASY IMPLEMENTATION */
if (bview->buffer()->params.paragraph_separation == BufferParams::PARSEP_SKIP) {
if (layout.latextype == LATEX_PARAGRAPH
&& firstpar->GetDepth() == 0
- && firstpar->Previous())
+ && firstpar->previous())
y_top += bview->buffer()->params.getDefSkip().inPixels(bview);
- else if (firstpar->Previous()
+ else if (firstpar->previous()
&& textclasslist.Style(bview->buffer()->params.textclass,
- firstpar->Previous()->GetLayout()).latextype == LATEX_PARAGRAPH
- && firstpar->Previous()->GetDepth() == 0)
+ firstpar->previous()->GetLayout()).latextype == LATEX_PARAGRAPH
+ && firstpar->previous()->GetDepth() == 0)
// is it right to use defskip here, too? (AS)
y_top += bview->buffer()->params.getDefSkip().inPixels(bview);
}
- if (row_ptr->par()->line_top) { /* draw a top line */
+ if (row_ptr->par()->params.lineTop()) { /* draw a top line */
y_top += lyxfont::ascent('x',
GetFont(bview->buffer(),
row_ptr->par(), 0));
/* this is special code for the chapter layout. This is printed in
* an extra row and has a pagebreak at the top. */
float spacing_val = 1.0;
- if (!row_ptr->par()->spacing.isDefault()) {
- spacing_val = row_ptr->par()->spacing.getValue();
+ if (!row_ptr->par()->params.spacing().isDefault()) {
+ spacing_val = row_ptr->par()->params.spacing().getValue();
} else {
spacing_val = bview->buffer()->params.spacing.getValue();
}
string const tmpstring =
row_ptr->par()->GetLabelstring();
float spacing_val = 1.0;
- if (!row_ptr->par()->spacing.isDefault()) {
- spacing_val = row_ptr->par()->spacing.getValue();
+ if (!row_ptr->par()->params.spacing().isDefault()) {
+ spacing_val = row_ptr->par()->params.spacing().getValue();
} else {
spacing_val = bview->buffer()->params.spacing.getValue();
}
y_bottom -= LYX_PAPER_MARGIN;
/* draw a bottom pagebreak */
- if (firstpar->pagebreak_bottom) {
+ if (firstpar->params.pagebreakBottom()) {
LyXFont pb_font;
pb_font.setColor(LColor::pagebreak).decSize();
int w = 0, a = 0, d = 0;
y_bottom -= 3 * DefaultHeight();
}
- if (firstpar->added_space_bottom.kind() == VSpace::VFILL) {
+ if (firstpar->params.spaceBottom().kind() == VSpace::VFILL) {
/* draw a vfill bottom */
pain.line(0, y_offset + y_bottom - 3 * DefaultHeight(),
LYX_PAPER_MARGIN,
}
/* think about user added space */
- y_bottom -= int(firstpar->added_space_bottom.inPixels(bview));
+ y_bottom -= int(firstpar->params.spaceBottom().inPixels(bview));
- if (firstpar->line_bottom) {
+ if (firstpar->params.lineBottom()) {
/* draw a bottom line */
- y_bottom -= lyxfont::ascent('x', GetFont(bview->buffer(),
- par, par->Last() - 1));
+#ifndef NEW_INSETS
+ y_bottom -= lyxfont::ascent('x',
+ GetFont(bview->buffer(),
+ par,
+ par->Last() - 1));
+#else
+ y_bottom -= lyxfont::ascent('x',
+ GetFont(bview->buffer(),
+ par,
+ par->size() - 1));
+#endif
int const w = (inset_owner ?
inset_owner->width(bview, font) : ww);
int const xp = static_cast<int>(inset_owner ? x : 0);
w, y_offset + y_bottom,
LColor::topline, Painter::line_solid,
Painter::line_thick);
+#ifndef NEW_INSETS
y_bottom -= lyxfont::ascent('x',
GetFont(bview->buffer(),
par,
par->Last() - 1));
+#else
+ y_bottom -= lyxfont::ascent('x',
+ GetFont(bview->buffer(),
+ par,
+ par->size() - 1));
+#endif
}
// draw an endlabel
_("Sorry."));
return;
}
+#ifndef NO_PEXTRA
/* no marginpars in minipages */
if (kind == LyXParagraph::MARGIN
- && cursor.par()->pextra_type == LyXParagraph::PEXTRA_MINIPAGE) {
+ && cursor.par()->params.pextraType() == LyXParagraph::PEXTRA_MINIPAGE) {
WriteAlert(_("Impossible operation"),
_("You can't insert a marginpar in a minipage!"),
_("Sorry."));
return;
}
-
+#endif
/* this doesnt make sense, if there is no selection */
bool dummy_selection = false;
if (!selection) {
while (tmppar != sel_end_cursor.par()->ParFromPos(sel_end_cursor.pos()) &&
tmppar->footnoteflag == LyXParagraph::NO_FOOTNOTE)
- tmppar = tmppar->next;
+ tmppar = tmppar->next_;
if (tmppar != sel_end_cursor.par()->ParFromPos(sel_end_cursor.pos())
|| tmppar->footnoteflag != LyXParagraph::NO_FOOTNOTE) {
* and sel_end cursor */
SetUndo(bview->buffer(), Undo::FINISH,
- sel_start_cursor.par()->ParFromPos(sel_start_cursor.pos())->previous,
- sel_end_cursor.par()->ParFromPos(sel_end_cursor.pos())->next);
+ sel_start_cursor.par()->ParFromPos(sel_start_cursor.pos())->previous_,
+ sel_end_cursor.par()->ParFromPos(sel_end_cursor.pos())->next_);
if (sel_end_cursor.pos() > 0
&& sel_end_cursor.par()->IsLineSeparator(sel_end_cursor.pos() - 1))
sel_end_cursor.par()->BreakParagraphConservative(bview->buffer()->params, sel_end_cursor.pos());
- sel_end_cursor.par(sel_end_cursor.par()->Next());
+ sel_end_cursor.par(sel_end_cursor.par()->next());
sel_end_cursor.pos(0);
// don't forget to insert a dummy layout paragraph if necessary
if (sel_start_cursor.par()->GetLayout() != sel_end_cursor.par()->layout){
sel_end_cursor.par()->BreakParagraphConservative(bview->buffer()->params, 0);
sel_end_cursor.par()->layout = LYX_DUMMY_LAYOUT;
- sel_end_cursor.par(sel_end_cursor.par()->next);
+ sel_end_cursor.par(sel_end_cursor.par()->next_);
}
else
sel_end_cursor.par()->layout = LYX_DUMMY_LAYOUT;
sel_start_cursor.par()->BreakParagraphConservative(bview->buffer()->params,
sel_start_cursor.pos());
- tmppar = sel_start_cursor.par()->Next();
+ tmppar = sel_start_cursor.par()->next();
if (dummy_selection) {
tmppar->Clear();
while (tmppar != sel_end_cursor.par()) {
tmppar->footnoteflag = LyXParagraph::OPEN_FOOTNOTE;
tmppar->footnotekind = kind;
- tmppar = tmppar->Next();
+ tmppar = tmppar->next();
}
- RedoParagraphs(bview, sel_start_cursor, sel_end_cursor.par()->Next());
+ RedoParagraphs(bview, sel_start_cursor, sel_end_cursor.par()->next());
- SetCursor(bview, sel_start_cursor.par()->Next(), 0);
+ SetCursor(bview, sel_start_cursor.par()->next(), 0);
- ClearSelection();
+ ClearSelection(bview);
}
#endif