Eneboo - Documentación para desarrolladores
src/qsa/tools/designer/editor/parenmatcher.h
Ir a la documentación de este archivo.
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
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'