#include "Language.h"
#include "LaTeXFeatures.h"
#include "Color.h"
+#include "Layout.h"
#include "Length.h"
#include "Font.h"
#include "LyXRC.h"
-#include "Row.h"
#include "Messages.h"
#include "OutputParams.h"
#include "output_latex.h"
pimpl_->insertInset(pos, inset, change);
// Set the font/language of the inset...
setFont(pos, font);
- // ... as well as the font/language of the text inside the inset
- // FIXME: This is far from perfect. It basically overrides work being done
- // in the InsetText constructor. Also, it doesn't work for Tables
- // (precisely because each cell's font/language is set in the Table's
- // constructor, so by now it's too late). The long-term solution should
- // be moving current_font into Cursor, and getting rid of all this...
- // (see http://thread.gmane.org/gmane.editors.lyx.devel/88869/focus=88944)
- if (inset->asTextInset()) {
- inset->asTextInset()->text_.current_font = font;
- inset->asTextInset()->text_.real_current_font = font;
- }
}
// the next two functions are for the manual labels
docstring const Paragraph::getLabelWidthString() const
{
- if (!params().labelWidthString().empty())
+ if (layout()->margintype == MARGIN_MANUAL)
return params().labelWidthString();
else
return _("Senseless with this layout!");
}
-bool Paragraph::isRightToLeftPar(BufferParams const & bparams) const
+bool Paragraph::isRTL(BufferParams const & bparams) const
{
return lyxrc.rtl_support
&& getParLanguage(bparams)->rightToLeft()
}
-bool Paragraph::hfillExpansion(Row const & row, pos_type pos) const
-{
- if (!isHfill(pos))
- return false;
-
- BOOST_ASSERT(pos >= row.pos() && pos < row.endpos());
-
- // expand at the end of a row only if there is another hfill on the same row
- if (pos == row.endpos() - 1) {
- for (pos_type i = row.pos(); i < pos; i++) {
- if (isHfill(i))
- return true;
- }
- return false;
- }
-
- // expand at the beginning of a row only if it is the first row of a paragraph
- if (pos == row.pos()) {
- return pos == 0;
- }
-
- // do not expand in some labels
- if (layout()->margintype != MARGIN_MANUAL && pos < beginOfBody())
- return false;
-
- // if there is anything between the first char of the row and
- // the specified position that is neither a newline nor an hfill,
- // the hfill will be expanded, otherwise it won't
- for (pos_type i = row.pos(); i < pos; i++) {
- if (!isNewline(i) && !isHfill(i))
- return true;
- }
- return false;
-}
-
-
int Paragraph::checkBiblio(bool track_changes)
{
//FIXME From JS: