stringlistvalidator.cpp
1 /*
2  name: tools/editor/stringlistvalidator.cpp
3 
4  This file is part of ARCS - Augmented Reality Component System
5  (version 2-current), written by Jean-Yves Didier
6  for IBISC Laboratory (http://www.ibisc.univ-evry.fr)
7 
8  Copyright (C) 2013 Université d'Evry-Val d'Essonne
9 
10  This program is free software: you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation, either version 2 of the License, or
13  (at your option) any later version.
14 
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with this program. If not, see <http://www.gnu.org/licenses/>.
22 
23 
24  Please send bugreports with examples or suggestions to
25  jean-yves.didier__at__ibisc.univ-evry.fr
26 */
27 
28 
29 #include "stringlistvalidator.h"
30 
31 
32 StringListValidator::StringListValidator(QStringList lst, QObject *parent) :
33  QValidator(parent)
34 
35 {
36  strings = lst;
37 }
38 
39 
40 QValidator::State StringListValidator::validate(QString &str, int &) const
41 {
42  if (str.isEmpty())
43  return Intermediate;
44  if (strings.contains(str))
45  return Acceptable;
46 
47  if (strings.indexOf(QRegExp(str+"*",Qt::CaseSensitive,QRegExp::Wildcard)) >= 0 )
48  return Intermediate;
49 
50  return Invalid;
51 }