diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-06 15:56:40 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-06 15:56:40 -0600 |
commit | e16866e072f94410321d70daedbcb855ea878cac (patch) | |
tree | ee3f52eabde7da1a0e6ca845fb9c2813cf1558cf /kdeui/kselect.cpp | |
parent | a58c20c1a7593631a1b50213c805507ebc16adaf (diff) | |
download | tdelibs-e16866e072f94410321d70daedbcb855ea878cac.tar.gz tdelibs-e16866e072f94410321d70daedbcb855ea878cac.zip |
Actually move the kde files that were renamed in the last commit
Diffstat (limited to 'kdeui/kselect.cpp')
-rw-r--r-- | kdeui/kselect.cpp | 534 |
1 files changed, 0 insertions, 534 deletions
diff --git a/kdeui/kselect.cpp b/kdeui/kselect.cpp deleted file mode 100644 index 8801f5570..000000000 --- a/kdeui/kselect.cpp +++ /dev/null @@ -1,534 +0,0 @@ -/* This file is part of the KDE libraries - Copyright (C) 1997 Martin Jones (mjones@kde.org) - - 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. -*/ - -#include <tqimage.h> -#include <tqpainter.h> -#include <tqdrawutil.h> -#include <tqstyle.h> -#include <kimageeffect.h> -#include "kselect.h" - -#define STORE_W 8 -#define STORE_W2 STORE_W * 2 - -//----------------------------------------------------------------------------- -/* - * 2D value selector. - * The contents of the selector are drawn by derived class. - */ - -KXYSelector::KXYSelector( TQWidget *parent, const char *name ) - : TQWidget( parent, name ) -{ - xPos = 0; - yPos = 0; - minX = 0; - minY = 0; - maxX = 100; - maxY = 100; - store.setOptimization( TQPixmap::BestOptim ); - store.resize( STORE_W2, STORE_W2 ); -} - - -KXYSelector::~KXYSelector() -{} - - -void KXYSelector::setRange( int _minX, int _minY, int _maxX, int _maxY ) -{ - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - px = w; - py = w; - minX = _minX; - minY = _minY; - maxX = _maxX; - maxY = _maxY; -} - -void KXYSelector::setXValue( int _xPos ) -{ - setValues(_xPos, yPos); -} - -void KXYSelector::setYValue( int _yPos ) -{ - setValues(xPos, _yPos); -} - -void KXYSelector::setValues( int _xPos, int _yPos ) -{ - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - if (w < 5) w = 5; - - xPos = _xPos; - yPos = _yPos; - - if ( xPos > maxX ) - xPos = maxX; - else if ( xPos < minX ) - xPos = minX; - - if ( yPos > maxY ) - yPos = maxY; - else if ( yPos < minY ) - yPos = minY; - - int xp = w + (width() - 2 * w) * xPos / (maxX - minX); - int yp = height() - w - (height() - 2 * w) * yPos / (maxY - minY); - - setPosition( xp, yp ); -} - -TQRect KXYSelector::contentsRect() const -{ - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - if (w < 5) { - w = 5; - } - TQRect contents(rect()); - contents.addCoords(w, w, -w, -w); - return contents; -} - -void KXYSelector::paintEvent( TQPaintEvent *ev ) -{ - TQRect cursorRect( px - STORE_W, py - STORE_W, STORE_W2, STORE_W2); - TQRect paintRect = ev->rect(); - TQRect borderRect = rect(); - - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - if (w < 5) { - w = 5 - w; - } - borderRect.addCoords(w, w, -w, -w); - - TQPainter painter; - painter.begin( this ); - - tqstyle().tqdrawPrimitive(TQStyle::PE_Panel, &painter, - borderRect, tqcolorGroup(), - TQStyle::Style_Sunken); - - drawContents( &painter ); - if (paintRect.contains(cursorRect)) - { - bitBlt( &store, 0, 0, this, px - STORE_W, py - STORE_W, - STORE_W2, STORE_W2, CopyROP ); - drawCursor( &painter, px, py ); - } - else if (paintRect.intersects(cursorRect)) - { - tqrepaint( cursorRect, false); - } - - painter.end(); -} - -void KXYSelector::mousePressEvent( TQMouseEvent *e ) -{ - mouseMoveEvent(e); -} - -void KXYSelector::mouseMoveEvent( TQMouseEvent *e ) -{ - int xVal, yVal; - - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - valuesFromPosition( e->pos().x() - w, e->pos().y() - w, xVal, yVal ); - - setValues( xVal, yVal ); - - emit valueChanged( xPos, yPos ); -} - -void KXYSelector::wheelEvent( TQWheelEvent *e ) -{ - if ( e->orientation() == Qt::Horizontal ) - setValues( xValue() + e->delta()/120, yValue() ); - else - setValues( xValue(), yValue() + e->delta()/120 ); - - emit valueChanged( xPos, yPos ); -} - -void KXYSelector::valuesFromPosition( int x, int y, int &xVal, int &yVal ) const -{ - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - if (w < 5) w = 5; - xVal = ( (maxX-minX) * (x-w) ) / ( width()-2*w ); - yVal = maxY - ( ( (maxY-minY) * (y-w) ) / ( height()-2*w ) ); - - if ( xVal > maxX ) - xVal = maxX; - else if ( xVal < minX ) - xVal = minX; - - if ( yVal > maxY ) - yVal = maxY; - else if ( yVal < minY ) - yVal = minY; -} - -void KXYSelector::setPosition( int xp, int yp ) -{ - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - if (w < 5) w = 5; - if ( xp < w ) - xp = w; - else if ( xp > width() - w ) - xp = width() - w; - - if ( yp < w ) - yp = w; - else if ( yp > height() - w ) - yp = height() - w; - - TQPainter painter; - painter.begin( this ); - - bitBlt( this, px - STORE_W, py - STORE_W, &store, 0, 0, - STORE_W2, STORE_W2, CopyROP ); - bitBlt( &store, 0, 0, this, xp - STORE_W, yp - STORE_W, - STORE_W2, STORE_W2, CopyROP ); - drawCursor( &painter, xp, yp ); - px = xp; - py = yp; - - painter.end(); -} - -void KXYSelector::drawContents( TQPainter * ) -{} - - -void KXYSelector::drawCursor( TQPainter *p, int xp, int yp ) -{ - p->setPen( TQPen( white ) ); - - p->drawLine( xp - 6, yp - 6, xp - 2, yp - 2 ); - p->drawLine( xp - 6, yp + 6, xp - 2, yp + 2 ); - p->drawLine( xp + 6, yp - 6, xp + 2, yp - 2 ); - p->drawLine( xp + 6, yp + 6, xp + 2, yp + 2 ); -} - -//----------------------------------------------------------------------------- -/* - * 1D value selector with contents drawn by derived class. - * See KColorDialog for example. - */ - - -KSelector::KSelector( TQWidget *parent, const char *name ) - : TQWidget( parent, name ), TQRangeControl() -{ - _orientation = Qt::Horizontal; - _indent = true; -} - -KSelector::KSelector( Orientation o, TQWidget *parent, const char *name ) - : TQWidget( parent, name ), TQRangeControl() -{ - _orientation = o; - _indent = true; -} - - -KSelector::~KSelector() -{} - - -TQRect KSelector::contentsRect() const -{ - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - int iw = (w < 5) ? 5 : w; - if ( orientation() == Qt::Vertical ) - return TQRect( w, iw, width() - w * 2 - 5, height() - 2 * iw ); - else - return TQRect( iw, w, width() - 2 * iw, height() - w * 2 - 5 ); -} - -void KSelector::paintEvent( TQPaintEvent * ) -{ - TQPainter painter; - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - int iw = (w < 5) ? 5 : w; - - painter.begin( this ); - - drawContents( &painter ); - - if ( indent() ) - { - TQRect r = rect(); - if ( orientation() == Qt::Vertical ) - r.addCoords(0, iw - w, -iw, w - iw); - else - r.addCoords(iw - w, 0, w - iw, -iw); - tqstyle().tqdrawPrimitive(TQStyle::PE_Panel, &painter, - r, tqcolorGroup(), - TQStyle::Style_Sunken); - } - - TQPoint pos = calcArrowPos( value() ); - drawArrow( &painter, true, pos ); - - painter.end(); -} - -void KSelector::mousePressEvent( TQMouseEvent *e ) -{ - moveArrow( e->pos() ); -} - -void KSelector::mouseMoveEvent( TQMouseEvent *e ) -{ - moveArrow( e->pos() ); -} - -void KSelector::wheelEvent( TQWheelEvent *e ) -{ - int val = value() + e->delta()/120; - setValue( val ); -} - -void KSelector::valueChange() -{ - TQPainter painter; - TQPoint pos; - - painter.begin( this ); - - pos = calcArrowPos( prevValue() ); - drawArrow( &painter, false, pos ); - - pos = calcArrowPos( value() ); - drawArrow( &painter, true, pos ); - - painter.end(); - - emit valueChanged( value() ); -} - -void KSelector::moveArrow( const TQPoint &pos ) -{ - int val; - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - int iw = (w < 5) ? 5 : w; - - if ( orientation() == Qt::Vertical ) - val = ( maxValue() - minValue() ) * (height()-pos.y()-5+w) - / (height()-iw*2) + minValue(); - else - val = ( maxValue() - minValue() ) * (width()-pos.x()-5+w) - / (width()-iw*2) + minValue(); - - setValue( val ); -} - -TQPoint KSelector::calcArrowPos( int val ) -{ - TQPoint p; - - int w = tqstyle().tqpixelMetric(TQStyle::PM_DefaultFrameWidth); - int iw = (w < 5) ? 5 : w; - if ( orientation() == Qt::Vertical ) - { - p.setY( height() - ( (height()-2*iw) * val - / ( maxValue() - minValue() ) + 5 ) ); - p.setX( width() - 5 ); - } - else - { - p.setX( width() - ( (width()-2*iw) * val - / ( maxValue() - minValue() ) + 5 ) ); - p.setY( height() - 5 ); - } - - return p; -} - -void KSelector::drawContents( TQPainter * ) -{} - -void KSelector::drawArrow( TQPainter *painter, bool show, const TQPoint &pos ) -{ - if ( show ) - { - TQPointArray array(3); - - painter->setPen( TQPen() ); - painter->setBrush( TQBrush( tqcolorGroup().buttonText() ) ); - array.setPoint( 0, pos.x()+0, pos.y()+0 ); - array.setPoint( 1, pos.x()+5, pos.y()+5 ); - if ( orientation() == Qt::Vertical ) - { - array.setPoint( 2, pos.x()+5, pos.y()-5 ); - } - else - { - array.setPoint( 2, pos.x()-5, pos.y()+5 ); - } - - painter->drawPolygon( array ); - } - else - { - if ( orientation() == Qt::Vertical ) - { - tqrepaint(pos.x(), pos.y()-5, 6, 11, true); - } - else - { - tqrepaint(pos.x()-5, pos.y(), 11, 6, true); - } - } -} - -//---------------------------------------------------------------------------- - -KGradientSelector::KGradientSelector( TQWidget *parent, const char *name ) - : KSelector( parent, name ) -{ - init(); -} - - -KGradientSelector::KGradientSelector( Orientation o, TQWidget *parent, - const char *name ) - : KSelector( o, parent, name ) -{ - init(); -} - - -KGradientSelector::~KGradientSelector() -{} - - -void KGradientSelector::init() -{ - color1.setRgb( 0, 0, 0 ); - color2.setRgb( 255, 255, 255 ); - - text1 = text2 = ""; -} - - -void KGradientSelector::drawContents( TQPainter *painter ) -{ - TQImage image( contentsRect().width(), contentsRect().height(), 32 ); - - TQColor col; - float scale; - - int redDiff = color2.red() - color1.red(); - int greenDiff = color2.green() - color1.green(); - int blueDiff = color2.blue() - color1.blue(); - - if ( orientation() == Qt::Vertical ) - { - for ( int y = 0; y < image.height(); y++ ) - { - scale = 1.0 * y / image.height(); - col.setRgb( color1.red() + int(redDiff*scale), - color1.green() + int(greenDiff*scale), - color1.blue() + int(blueDiff*scale) ); - - unsigned int *p = (uint *) image.scanLine( y ); - for ( int x = 0; x < image.width(); x++ ) - *p++ = col.rgb(); - } - } - else - { - unsigned int *p = (uint *) image.scanLine( 0 ); - - for ( int x = 0; x < image.width(); x++ ) - { - scale = 1.0 * x / image.width(); - col.setRgb( color1.red() + int(redDiff*scale), - color1.green() + int(greenDiff*scale), - color1.blue() + int(blueDiff*scale) ); - *p++ = col.rgb(); - } - - for ( int y = 1; y < image.height(); y++ ) - memcpy( image.scanLine( y ), image.scanLine( y - 1), - sizeof( unsigned int ) * image.width() ); - } - - TQColor ditherPalette[8]; - - for ( int s = 0; s < 8; s++ ) - ditherPalette[s].setRgb( color1.red() + redDiff * s / 8, - color1.green() + greenDiff * s / 8, - color1.blue() + blueDiff * s / 8 ); - - KImageEffect::dither( image, ditherPalette, 8 ); - - TQPixmap p; - p.convertFromImage( image ); - - painter->drawPixmap( contentsRect().x(), contentsRect().y(), p ); - - if ( orientation() == Qt::Vertical ) - { - int yPos = contentsRect().top() + painter->fontMetrics().ascent() + 2; - int xPos = contentsRect().left() + (contentsRect().width() - - painter->fontMetrics().width( text2 )) / 2; - TQPen pen( color2 ); - painter->setPen( pen ); - painter->drawText( xPos, yPos, text2 ); - - yPos = contentsRect().bottom() - painter->fontMetrics().descent() - 2; - xPos = contentsRect().left() + (contentsRect().width() - - painter->fontMetrics().width( text1 )) / 2; - pen.setColor( color1 ); - painter->setPen( pen ); - painter->drawText( xPos, yPos, text1 ); - } - else - { - int yPos = contentsRect().bottom()-painter->fontMetrics().descent()-2; - - TQPen pen( color2 ); - painter->setPen( pen ); - painter->drawText( contentsRect().left() + 2, yPos, text1 ); - - pen.setColor( color1 ); - painter->setPen( pen ); - painter->drawText( contentsRect().right() - - painter->fontMetrics().width( text2 ) - 2, yPos, text2 ); - } -} - -//----------------------------------------------------------------------------- - -void KXYSelector::virtual_hook( int, void* ) -{ /*BASE::virtual_hook( id, data );*/ } - -void KSelector::virtual_hook( int, void* ) -{ /*BASE::virtual_hook( id, data );*/ } - -void KGradientSelector::virtual_hook( int id, void* data ) -{ KSelector::virtual_hook( id, data ); } - -#include "kselect.moc" - |