diff options
Diffstat (limited to 'kdevdesigner/designer/syntaxhighlighter_html.cpp')
-rw-r--r-- | kdevdesigner/designer/syntaxhighlighter_html.cpp | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/kdevdesigner/designer/syntaxhighlighter_html.cpp b/kdevdesigner/designer/syntaxhighlighter_html.cpp deleted file mode 100644 index 5bb681f9..00000000 --- a/kdevdesigner/designer/syntaxhighlighter_html.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/********************************************************************** -** -** Copyright (C) 2000 Trolltech AS. All rights reserved. -** -** This file is part of TQt Designer. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** 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 -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -#include "syntaxhighlighter_html.h" -#include "tqstring.h" -#include "tqmap.h" -#include "tqapplication.h" - - -SyntaxHighlighter_HTML::SyntaxHighlighter_HTML() - : TQTextPreProcessor(), lastFormat( 0 ), lastFormatId( -1 ) -{ - TQFont f( tqApp->font() ); - - addFormat(Standard, new TQTextFormat(f, tqApp->palette().color(TQPalette::Active, TQColorGroup::Text))); - addFormat(Keyword, new TQTextFormat(f, tqApp->palette().color(TQPalette::Active, TQColorGroup::Dark))); - addFormat(Attribute, new TQTextFormat(f, tqApp->palette().color(TQPalette::Active, TQColorGroup::Link))); - addFormat(AttribValue, new TQTextFormat(f, tqApp->palette().color(TQPalette::Active, TQColorGroup::LinkVisited))); -} - -SyntaxHighlighter_HTML::~SyntaxHighlighter_HTML() -{ -} - -void SyntaxHighlighter_HTML::process( TQTextDocument *doc, TQTextParagraph *string, int, bool invalidate ) -{ - - TQTextFormat *formatStandard = format( Standard ); - TQTextFormat *formatKeyword = format( Keyword ); - TQTextFormat *formatAttribute = format( Attribute ); - TQTextFormat *formatAttribValue = format( AttribValue ); - - const int StateStandard = 0; - const int StateTag = 1; - const int StateAttribute = 2; - const int StateAttribVal = 3; - - TQString buffer = ""; - - int state = StateStandard; - - - if ( string->prev() ) { - if ( string->prev()->endState() == -1 ) - process( doc, string->prev(), 0, FALSE ); - state = string->prev()->endState(); - } - - - int i = 0; - for ( ;; ) { - TQChar c = string->at( i )->c; - - if ( c == '<' ) { - if ( state != StateStandard ) - string->setFormat( i - buffer.length(), buffer.length(), formatStandard, FALSE ); - buffer = c; - state = StateTag; - string->setFormat( i, 1, formatKeyword, FALSE ); - } - else if ( c == '>' && ( state != StateStandard ) ) { - string->setFormat( i, 1, formatKeyword, FALSE ); - buffer = ""; - state = StateStandard; - } - else if ( c == ' ' && state == StateTag ) { - buffer += c; - string->setFormat( i, 1, formatStandard, FALSE ); - state = StateAttribute; - } - else if ( c == '=' && state == StateAttribute ) { - buffer += c; - string->setFormat( i, 1, formatStandard, FALSE ); - state = StateAttribute; - } - else if ( c == '\"' && state == StateAttribute ) { - buffer += c; - string->setFormat( i, 1, formatStandard, FALSE ); - state = StateAttribVal; - } - else if ( c == '\"' && state == StateAttribVal ) { - buffer += c; - string->setFormat( i, 1, formatStandard, FALSE ); - state = StateAttribute; - } - else if ( state == StateAttribute ) { - buffer += c; - string->setFormat( i, 1, formatAttribute, FALSE ); - } - else if ( state == StateAttribVal ) { - buffer += c; - string->setFormat( i, 1, formatAttribValue, FALSE ); - } - else if ( state == StateTag ) { - string->setFormat( i, 1, formatKeyword, FALSE ); - buffer += c; - } - else if ( state == StateStandard ) { - string->setFormat( i, 1, formatStandard, FALSE ); - } - - i++; - if ( i >= string->length() ) - break; - } - - string->setEndState( state ); - string->setFirstPreProcess( FALSE ); - - if ( invalidate && string->next() && - !string->next()->firstPreProcess() && string->next()->endState() != -1 ) { - TQTextParagraph *p = string->next(); - while ( p ) { - if ( p->endState() == -1 ) - return; - p->setEndState( -1 ); - p = p->next(); - } - } -} - -TQTextFormat *SyntaxHighlighter_HTML::format( int id ) -{ - if ( lastFormatId == id && lastFormat ) - return lastFormat; - - TQTextFormat *f = formats[ id ]; - lastFormat = f ? f : formats[ 0 ]; - lastFormatId = id; - return lastFormat; -} - -void SyntaxHighlighter_HTML::addFormat( int id, TQTextFormat *f ) -{ - formats.insert( id, f ); -} |