/**
* \file lengthcombo.C
- * Copyright 2001 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
* \author John Levon
+ * \author Herbert Voss
+ *
+ * Full author contact details are available in file CREDITS
*/
#include <config.h>
-#include "gettext.h"
-#include "lengthcombo.h"
+#ifdef __GNUG__
+#pragma implementation
+#endif
+#include "lengthcombo.h"
#include <qwhatsthis.h>
+#include "lengthcommon.h"
+#include "gettext.h"
+
+
LengthCombo::LengthCombo(QWidget * parent, char * name)
: QComboBox(parent, name)
{
- insertItem(_("cm"));
- insertItem(_("in"));
- insertItem(_("pt"));
- insertItem(_("mm"));
- insertItem(_("pc"));
- insertItem(_("ex"));
- insertItem(_("em"));
- insertItem(_("sp"));
- insertItem(_("bp"));
- insertItem(_("dd"));
- insertItem(_("cc"));
- insertItem(_("mu"));
- insertItem(_("%p"));
- insertItem(_("%c"));
- insertItem(_("%l"));
+ for (int i=0; i < num_units; i++)
+ insertItem(unit_name_gui[i]);
connect(this, SIGNAL(activated(int)),
this, SLOT(has_activated(int)));
- QWhatsThis::add(this, _("FIXME - describe the units."));
+ QWhatsThis::add(this, _("Choose one of the units or relative lengths"));
}
LyXLength::UNIT LengthCombo::currentLengthItem() const
{
- LyXLength::UNIT unit;
- int i = currentItem();
- switch (i) {
- default:
- case 0: unit = LyXLength::CM; break;
- case 1: unit = LyXLength::IN; break;
- case 2: unit = LyXLength::PT; break;
- case 3: unit = LyXLength::MM; break;
- case 4: unit = LyXLength::PC; break;
- case 5: unit = LyXLength::EX; break;
- case 6: unit = LyXLength::EM; break;
- case 7: unit = LyXLength::SP; break;
- case 8: unit = LyXLength::BP; break;
- case 9: unit = LyXLength::DD; break;
- case 10: unit = LyXLength::CC; break;
- case 11: unit = LyXLength::MU; break;
- case 12: unit = LyXLength::PP; break;
- case 13: unit = LyXLength::PW; break;
- case 14: unit = LyXLength::PL; break;
- // FIXME: LyXLength::PE ?
- };
- return unit;
+ return static_cast<LyXLength::UNIT>(currentItem());
}
void LengthCombo::setCurrentItem(LyXLength::UNIT unit)
{
- int i;
- switch (unit) {
- default:
- case LyXLength::CM: i = 0; break;
- case LyXLength::IN: i = 1; break;
- case LyXLength::PT: i = 2; break;
- case LyXLength::MM: i = 3; break;
- case LyXLength::PC: i = 4; break;
- case LyXLength::EX: i = 5; break;
- case LyXLength::EM: i = 6; break;
- case LyXLength::SP: i = 7; break;
- case LyXLength::BP: i = 8; break;
- case LyXLength::DD: i = 9; break;
- case LyXLength::CC: i = 10; break;
- case LyXLength::MU: i = 11; break;
- case LyXLength::PP: i = 12; break;
- case LyXLength::PW: i = 13; break;
- case LyXLength::PL: i = 14; break;
- // FIXME: LyXLength::PE ?
- }
- QComboBox::setCurrentItem(i);
+ QComboBox::setCurrentItem(int(unit));
+}
+
+
+void LengthCombo::setEnabled(bool b)
+{
+ QComboBox::setEnabled(b);
}
+