+void Interpreter::ReadMenuProperties(graphics::MenuProperties &mprops, const PropertyList &props) {
+ for (PropertyList::ConstIterator i(props.Begin()), end(props.End()); i != end; ++i) {
+ if (i->first == "font") {
+ mprops.font = GetFont(*i->second);
+ } else if (i->first == "disabledFont") {
+ mprops.disabledFont = GetFont(*i->second);
+ } else if (i->first == "cursor") {
+ mprops.cursor = GetSprite(*i->second);
+ } else if (i->first == "charsPerEntry") {
+ mprops.charsPerEntry = GetNumber(*i->second);
+ } else if (i->first == "rows") {
+ mprops.rows = GetNumber(*i->second);
+ } else if (i->first == "rowGap") {
+ mprops.rowGap = GetNumber(*i->second);
+ } else if (i->first == "iconSpace") {
+ mprops.iconSpace = GetNumber(*i->second);
+ } else if (i->first == "cols") {
+ mprops.cols = GetNumber(*i->second);
+ } else if (i->first == "colGap") {
+ mprops.colGap = GetNumber(*i->second);
+ } else if (i->first == "delimiter") {
+ mprops.delimiter = *GetString(*i->second);
+ } else if (i->first == "charsPerNumber") {
+ mprops.charsPerNumber = GetNumber(*i->second);
+ } else if (i->first == "charsPerAdditionalText") {
+ mprops.charsPerAdditionalText = GetNumber(*i->second);
+ } else if (i->first == "additionalTextGap") {
+ mprops.additionalTextGap = GetNumber(*i->second);
+ } else {
+ throw Error("unknown MenuProperties property: " + i->first);
+ }
+ }
+}
+