summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/tools/designer/editor/parenmatcher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/tools/designer/editor/parenmatcher.cpp')
-rw-r--r--tqtinterface/qt4/tools/designer/editor/parenmatcher.cpp215
1 files changed, 0 insertions, 215 deletions
diff --git a/tqtinterface/qt4/tools/designer/editor/parenmatcher.cpp b/tqtinterface/qt4/tools/designer/editor/parenmatcher.cpp
deleted file mode 100644
index 990962c..0000000
--- a/tqtinterface/qt4/tools/designer/editor/parenmatcher.cpp
+++ /dev/null
@@ -1,215 +0,0 @@
-/**********************************************************************
-** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of TQt Designer.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** Licensees holding valid TQt Commercial licenses may use this file in
-** accordance with the TQt Commercial License Agreement provided with
-** the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "parenmatcher.h"
-#include "paragdata.h"
-
-#include "tqtextedit.h"
-#include <private/tqrichtext_p.h>
-#include <tqapplication.h>
-
-ParenMatcher::ParenMatcher()
-{
- enabled = TRUE;
-}
-
-bool ParenMatcher::match( TQTextCursor *cursor )
-{
- if ( !enabled )
- return FALSE;
- bool ret = FALSE;
-
- TQChar c( cursor->paragraph()->at( cursor->index() )->c );
- bool ok1 = FALSE;
- bool ok2 = FALSE;
- if ( c == '{' || c == '(' || c == '[' ) {
- ok1 = checkOpenParen( cursor );
- ret = ok1 || ret;
- } else if ( cursor->index() > 0 ) {
- c = cursor->paragraph()->at( cursor->index() - 1 )->c;
- if ( c == '}' || c == ')' || c == ']' ) {
- ok2 = checkClosedParen( cursor );
- ret = ok2 || ret;
- }
- }
-
- return ret;
-}
-
-bool ParenMatcher::checkOpenParen( TQTextCursor *cursor )
-{
- if ( !cursor->paragraph()->extraData() )
- return FALSE;
- ParenList parenList = ( (ParagData*)cursor->paragraph()->extraData() )->parenList;
-
- Paren openParen, closedParen;
- TQTextParagraph *closedParenParag = cursor->paragraph();
-
- int i = 0;
- int ignore = 0;
- bool foundOpen = FALSE;
- TQChar c = cursor->paragraph()->at( cursor->index() )->c;
- for (;;) {
- if ( !foundOpen ) {
- if ( i >= (int)parenList.count() )
- goto bye;
- openParen = parenList[ i ];
- if ( openParen.pos != cursor->index() ) {
- ++i;
- continue;
- } else {
- foundOpen = TRUE;
- ++i;
- }
- }
-
- if ( i >= (int)parenList.count() ) {
- for (;;) {
- closedParenParag = closedParenParag->next();
- if ( !closedParenParag )
- goto bye;
- if ( closedParenParag->extraData() &&
- ( (ParagData*)closedParenParag->extraData() )->parenList.count() > 0 ) {
- parenList = ( (ParagData*)closedParenParag->extraData() )->parenList;
- break;
- }
- }
- i = 0;
- }
-
- closedParen = parenList[ i ];
- if ( closedParen.type == Paren::Open ) {
- ignore++;
- ++i;
- continue;
- } else {
- if ( ignore > 0 ) {
- ignore--;
- ++i;
- continue;
- }
-
- int id = Match;
- if ( c == '{' && closedParen.chr != '}' ||
- c == '(' && closedParen.chr != ')' ||
- c == '[' && closedParen.chr != ']' )
- id = Mismatch;
- cursor->document()->setSelectionStart( id, *cursor );
- int tidx = cursor->index();
- TQTextParagraph *tstring = cursor->paragraph();
- cursor->setParagraph( closedParenParag );
- cursor->setIndex( closedParen.pos + 1 );
- cursor->document()->setSelectionEnd( id, *cursor );
- cursor->setParagraph( tstring );
- cursor->setIndex( tidx );
- return TRUE;
- }
- }
-
- bye:
- return FALSE;
-}
-
-bool ParenMatcher::checkClosedParen( TQTextCursor *cursor )
-{
- if ( !cursor->paragraph()->extraData() )
- return FALSE;
- ParenList parenList = ( (ParagData*)cursor->paragraph()->extraData() )->parenList;
-
- Paren openParen, closedParen;
- TQTextParagraph *openParenParag = cursor->paragraph();
-
- int i = (int)parenList.count() - 1;
- int ignore = 0;
- bool foundClosed = FALSE;
- TQChar c = cursor->paragraph()->at( cursor->index() - 1 )->c;
- for (;;) {
- if ( !foundClosed ) {
- if ( i < 0 )
- goto bye;
- closedParen = parenList[ i ];
- if ( closedParen.pos != cursor->index() - 1 ) {
- --i;
- continue;
- } else {
- foundClosed = TRUE;
- --i;
- }
- }
-
- if ( i < 0 ) {
- for (;;) {
- openParenParag = openParenParag->prev();
- if ( !openParenParag )
- goto bye;
- if ( openParenParag->extraData() &&
- ( (ParagData*)openParenParag->extraData() )->parenList.count() > 0 ) {
- parenList = ( (ParagData*)openParenParag->extraData() )->parenList;
- break;
- }
- }
- i = (int)parenList.count() - 1;
- }
-
- openParen = parenList[ i ];
- if ( openParen.type == Paren::Closed ) {
- ignore++;
- --i;
- continue;
- } else {
- if ( ignore > 0 ) {
- ignore--;
- --i;
- continue;
- }
-
- int id = Match;
- if ( c == '}' && openParen.chr != '{' ||
- c == ')' && openParen.chr != '(' ||
- c == ']' && openParen.chr != '[' )
- id = Mismatch;
- cursor->document()->setSelectionStart( id, *cursor );
- int tidx = cursor->index();
- TQTextParagraph *tstring = cursor->paragraph();
- cursor->setParagraph( openParenParag );
- cursor->setIndex( openParen.pos );
- cursor->document()->setSelectionEnd( id, *cursor );
- cursor->setParagraph( tstring );
- cursor->setIndex( tidx );
- return TRUE;
- }
- }
-
- bye:
- return FALSE;
-}