2 * \file QCharacterDialog.C
3 * Copyright 2001 the LyX Team
4 * See the file COPYING.
6 * \author Edwin Leuven, leuven@fee.uva.nl
9 #include "QCharacterDialog.h"
13 #include <qcombobox.h>
14 #include <qcheckbox.h>
15 #include <qpushbutton.h>
16 #include <qgroupbox.h>
18 QCharacterDialog::QCharacterDialog(QCharacter * form, QWidget * parent, const char * name, bool modal, WFlags fl)
19 : QCharacterDialogBase(parent, name, modal, fl), form_(form)
25 QCharacterDialog::~QCharacterDialog()
30 LyXFont QCharacterDialog::getChar()
32 LyXFont font(LyXFont::ALL_IGNORE);
34 switch (family->currentItem()) {
35 case 0: font.setFamily(LyXFont::IGNORE_FAMILY); break;
36 case 1: font.setFamily(LyXFont::INHERIT_FAMILY); break;
37 case 2: font.setFamily(LyXFont::ROMAN_FAMILY); break;
38 case 3: font.setFamily(LyXFont::SANS_FAMILY); break;
39 case 4: font.setFamily(LyXFont::TYPEWRITER_FAMILY); break;
42 switch (series->currentItem()) {
43 case 0: font.setSeries(LyXFont::IGNORE_SERIES); break;
44 case 1: font.setSeries(LyXFont::INHERIT_SERIES); break;
45 case 2: font.setSeries(LyXFont::MEDIUM_SERIES); break;
46 case 3: font.setSeries(LyXFont::BOLD_SERIES); break;
49 switch (shape->currentItem()) {
50 case 0: font.setShape(LyXFont::IGNORE_SHAPE); break;
51 case 1: font.setShape(LyXFont::INHERIT_SHAPE); break;
52 case 2: font.setShape(LyXFont::UP_SHAPE); break;
53 case 3: font.setShape(LyXFont::ITALIC_SHAPE); break;
54 case 4: font.setShape(LyXFont::SLANTED_SHAPE); break;
55 case 5: font.setShape(LyXFont::SMALLCAPS_SHAPE); break;
58 switch (size->currentItem()) {
59 case 0: font.setSize(LyXFont::IGNORE_SIZE); break;
60 case 1: font.setSize(LyXFont::INHERIT_SIZE); break;
61 case 2: font.setSize(LyXFont::SIZE_TINY); break;
62 case 3: font.setSize(LyXFont::SIZE_SCRIPT); break;
63 case 4: font.setSize(LyXFont::SIZE_FOOTNOTE); break;
64 case 5: font.setSize(LyXFont::SIZE_SMALL); break;
65 case 6: font.setSize(LyXFont::SIZE_NORMAL); break;
66 case 7: font.setSize(LyXFont::SIZE_LARGE); break;
67 case 8: font.setSize(LyXFont::SIZE_LARGER); break;
68 case 9: font.setSize(LyXFont::SIZE_LARGEST); break;
69 case 10: font.setSize(LyXFont::SIZE_HUGE); break;
70 case 11: font.setSize(LyXFont::SIZE_HUGER); break;
71 case 12: font.setSize(LyXFont::INCREASE_SIZE); break;
72 case 13: font.setSize(LyXFont::DECREASE_SIZE); break;
75 switch (misc->currentItem()) {
76 case 0: font.setEmph(LyXFont::IGNORE);
77 font.setUnderbar(LyXFont::IGNORE);
78 font.setNoun(LyXFont::IGNORE);
79 // FIXME font.setLatex(LyXFont::IGNORE);
81 case 1: font.setEmph(LyXFont::INHERIT);
82 font.setUnderbar(LyXFont::INHERIT);
83 font.setNoun(LyXFont::INHERIT);
84 // FIXME font.setLatex(LyXFont::INHERIT);
86 case 2: font.setEmph(LyXFont::TOGGLE); break;
87 case 3: font.setUnderbar(LyXFont::TOGGLE); break;
88 case 4: font.setNoun(LyXFont::TOGGLE); break;
89 case 5: break; // FIXMEfont.setLatex(LyXFont::TOGGLE); break;
92 switch (color->currentItem()) {
93 case 0: font.setColor(LColor::ignore); break;
94 case 1: font.setColor(LColor::inherit); break;
95 case 2: font.setColor(LColor::none); break;
96 case 3: font.setColor(LColor::black); break;
97 case 4: font.setColor(LColor::white); break;
98 case 5: font.setColor(LColor::red); break;
99 case 6: font.setColor(LColor::green); break;
100 case 7: font.setColor(LColor::blue); break;
101 case 8: font.setColor(LColor::cyan); break;
102 case 9: font.setColor(LColor::magenta); break;
103 case 10: font.setColor(LColor::yellow); break;
106 int const pos = lang->currentItem();
108 font.setLanguage(ignore_language);
109 } else if (pos != 1) {
110 font.setLanguage(languages.getLanguage(lang->currentText().latin1()));
117 void QCharacterDialog::closeEvent(QCloseEvent * e)
124 void QCharacterDialog::setReadOnly(bool readonly)
126 sizeGB->setEnabled(!readonly);
127 charGB->setEnabled(!readonly);
128 miscGB->setEnabled(!readonly);
129 okPB->setEnabled(!readonly);
130 applyPB->setEnabled(!readonly);