lyx_mirror/src/lengthcommon.C
Jürgen Spitzmüller 41f754c975 A more general fix for bug 1682, also fixes off-by-one-errors in the frontend (combos)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@9229 a592a061-630c-0410-9148-cb99ea01b6c8
2004-11-11 12:32:53 +00:00

68 lines
2.0 KiB
C

/**
* \file lengthcommon.C
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Lars Gullik Bjønnes
* \author Matthias Ettrich
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "lengthcommon.h"
#include "gettext.h"
using std::string;
// I am not sure if "mu" should be possible to select (Lgb)
// unit_name is for compatibility. Can be deleted when all works well.
// means, when we have full language support for the lengths
// in all gui's (Herbert 2002-11-01)
char const * const unit_name[] = {
"sp", "pt", "bp", "dd", "mm", "pc",
"cc", "cm", "in", "ex", "em", "mu",
"text%", "col%", "page%", "line%",
"theight%", "pheight%", "" };
int const num_units = int(sizeof(unit_name) / sizeof(unit_name[0]) - 1);
// the latex units
char const * const unit_name_ltx[] = {
"sp", "pt", "bp", "dd", "mm", "pc",
"cc", "cm", "in", "ex", "em", "mu",
// in 1.4 the following names should be used. then no
// translation into the latex ones are needed
// "textheight", "columnwidth", "pagewidth", "linewidth",
// "textheight", "pageheight" };
"text%", "col%", "page%", "line%",
"theight%", "pheight%", "" };
// the LyX gui units
char const * const unit_name_gui[] = {
N_("sp"), N_("pt"), N_("bp"), N_("dd"), N_("mm"), N_("pc"),
N_("cc"), N_("cm"), N_("in"), N_("ex"), N_("em"), N_("mu"),
N_("text%"), N_("col%"), N_("page%"), N_("line%"),
N_("theight%"), N_("pheight%"), "" };
// this one maybe better ???? but there can be problems with
// xforms (Herbert)
// N_("textwidth%"), N_("columnwidth%"), N_("pagewidth%"), N_("linewidth%"),
// N_("textheight%"), N_("pageheight%") };
// or altenative this ones
// N_("twidth%"), N_("cwidth%"), N_("pwidth%"), N_("lwidth%"),
// N_("theight%"), N_("pheight%") };
LyXLength::UNIT unitFromString(string const & data)
{
int i = 0;
while (i < num_units && data != unit_name[i])
++i;
return static_cast<LyXLength::UNIT>(i);
}