]> git.lyx.org Git - lyx.git/blob - src/frontends/qt2/lengthcombo.C
build fixes
[lyx.git] / src / frontends / qt2 / lengthcombo.C
1 /**
2  * \file lengthcombo.C
3  * Copyright 2001 the LyX Team
4  * Read the file COPYING
5  *
6  * \author John Levon
7  */
8
9 #include <config.h>
10 #include "gettext.h"
11
12 #include "lengthcombo.h"
13
14 #include <qwhatsthis.h>
15
16 LengthCombo::LengthCombo(QWidget * parent, char * name)
17         : QComboBox(parent, name)
18 {
19         // FIXME: check these should all be here, I think not
20         insertItem(_("cm"));
21         insertItem(_("in"));
22         insertItem(_("pt"));
23         insertItem(_("mm"));
24         insertItem(_("pc"));
25         insertItem(_("ex"));
26         insertItem(_("em"));
27         insertItem(_("sp"));
28         insertItem(_("bp"));
29         insertItem(_("dd"));
30         insertItem(_("cc"));
31         insertItem(_("mu"));
32         insertItem(_("%p"));
33         insertItem(_("%c"));
34         insertItem(_("%l"));
35
36         connect(this, SIGNAL(activated(int)),
37                 this, SLOT(has_activated(int)));
38
39         QWhatsThis::add(this, _("FIXME - describe the units."));
40 }
41
42
43 LyXLength::UNIT LengthCombo::currentLengthItem() const
44 {
45         LyXLength::UNIT unit;
46         int i = currentItem();
47         switch (i) {
48                 default:
49                 case 0: unit = LyXLength::CM; break;
50                 case 1: unit = LyXLength::IN; break;
51                 case 2: unit = LyXLength::PT; break;
52                 case 3: unit = LyXLength::MM; break;
53                 case 4: unit = LyXLength::PC; break;
54                 case 5: unit = LyXLength::EX; break;
55                 case 6: unit = LyXLength::EM; break;
56                 case 7: unit = LyXLength::SP; break;
57                 case 8: unit = LyXLength::BP; break;
58                 case 9: unit = LyXLength::DD; break;
59                 case 10: unit = LyXLength::CC; break;
60                 case 11: unit = LyXLength::MU; break;
61                 case 12: unit = LyXLength::PP; break;
62                 case 13: unit = LyXLength::PW; break;
63                 case 14: unit = LyXLength::PL; break;
64                 // FIXME: LyXLength::PE ?
65         };
66         return unit;
67 }
68
69
70 void LengthCombo::has_activated(int)
71 {
72         emit selectionChanged(currentLengthItem());
73 }
74
75
76 void LengthCombo::setCurrentItem(LyXLength::UNIT unit)
77 {
78         int i;
79         switch (unit) {
80                 default:
81                 case LyXLength::CM: i = 0; break;
82                 case LyXLength::IN: i = 1; break;
83                 case LyXLength::PT: i = 2; break;
84                 case LyXLength::MM: i = 3; break;
85                 case LyXLength::PC: i = 4; break;
86                 case LyXLength::EX: i = 5; break;
87                 case LyXLength::EM: i = 6; break;
88                 case LyXLength::SP: i = 7; break;
89                 case LyXLength::BP: i = 8; break;
90                 case LyXLength::DD: i = 9; break;
91                 case LyXLength::CC: i = 10; break;
92                 case LyXLength::MU: i = 11; break;
93                 case LyXLength::PP: i = 12; break;
94                 case LyXLength::PW: i = 13; break;
95                 case LyXLength::PL: i = 14; break;
96                 // FIXME: LyXLength::PE ?
97         }
98         QComboBox::setCurrentItem(i);
99 }