From: Angus Leeming Date: Tue, 1 Apr 2003 09:39:06 +0000 (+0000) Subject: Rewrite string2font to no longer use bool Bool (or equivalent) X-Git-Tag: 1.6.10~17093 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=c0156b402f4b344fb54f61f28b9dac054a9aea5d;p=features.git Rewrite string2font to no longer use bool Bool (or equivalent) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@6667 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/ChangeLog b/src/ChangeLog index 6cb6f11ec5..44cd8c83df 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2003-04-01 Angus Leeming + + * bufferview_funcs.C (string2font): rewrite so that it no longer uses + stuff like bool Bool. + 2003-04-01 Alfredo Braunstein * text2.C (redoParagraphs): fix a bug (introduced by myself) and diff --git a/src/bufferview_funcs.C b/src/bufferview_funcs.C index c557bb1e34..0afd78ff67 100644 --- a/src/bufferview_funcs.C +++ b/src/bufferview_funcs.C @@ -76,77 +76,77 @@ bool string2font(string const & data, LyXFont & font, bool & toggle) LyXLex lex(0,0); lex.setStream(is); - int Int = 0; - bool Bool = false; - string String; - int nset = 0; while (lex.isOK()) { - lex.next(); - string const token = lex.getString(); - - if (token == "family" || - token == "series" || - token == "shape" || - token == "size" || - token == "emph" || - token == "underbar" || - token == "noun" || - token == "number" || - token == "color") { - lex.next(); - Int = lex.getInteger(); - } else if (token == "language") { - lex.next(); - String = lex.getString(); - } else if (token == "toggleall") { - lex.next(); - Bool = lex.getBool(); - } else { - // Unrecognised token - break; - } + string token; + if (lex.next()) + token = lex.getString(); - if (!lex.isOK()) + if (token.empty() || !lex.next()) break; - ++nset; if (token == "family") { - font.setFamily(static_cast(Int)); + int const next = lex.getInteger(); + LyXFont::FONT_FAMILY const family = + static_cast(next); + font.setFamily(family); } else if (token == "series") { - font.setSeries(static_cast(Int)); + int const next = lex.getInteger(); + LyXFont::FONT_SERIES const series = + static_cast(next); + font.setSeries(series); } else if (token == "shape") { - font.setShape(static_cast(Int)); + int const next = lex.getInteger(); + LyXFont::FONT_SHAPE const shape = + static_cast(next); + font.setShape(shape); } else if (token == "size") { - font.setSize(static_cast(Int)); - - } else if (token == "emph") { - font.setEmph(static_cast(Int)); - - } else if (token == "underbar") { - font.setUnderbar(static_cast(Int)); - - } else if (token == "noun") { - font.setNoun(static_cast(Int)); - - } else if (token == "number") { - font.setNumber(static_cast(Int)); + int const next = lex.getInteger(); + LyXFont::FONT_SIZE const size = + static_cast(next); + font.setSize(size); + + } else if (token == "emph" || token == "underbar" || + token == "noun" || token == "number") { + + int const next = lex.getInteger(); + LyXFont::FONT_MISC_STATE const misc = + static_cast(next); + + if (token == "emph") + font.setEmph(misc); + else if (token == "underbar") + font.setUnderbar(misc); + else if (token == "noun") + font.setNoun(misc); + else if (token == "number") + font.setNumber(misc); } else if (token == "color") { - font.setColor(static_cast(Int)); + int const next = lex.getInteger(); + LColor::color const color = + static_cast(next); + font.setColor(color); } else if (token == "language") { - if (String == "ignore") + string const next = lex.getString(); + if (next == "ignore") font.setLanguage(ignore_language); else - font.setLanguage(languages.getLanguage(String)); + font.setLanguage(languages.getLanguage(next)); } else if (token == "toggleall") { - toggle = Bool; + toggle = lex.getBool(); + + } else { + // Unrecognised token + break; } + + ++nset; } return (nset > 0); }