+void ParagraphParameters::read(LyXLex & lex)
+{
+ while (lex.isOK()) {
+ lex.nextToken();
+ string const token = lex.getString();
+
+ if (token.empty())
+ continue;
+
+ if (token[0] != '\\') {
+ lex.pushToken(token);
+ break;
+ }
+
+ if (token == "\\noindent") {
+ noindent(true);
+ } else if (token == "\\leftindent") {
+ lex.nextToken();
+ LyXLength value(lex.getString());
+ leftIndent(value);
+ } else if (token == "\\start_of_appendix") {
+ startOfAppendix(true);
+ } else if (token == "\\paragraph_spacing") {
+ lex.next();
+ string const tmp = rtrim(lex.getString());
+ if (tmp == "single") {
+ spacing(Spacing(Spacing::Single));
+ } else if (tmp == "onehalf") {
+ spacing(Spacing(Spacing::Onehalf));
+ } else if (tmp == "double") {
+ spacing(Spacing(Spacing::Double));
+ } else if (tmp == "other") {
+ lex.next();
+ spacing(Spacing(Spacing::Other,
+ lex.getFloat()));
+ } else {
+ lex.printError("Unknown spacing token: '$$Token'");
+ }
+ } else if (token == "\\align") {
+ int tmpret = lex.findToken(string_align);
+ if (tmpret == -1)
+ ++tmpret;
+ align(LyXAlignment(1 << tmpret));
+ } else if (token == "\\labelwidthstring") {
+ lex.eatLine();
+ labelWidthString(lex.getString());
+ } else {
+ lex.pushToken(token);
+ break;
+ }
+ }