From 2bda8f7717adf28da4af0d34fb82f63d2868c31d Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: 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 --- kregexpeditor/textrangeregexp.h | 75 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 kregexpeditor/textrangeregexp.h (limited to 'kregexpeditor/textrangeregexp.h') 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 + * + * 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 + +typedef Pair 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 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 _ranges; +}; + +#endif // __TEXTRANGEREGEXP_H -- cgit v1.2.1