summaryrefslogtreecommitdiff
path: root/utils/wpseditor/gui/src/numberedtextview.cpp
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2011-03-05 21:12:31 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2011-03-05 21:12:31 +0000
commite1244a0dff7815ad325ae433bc890275916b4fe8 (patch)
tree9c69167fa5877951028b6addecccc20dc13ae0b5 /utils/wpseditor/gui/src/numberedtextview.cpp
parent6538326ef2a46c11fa87e50cb7906e21cb6c42a4 (diff)
downloadrockbox-e1244a0dff7815ad325ae433bc890275916b4fe8.zip
rockbox-e1244a0dff7815ad325ae433bc890275916b4fe8.tar.gz
rockbox-e1244a0dff7815ad325ae433bc890275916b4fe8.tar.bz2
rockbox-e1244a0dff7815ad325ae433bc890275916b4fe8.tar.xz
Remove outdated and unmaintained wpseditor.
The wpseditor is superseded by the Theme Editor these days. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29528 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/wpseditor/gui/src/numberedtextview.cpp')
-rw-r--r--utils/wpseditor/gui/src/numberedtextview.cpp181
1 files changed, 0 insertions, 181 deletions
diff --git a/utils/wpseditor/gui/src/numberedtextview.cpp b/utils/wpseditor/gui/src/numberedtextview.cpp
deleted file mode 100644
index 81c4208..0000000
--- a/utils/wpseditor/gui/src/numberedtextview.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-/* This file is part of the KDE libraries
- Copyright (C) 2005, 2006 KJSEmbed Authors
- See included AUTHORS file.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-
-
- --------------------------------------------------------------------------------------
- Imported into the WPS editor and simplified by Dominik Wenger
-
-*/
-
-
-#include <QTextDocument>
-#include <QTextBlock>
-#include <QTextEdit>
-#include <QHBoxLayout>
-#include <QScrollBar>
-#include <QPainter>
-#include <QAbstractTextDocumentLayout>
-#include <QDebug>
-
-#include "numberedtextview.h"
-
-NumberBar::NumberBar( QWidget *parent )
- : QWidget( parent ), edit(0), markedLine(-1)
-{
- // Make room for 4 digits and the breakpoint icon
- setFixedWidth( fontMetrics().width( QString("0000") + 10 + 32 ) );
- markerIcon = QPixmap( "images/marker.png" );
-}
-
-NumberBar::~NumberBar()
-{
-}
-
-
-void NumberBar::markLine( int lineno )
-{
- markedLine = lineno;
-}
-
-void NumberBar::setTextEdit( QTextEdit *edit )
-{
- this->edit = edit;
- connect( edit->document()->documentLayout(), SIGNAL( update(const QRectF &) ),
- this, SLOT( update() ) );
- connect( edit->verticalScrollBar(), SIGNAL(valueChanged(int) ),
- this, SLOT( update() ) );
-}
-
-void NumberBar::paintEvent( QPaintEvent * )
-{
- QAbstractTextDocumentLayout *layout = edit->document()->documentLayout();
- int contentsY = edit->verticalScrollBar()->value();
- qreal pageBottom = contentsY + edit->viewport()->height();
- const QFontMetrics fm = fontMetrics();
- const int ascent = fontMetrics().ascent() + 1; // height = ascent + descent + 1
- int lineCount = 1;
-
- QPainter p(this);
-
- markedRect = QRect();
-
- for ( QTextBlock block = edit->document()->begin();
- block.isValid(); block = block.next(), ++lineCount )
- {
-
- const QRectF boundingRect = layout->blockBoundingRect( block );
-
- QPointF position = boundingRect.topLeft();
- if ( position.y() + boundingRect.height() < contentsY )
- continue;
- if ( position.y() > pageBottom )
- break;
-
- const QString txt = QString::number( lineCount );
- p.drawText( width() - fm.width(txt), qRound( position.y() ) - contentsY + ascent, txt );
-
- // marker
- if ( markedLine == lineCount )
- {
- p.drawPixmap( 1, qRound( position.y() ) - contentsY, markerIcon );
- markedRect = QRect( 1, qRound( position.y() ) - contentsY, markerIcon.width(), markerIcon.height() );
- }
- }
-}
-
-NumberedTextView::NumberedTextView( QWidget *parent )
- : QFrame( parent )
-{
- setFrameStyle( QFrame::StyledPanel | QFrame::Sunken );
- setLineWidth( 2 );
-
- // Setup the main view
- view = new QTextEdit( this );
- //view->setFontFamily( "Courier" );
- view->setLineWrapMode( QTextEdit::NoWrap );
- view->setFrameStyle( QFrame::NoFrame );
-
- connect( view->document(), SIGNAL(contentsChange(int,int,int)), this, SLOT(textChanged(int,int,int)) );
-
- // Setup the line number pane
- numbers = new NumberBar( this );
- numbers->setTextEdit( view );
-
- // Test
- markLine(2);
-
- //setup layout
- box = new QHBoxLayout( this );
- box->setSpacing( 0 );
- box->setMargin( 0 );
- box->addWidget( numbers );
- box->addWidget( view );
-}
-
-NumberedTextView::~NumberedTextView()
-{
-}
-
-void NumberedTextView::markLine( int lineno )
-{
- markedLine = lineno;
- numbers->markLine( lineno );
- textChanged(1,1,1);
-}
-
-void NumberedTextView::scrolltoLine( int lineno )
-{
- int max = view->verticalScrollBar()->maximum();
- int min = view->verticalScrollBar()->minimum();
- int lines = view->document()->blockCount();
- view->verticalScrollBar()->setValue( (max*lineno)/lines+min );
-}
-
-void NumberedTextView::textChanged( int pos, int removed, int added )
-{
- Q_UNUSED( pos );
-
- if ( removed == 0 && added == 0 )
- return;
-
- QTextBlock block = highlight.block();
- QTextBlockFormat fmt = block.blockFormat();
- QColor bg = view->palette().base().color();
- fmt.setBackground( bg );
- highlight.setBlockFormat( fmt );
-
- int lineCount = 1;
- for ( QTextBlock block = view->document()->begin();
- block.isValid(); block = block.next(), ++lineCount )
- {
- if ( lineCount == markedLine )
- {
- fmt = block.blockFormat();
- QColor bg = Qt::red;
- fmt.setBackground( bg.light(150) );
-
- highlight = QTextCursor( block );
- highlight.movePosition( QTextCursor::EndOfBlock, QTextCursor::KeepAnchor );
- highlight.setBlockFormat( fmt );
-
- break;
- }
- }
-}
-