///
void result(SpellChecker::Result r) { result_ = r; }
///
- bool inside(pos_type pos) const { return range_.inside(pos); }
+ bool contains(pos_type pos) const { return range_.contains(pos); }
///
bool covered(FontSpan const & r) const
{
// 2. last of new range inside current range or
// 3. first of current range inside new range or
// 4. last of current range inside new range
- return range_.inside(r.first) || range_.inside(r.last) ||
- r.inside(range_.first) || r.inside(range_.last);
+ //FIXME: is this the same as !range_.intersect(r).empty() ?
+ return range_.contains(r.first) || range_.contains(r.last) ||
+ r.contains(range_.first) || r.contains(range_.last);
}
///
void shift(pos_type pos, int offset)
RangesIterator et = ranges_.end();
RangesIterator it = ranges_.begin();
for (; it != et; ++it) {
- if(it->inside(pos)) {
+ if(it->contains(pos)) {
return it->result();
}
}
RangesIterator et = ranges_.end();
RangesIterator it = ranges_.begin();
for (; it != et; ++it) {
- if(it->inside(pos)) {
+ if(it->contains(pos)) {
return it->range();
}
}
class Paragraph::Private
{
+ // Enforce our own "copy" constructor by declaring the standard one and
+ // the assignment operator private without implementing them.
+ Private(Private const &);
+ Private & operator=(Private const &);
public:
///
Private(Paragraph * owner, Layout const & layout);
os << "\\begin_inset ";
inset->write(os);
os << "\n\\end_inset\n\n";
- // FIXME This can be removed again once the mystery
- // crash has been resolved.
- os << flush;
column = 0;
}
+ // FIXME This can be removed again once the mystery
+ // crash has been resolved.
+ os << flush;
}
break;
case '\\':
char_type Paragraph::getUChar(BufferParams const & bparams, pos_type pos) const
{
char_type c = d->text_[pos];
- if (!lyxrc.rtl_support || !getFontSettings(bparams, pos).isRightToLeft())
+ if (!getFontSettings(bparams, pos).isRightToLeft())
return c;
// FIXME: The arabic special casing is due to the difference of arabic
bool Paragraph::isRTL(BufferParams const & bparams) const
{
- return lyxrc.rtl_support
- && getParLanguage(bparams)->rightToLeft()
+ return getParLanguage(bparams)->rightToLeft()
&& !inInset().getLayout().forceLTR();
}
getInset(i)->plaintext(os, *runparams);
} else {
getInset(i)->toString(os);
- if (getInset(i)->asInsetMath())
- os << " ";
}
}
}
continue;
pos_type from = pos;
locateWord(from, pos, WHOLE_WORD);
- if (pos < from + lyxrc.completion_minlength)
+ // Work around MSVC warning: The statement
+ // if (pos < from + lyxrc.completion_minlength)
+ // triggers a signed vs. unsigned warning.
+ // I don't know why this happens, it could be a MSVC bug, or
+ // related to LLP64 (windows) vs. LP64 (unix) programming
+ // model, or the C++ standard might be ambigous in the section
+ // defining the "usual arithmetic conversions". However, using
+ // a temporary variable is safe and works on all compilers.
+ pos_type const endpos = from + lyxrc.completion_minlength;
+ if (pos < endpos)
continue;
FontList::const_iterator cit = d->fontlist_.fontIterator(from);
if (cit == d->fontlist_.end())