3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
12 #include "lengthcombo.h"
14 #include <qwhatsthis.h>
16 LengthCombo::LengthCombo(QWidget * parent, char * name)
17 : QComboBox(parent, name)
19 insertItem(_("Centimetres"));
20 insertItem(_("Inches"));
21 insertItem(_("Points"));
22 insertItem(_("Millimetres"));
23 insertItem(_("Picas"));
24 insertItem(_("ex units"));
25 insertItem(_("em units"));
26 insertItem(_("Scaled points"));
27 insertItem(_("Big/PS points"));
28 insertItem(_("Didot points"));
29 insertItem(_("Cicero points"));
30 insertItem(_("Mathematical units"));
31 insertItem(_("Percent of page"));
32 insertItem(_("Percent of column"));
33 insertItem(_("Percent of line width"));
35 connect(this, SIGNAL(activated(int)),
36 this, SLOT(has_activated(int)));
38 QWhatsThis::add(this, _("FIXME - describe the units."));
42 LyXLength::UNIT LengthCombo::currentLengthItem() const
45 int i = currentItem();
48 case 0: unit = LyXLength::CM; break;
49 case 1: unit = LyXLength::IN; break;
50 case 2: unit = LyXLength::PT; break;
51 case 3: unit = LyXLength::MM; break;
52 case 4: unit = LyXLength::PC; break;
53 case 5: unit = LyXLength::EX; break;
54 case 6: unit = LyXLength::EM; break;
55 case 7: unit = LyXLength::SP; break;
56 case 8: unit = LyXLength::BP; break;
57 case 9: unit = LyXLength::DD; break;
58 case 10: unit = LyXLength::CC; break;
59 case 11: unit = LyXLength::MU; break;
60 case 12: unit = LyXLength::PP; break;
61 case 13: unit = LyXLength::PW; break;
62 case 14: unit = LyXLength::PL; break;
63 // FIXME: LyXLength::PE ?
69 void LengthCombo::has_activated(int)
71 emit selectionChanged(currentLengthItem());
75 void LengthCombo::setCurrentItem(LyXLength::UNIT unit)
80 case LyXLength::CM: i = 0; break;
81 case LyXLength::IN: i = 1; break;
82 case LyXLength::PT: i = 2; break;
83 case LyXLength::MM: i = 3; break;
84 case LyXLength::PC: i = 4; break;
85 case LyXLength::EX: i = 5; break;
86 case LyXLength::EM: i = 6; break;
87 case LyXLength::SP: i = 7; break;
88 case LyXLength::BP: i = 8; break;
89 case LyXLength::DD: i = 9; break;
90 case LyXLength::CC: i = 10; break;
91 case LyXLength::MU: i = 11; break;
92 case LyXLength::PP: i = 12; break;
93 case LyXLength::PW: i = 13; break;
94 case LyXLength::PL: i = 14; break;
95 // FIXME: LyXLength::PE ?
97 QComboBox::setCurrentItem(i);