#include "BufferParams.h"
#include "BufferView.h"
#include "Bullet.h"
-#include "Color.h"
+#include "Changes.h"
#include "Cursor.h"
#include "CutAndPaste.h"
-#include "debug.h"
#include "DispatchResult.h"
#include "ErrorList.h"
#include "FuncRequest.h"
-#include "gettext.h"
#include "Language.h"
#include "Layout.h"
#include "Lexer.h"
#include "paragraph_funcs.h"
#include "ParagraphParameters.h"
#include "ParIterator.h"
-#include "Server.h"
-#include "ServerSocket.h"
+#include "TextClass.h"
#include "TextMetrics.h"
#include "VSpace.h"
#include "mathed/InsetMathHull.h"
+#include "support/debug.h"
+#include "support/gettext.h"
#include "support/textutils.h"
-#include <boost/current_function.hpp>
#include <boost/next_prior.hpp>
#include <sstream>
-using std::endl;
-using std::ostringstream;
-using std::string;
-using std::max;
-using std::min;
-using std::istringstream;
+using namespace std;
namespace lyx {
}
-Font Text::getLayoutFont(Buffer const & buffer, pit_type const pit) const
+FontInfo Text::getLayoutFont(Buffer const & buffer, pit_type const pit) const
{
LayoutPtr const & layout = pars_[pit].layout();
if (!pars_[pit].getDepth()) {
- Font lf = layout->resfont;
+ FontInfo lf = layout->resfont;
// In case the default family has been customized
- if (layout->font.family() == Font::INHERIT_FAMILY)
- lf.setFamily(buffer.params().getFont().family());
+ if (layout->font.family() == INHERIT_FAMILY)
+ lf.setFamily(buffer.params().getFont().fontInfo().family());
return lf;
}
- Font font = layout->font;
+ FontInfo font = layout->font;
// Realize with the fonts of lesser depth.
//font.realize(outerFont(pit, paragraphs()));
- font.realize(buffer.params().getFont());
+ font.realize(buffer.params().getFont().fontInfo());
return font;
}
-Font Text::getLabelFont(Buffer const & buffer, Paragraph const & par) const
+FontInfo Text::getLabelFont(Buffer const & buffer, Paragraph const & par) const
{
LayoutPtr const & layout = par.layout();
if (!par.getDepth()) {
- Font lf = layout->reslabelfont;
+ FontInfo lf = layout->reslabelfont;
// In case the default family has been customized
- if (layout->labelfont.family() == Font::INHERIT_FAMILY)
- lf.setFamily(buffer.params().getFont().family());
+ if (layout->labelfont.family() == INHERIT_FAMILY)
+ lf.setFamily(buffer.params().getFont().fontInfo().family());
return lf;
}
- Font font = layout->labelfont;
+ FontInfo font = layout->labelfont;
// Realize with the fonts of lesser depth.
- font.realize(buffer.params().getFont());
+ font.realize(buffer.params().getFont().fontInfo());
return font;
}
LayoutPtr const & layout = pars_[pit].layout();
// Get concrete layout font to reduce against
- Font layoutfont;
+ FontInfo layoutfont;
if (pos < pars_[pit].beginOfBody())
layoutfont = layout->labelfont;
// Inside inset, apply the inset's font attributes if any
// (charstyle!)
if (!isMainText(buffer))
- layoutfont.realize(display_font);
+ layoutfont.realize(display_font.fontInfo());
- layoutfont.realize(buffer.params().getFont());
+ layoutfont.realize(buffer.params().getFont().fontInfo());
// Now, reduce font against full layout font
- font.reduce(layoutfont);
+ font.fontInfo().reduce(layoutfont);
pars_[pit].setFont(pos, font);
}
LayoutPtr const & lyxlayout = params.getTextClass()[layout];
if (lyxlayout->is_environment) {
// move everything in a new environment inset
- LYXERR(Debug::DEBUG) << "setting layout " << to_utf8(layout) << endl;
+ LYXERR(Debug::DEBUG, "setting layout " << to_utf8(layout));
lyx::dispatch(FuncRequest(LFUN_LINE_BEGIN));
lyx::dispatch(FuncRequest(LFUN_LINE_END_SELECT));
lyx::dispatch(FuncRequest(LFUN_CUT));
BOOST_ASSERT(this == cur.text());
// Set the current_font
// Determine basis font
- Font layoutfont;
+ FontInfo layoutfont;
pit_type pit = cur.pit();
if (cur.pos() < pars_[pit].beginOfBody())
layoutfont = getLabelFont(cur.buffer(), pars_[pit]);
// Reduce to implicit settings
cur.current_font = cur.real_current_font;
- cur.current_font.reduce(layoutfont);
+ cur.current_font.fontInfo().reduce(layoutfont);
// And resolve it completely
- cur.real_current_font.realize(layoutfont);
+ cur.real_current_font.fontInfo().realize(layoutfont);
// if there is no selection that's all we need to do
if (!cur.selection())
{
BOOST_ASSERT(this == cur.text());
// If the mask is completely neutral, tell user
- if (font == Font(Font::ALL_IGNORE)) {
+ if (font.fontInfo() == ignore_font &&
+ (font.language() == 0 || font.language() == ignore_language)) {
// Could only happen with user style
cur.message(_("No font change defined."));
return;
CursorSlice resetCursor = cur.top();
bool implicitSelection =
font.language() == ignore_language
- && font.number() == Font::IGNORE
+ && font.fontInfo().number() == FONT_IGNORE
&& selectWordWhenUnderCursor(cur, WHOLE_WORD_STRICT);
// Set font
}
-bool Text::cursorLeft(Cursor & cur)
+bool Text::cursorBackward(Cursor & cur)
{
// Tell BufferView to test for FitCursor in any case!
cur.updateFlags(Update::FitCursor);
}
-bool Text::cursorRight(Cursor & cur)
+bool Text::cursorForward(Cursor & cur)
{
// Tell BufferView to test for FitCursor in any case!
cur.updateFlags(Update::FitCursor);
bool Text::deleteEmptyParagraphMechanism(Cursor & cur,
Cursor & old, bool & need_anchor_change)
{
- //LYXERR(Debug::DEBUG) << "DEPM: cur:\n" << cur << "old:\n" << old << endl;
+ //LYXERR(Debug::DEBUG, "DEPM: cur:\n" << cur << "old:\n" << old);
Paragraph & oldpar = old.paragraph();
bool const soa = oldpar.params().startOfAppendix();
plist.erase(boost::next(plist.begin(), old.pit()));
// do not lose start of appendix marker (bug 4212)
- if (soa)
+ if (soa && old.pit() < pit_type(plist.size()))
plist[old.pit()].params().startOfAppendix(true);
// see #warning (FIXME?) above