diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 2bda8f7717adf28da4af0d34fb82f63d2868c31d (patch) | |
tree | 8d927b7b47a90c4adb646482a52613f58acd6f8c /kregexpeditor/textrangeregexp.h | |
download | tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.tar.gz tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kregexpeditor/textrangeregexp.h')
-rw-r--r-- | kregexpeditor/textrangeregexp.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/kregexpeditor/textrangeregexp.h b/kregexpeditor/textrangeregexp.h new file mode 100644 index 0000000..de1785e --- /dev/null +++ b/kregexpeditor/textrangeregexp.h @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2002-2003 Jesper K. Pedersen <blackie@kde.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License version 2 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + **/ +#ifndef __TEXTRANGEREGEXP_H +#define __TEXTRANGEREGEXP_H + +#include "regexp.h" +#include "pair.h" +#include <qstringlist.h> + +typedef Pair<QString,QString> StringPair; + +/** + Abstract syntax node for `text range' regular expression + + @internal +*/ +class TextRangeRegExp :public RegExp +{ +public: + TextRangeRegExp( bool selected ); + virtual ~TextRangeRegExp(); + + void addCharacter( QString ch ); + QStringList chars() const { return _chars; } + void clearChars() { _chars.clear(); } + + void addRange( QString from, QString to ); + QPtrList<StringPair> range() const { return _ranges; } + void clearRange() { _ranges.clear(); } + + void setNegate( bool set ) { _negate = set; } + void setDigit( bool set ) { _digit = set; } + void setNonDigit( bool set ) { _nonDigit = set; } + void setSpace( bool set ) { _space = set; } + void setNonSpace( bool set ) { _nonSpace = set; } + void setWordChar( bool set ) { _wordChar = set; } + void setNonWordChar( bool set ) { _nonWordChar = set; } + + bool negate() const { return _negate; } + bool digit() const { return _digit; } + bool nonDigit() const { return _nonDigit; } + bool space() const { return _space; } + bool nonSpace() const { return _nonSpace; } + bool wordChar() const { return _wordChar; } + bool nonWordChar() const { return _nonWordChar; } + + virtual bool check( ErrorMap&, bool first, bool last ); + virtual int precedence() const { return 4;} + virtual QDomNode toXml( QDomDocument* doc ) const; + virtual bool load( QDomElement, const QString& version ); + virtual RegExpType type() const { return TEXTRANGE;} + virtual bool operator==( const RegExp& other ) const; + +private: + bool _negate, _digit, _nonDigit, _space, _nonSpace, _wordChar, _nonWordChar; + QStringList _chars; + QPtrList<StringPair> _ranges; +}; + +#endif // __TEXTRANGEREGEXP_H |