Eneboo - Documentación para desarrolladores
|
00001 /********************************************************************** 00002 ** Copyright (C) 2000 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of Qt Designer. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 00012 ** licenses may use this file in accordance with the Qt Commercial License 00013 ** Agreement provided with the Software. 00014 ** 00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00017 ** 00018 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00019 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 00020 ** information about Qt Commercial License Agreements. 00021 ** 00022 ** Contact info@trolltech.com if any conditions of this licensing are 00023 ** not clear to you. 00024 ** 00025 **********************************************************************/ 00026 00027 #ifndef PARENMATCHER_H 00028 #define PARENMATCHER_H 00029 00030 #include <qstring.h> 00031 #include <qvaluelist.h> 00032 00033 class QTextCursor; 00034 00035 struct Paren 00036 { 00037 Paren() : type( Open ), chr( ' ' ), pos( -1 ) {} 00038 Paren( int t, const QChar &c, int p ) : type( (Type)t ), chr( c ), pos( p ) {} 00039 enum Type { Open, Closed }; 00040 Type type; 00041 QChar chr; 00042 int pos; 00043 00044 Q_DUMMY_COMPARISON_OPERATOR( Paren ) 00045 }; 00046 00047 typedef QValueList<Paren> ParenList; 00048 00049 class ParenMatcher 00050 { 00051 public: 00052 enum Selection { 00053 Match = 1, 00054 Mismatch 00055 }; 00056 00057 ParenMatcher(); 00058 00059 virtual bool match( QTextCursor *c ); 00060 00061 void setEnabled( bool b ) { enabled = b; } 00062 00063 private: 00064 bool checkOpenParen( QTextCursor *c ); 00065 bool checkClosedParen( QTextCursor *c ); 00066 00067 bool enabled; 00068 00069 }; 00070 00071 #endif