summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/tools/designer/editor/cindent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/tools/designer/editor/cindent.cpp')
-rw-r--r--tqtinterface/qt4/tools/designer/editor/cindent.cpp163
1 files changed, 0 insertions, 163 deletions
diff --git a/tqtinterface/qt4/tools/designer/editor/cindent.cpp b/tqtinterface/qt4/tools/designer/editor/cindent.cpp
deleted file mode 100644
index ef4f748..0000000
--- a/tqtinterface/qt4/tools/designer/editor/cindent.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/**********************************************************************
-** Copyright (C) 2000-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 "cindent.h"
-#include "tqregexp.h"
-
-extern int indentForBottomLine( const TQStringList& program, TQChar typedIn );
-extern void setTabSize( int s );
-extern void setIndentSize( int s );
-
-CIndent::CIndent()
- : TQTextIndent(), tabSize( 8 ), indentSize( 4 ),
- autoIndent( TRUE ), keepTabs( TRUE ), lastDoc( 0 )
-{
-}
-
-static int indentation( const TQString &s )
-{
- if ( s.simplifyWhiteSpace().length() == 0 )
- return 0;
- int i = 0;
- int ind = 0;
- while ( i < (int)s.length() ) {
- TQChar c = s.at( i );
- if ( c == ' ' )
- ind++;
- else if ( c == '\t' )
- ind += 8;
- else
- break;
- ++i;
- }
- return ind;
-}
-
-void CIndent::tabify( TQString &s )
-{
- if ( !keepTabs )
- return;
- int i = 0;
- for ( ;; ) {
- for ( int j = i; j < (int)s.length(); ++j ) {
- if ( s[ j ] != ' ' && s[ j ] != '\t' ) {
- if ( j > i ) {
- TQString t = s.mid( i, j - i );
- int spaces = 0;
- for ( int k = 0; k < (int)t.length(); ++k )
- spaces += ( t[ k ] == ' ' ? 1 : tabSize );
- s.remove( i, t.length() );
- int tabs = spaces / tabSize;
- spaces = spaces - ( tabSize * tabs );
- TQString tmp;
- tmp.fill( ' ', spaces );
- if ( spaces > 0 )
- s.insert( i, tmp );
- tmp.fill( '\t', tabs );
- if ( tabs > 0 )
- s.insert( i, tmp );
- }
- break;
- }
- }
- i = s.find( '\n', i );
- if ( i == -1 )
- break;
- ++i;
- }
-}
-
-void CIndent::indentLine( TQTextParagraph *p, int &oldIndent, int &newIndent )
-{
- TQString indentString;
- indentString.fill( ' ', newIndent );
- indentString.append( "a" );
- tabify( indentString );
- indentString.remove( indentString.length() - 1, 1 );
- newIndent = indentString.length();
- oldIndent = 0;
- while ( p->length() > 0 && ( p->at( 0 )->c == ' ' || p->at( 0 )->c == '\t' ) ) {
- ++oldIndent;
- p->remove( 0, 1 );
- }
- if ( p->string()->length() == 0 )
- p->append( " " );
- if ( !indentString.isEmpty() )
- p->insert( 0, indentString );
-}
-
-
-void CIndent::indent( TQTextDocument *doc, TQTextParagraph *p, int *oldIndent, int *newIndent )
-{
- lastDoc = doc;
- int oi = indentation( p->string()->toString() );
- TQStringList code;
- TQTextParagraph *parag = doc->firstParagraph();
- while ( parag ) {
- code << parag->string()->toString();
- if ( parag == p )
- break;
- parag = parag->next();
- }
-
- int ind = indentForBottomLine( code, TQChar::null );
- indentLine( p, oi, ind );
- if ( oldIndent )
- *oldIndent = oi;
- if ( newIndent )
- *newIndent = ind;
-}
-
-void CIndent::reindent()
-{
- if ( !lastDoc )
- return;
- // #### this is sloooooooow (O(n^2))
- TQTextParagraph *parag = lastDoc->firstParagraph();
- while ( parag ) {
- indent( lastDoc, parag, 0, 0 );
- parag = parag->next();
- }
-}
-
-void CIndent::setTabSize( int ts )
-{
- tabSize = ts;
- ::setTabSize( ts );
-}
-
-void CIndent::setIndentSize( int is )
-{
- indentSize = is;
- ::setIndentSize( is );
-}