- return new InsetSpace(InsetSpace::NORMAL);
- if (name == "protected")
- return new InsetSpace(InsetSpace::PROTECTED);
- if (name == "thin")
- return new InsetSpace(InsetSpace::THIN);
- if (name == "quad")
- return new InsetSpace(InsetSpace::QUAD);
- if (name == "qquad")
- return new InsetSpace(InsetSpace::QQUAD);
- if (name == "enspace")
- return new InsetSpace(InsetSpace::ENSPACE);
- if (name == "enskip")
- return new InsetSpace(InsetSpace::ENSKIP);
- if (name == "negthinspace")
- return new InsetSpace(InsetSpace::NEGTHIN);
- if (name.empty())
- lyxerr << "LyX function 'space' needs an argument." << endl;
- else
- lyxerr << "Wrong argument for LyX function 'space'." << endl;
+ isp.kind = InsetSpaceParams::NORMAL;
+ else if (name == "protected")
+ isp.kind = InsetSpaceParams::PROTECTED;
+ else if (name == "visible")
+ isp.kind = InsetSpaceParams::VISIBLE;
+ else if (name == "thin")
+ isp.kind = InsetSpaceParams::THIN;
+ else if (isp.math && name == "med")
+ isp.kind = InsetSpaceParams::MEDIUM;
+ else if (isp.math && name == "thick")
+ isp.kind = InsetSpaceParams::THICK;
+ else if (name == "quad")
+ isp.kind = InsetSpaceParams::QUAD;
+ else if (name == "qquad")
+ isp.kind = InsetSpaceParams::QQUAD;
+ else if (name == "enspace")
+ isp.kind = InsetSpaceParams::ENSPACE;
+ else if (name == "enskip")
+ isp.kind = InsetSpaceParams::ENSKIP;
+ else if (name == "negthinspace")
+ isp.kind = InsetSpaceParams::NEGTHIN;
+ else if (name == "negmedspace")
+ isp.kind = InsetSpaceParams::NEGMEDIUM;
+ else if (name == "negthickspace")
+ isp.kind = InsetSpaceParams::NEGTHICK;
+ else if (name == "hfill")
+ isp.kind = InsetSpaceParams::HFILL;
+ else if (name == "hfill*")
+ isp.kind = InsetSpaceParams::HFILL_PROTECTED;
+ else if (name == "dotfill")
+ isp.kind = InsetSpaceParams::DOTFILL;
+ else if (name == "hrulefill")
+ isp.kind = InsetSpaceParams::HRULEFILL;
+ else if (name == "hspace") {
+ if (len.empty() || !isValidGlueLength(len)) {
+ lyxerr << "LyX function 'space-insert hspace' "
+ << "needs a valid length argument." << endl;
+ break;
+ }
+ isp.kind = InsetSpaceParams::CUSTOM;
+ isp.length = GlueLength(len);
+ }
+ else if (name == "hspace*") {
+ if (len.empty() || !isValidGlueLength(len)) {
+ lyxerr << "LyX function 'space-insert hspace*' "
+ << "needs a valid length argument." << endl;
+ break;
+ }
+ isp.kind = InsetSpaceParams::CUSTOM_PROTECTED;
+ isp.length = GlueLength(len);
+ }
+ else {
+ lyxerr << "Wrong argument for LyX function 'space-insert'." << endl;
+ break;
+ }
+ return new InsetSpace(isp);