Initial commit to git repository
[liteman.git] / src / termeditor.h
blobec6136c99a1bd995fc7e1ecb022d8142b31fe71c
1 /*
2 * This file is part of LineMan.
4 * Copyright 2006 Igor Khanin
6 * LiteMan is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * LiteMan is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with LiteMan; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21 #include <QLineEdit>
22 #include <QComboBox>
24 #include <QHBoxLayout>
26 #include "database.h"
28 /*!
29 * @brief A hidden helper widget for editing a query term
31 class TermEditor : public QWidget
33 Q_OBJECT
34 public:
35 TermEditor(const FieldList & fieldList): QWidget(0)
37 fields = new QComboBox();
38 for(int i = 0; i < fieldList.size(); i++)
39 fields->addItem(fieldList[i].name);
41 relations = new QComboBox();
42 relations->addItems(QStringList() << tr("Contains") << tr("Doesn't contain") << tr("Equals") << tr("Not equals")
43 << tr("Bigger than") << tr("Smaller than"));
45 value = new QLineEdit();
47 QHBoxLayout * layout = new QHBoxLayout();
48 layout->addWidget(fields);
49 layout->addWidget(relations);
50 layout->addWidget(value);
52 setLayout(layout);
55 QString selectedField() { return fields->currentText(); }
56 int selectedRelation() { return relations->currentIndex(); }
57 QString selectedValue() { return value->text(); }
59 private:
60 QComboBox * fields;
61 QComboBox * relations;
62 QLineEdit * value;