summaryrefslogtreecommitdiff
authordrw <drw>2002-04-26 00:56:24 (UTC)
committer drw <drw>2002-04-26 00:56:24 (UTC)
commit99f553f82a0fe11852aba803adfc429cdd9a544d (patch) (side-by-side diff)
treeffbfacdd036181380e601977dfcd7c09b65a61b5
parent97e07ec8e7345d90913791edba813d4b72aa33a9 (diff)
downloadopie-99f553f82a0fe11852aba803adfc429cdd9a544d.zip
opie-99f553f82a0fe11852aba803adfc429cdd9a544d.tar.gz
opie-99f553f82a0fe11852aba803adfc429cdd9a544d.tar.bz2
Moved color selection controls to libopie
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/colordialog.cpp851
-rw-r--r--noncore/graphics/drawpad/colordialog.h77
-rw-r--r--noncore/graphics/drawpad/colorpanel.cpp120
-rw-r--r--noncore/graphics/drawpad/colorpanel.h62
4 files changed, 0 insertions, 1110 deletions
diff --git a/noncore/graphics/drawpad/colordialog.cpp b/noncore/graphics/drawpad/colordialog.cpp
deleted file mode 100644
index 6d72ff6..0000000
--- a/noncore/graphics/drawpad/colordialog.cpp
+++ b/dev/null
@@ -1,851 +0,0 @@
-/****************************************************************************
-** $Id$
-**
-** Implementation of QColorDialog class
-**
-** Created : 990222
-**
-** Copyright (C) 1999-2000 Trolltech AS. All rights reserved.
-**
-** This file is part of the dialogs module of the Qt GUI Toolkit.
-**
-** This file may be distributed under the terms of the Q Public License
-** as defined by Trolltech AS of Norway and appearing in the file
-** LICENSE.QPL included in the packaging of this file.
-**
-** 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 Qt Enterprise Edition or Qt Professional Edition
-** licenses may use this file in accordance with the Qt 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/pricing.html or email sales@trolltech.com for
-** information about Qt Commercial License Agreements.
-** See http://www.trolltech.com/qpl/ for QPL licensing information.
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
-
-#include "colordialog.h"
-
-#include "qpainter.h"
-#include "qlayout.h"
-#include "qlabel.h"
-#include "qpushbutton.h"
-#include "qlineedit.h"
-#include "qimage.h"
-#include "qpixmap.h"
-#include "qdrawutil.h"
-#include "qvalidator.h"
-#include "qdragobject.h"
-#include "qapplication.h"
-#include "qdragobject.h"
-
-static inline void rgb2hsv( QRgb rgb, int&h, int&s, int&v )
-{
- QColor c;
- c.setRgb( rgb );
- c.getHsv(h,s,v);
-}
-
-class QColorPicker : public QFrame
-{
- Q_OBJECT
-public:
- QColorPicker(QWidget* parent=0, const char* name=0);
- ~QColorPicker();
-
-public slots:
- void setCol( int h, int s );
-
-signals:
- void newCol( int h, int s );
-
-protected:
- QSize sizeHint() const;
- QSizePolicy sizePolicy() const;
- void drawContents(QPainter* p);
- void mouseMoveEvent( QMouseEvent * );
- void mousePressEvent( QMouseEvent * );
-
-private:
- int hue;
- int sat;
-
- QPoint colPt();
- int huePt( const QPoint &pt );
- int satPt( const QPoint &pt );
- void setCol( const QPoint &pt );
-
- QPixmap *pix;
-};
-
-static int pWidth = 200;
-static int pHeight = 200;
-
-class QColorLuminancePicker : public QWidget
-{
- Q_OBJECT
-public:
- QColorLuminancePicker(QWidget* parent=0, const char* name=0);
- ~QColorLuminancePicker();
-
-public slots:
- void setCol( int h, int s, int v );
- void setCol( int h, int s );
-
-signals:
- void newHsv( int h, int s, int v );
-
-protected:
-// QSize sizeHint() const;
-// QSizePolicy sizePolicy() const;
- void paintEvent( QPaintEvent*);
- void mouseMoveEvent( QMouseEvent * );
- void mousePressEvent( QMouseEvent * );
-
-private:
- enum { foff = 3, coff = 4 }; //frame and contents offset
- int val;
- int hue;
- int sat;
-
- int y2val( int y );
- int val2y( int val );
- void setVal( int v );
-
- QPixmap *pix;
-};
-
-
-int QColorLuminancePicker::y2val( int y )
-{
- int d = height() - 2*coff - 1;
- return 255 - (y - coff)*255/d;
-}
-
-int QColorLuminancePicker::val2y( int v )
-{
- int d = height() - 2*coff - 1;
- return coff + (255-v)*d/255;
-}
-
-QColorLuminancePicker::QColorLuminancePicker(QWidget* parent,
- const char* name)
- :QWidget( parent, name )
-{
- hue = 100; val = 100; sat = 100;
- pix = 0;
- // setBackgroundMode( NoBackground );
-}
-
-QColorLuminancePicker::~QColorLuminancePicker()
-{
- delete pix;
-}
-
-void QColorLuminancePicker::mouseMoveEvent( QMouseEvent *m )
-{
- setVal( y2val(m->y()) );
-}
-void QColorLuminancePicker::mousePressEvent( QMouseEvent *m )
-{
- setVal( y2val(m->y()) );
-}
-
-void QColorLuminancePicker::setVal( int v )
-{
- if ( val == v )
- return;
- val = QMAX( 0, QMIN(v,255));
- delete pix; pix=0;
- repaint( FALSE ); //###
- emit newHsv( hue, sat, val );
-}
-
-//receives from a hue,sat chooser and relays.
-void QColorLuminancePicker::setCol( int h, int s )
-{
- setCol( h, s, val );
- emit newHsv( h, s, val );
-}
-
-void QColorLuminancePicker::paintEvent( QPaintEvent * )
-{
- int w = width() - 5;
-
- QRect r( 0, foff, w, height() - 2*foff );
- int wi = r.width() - 2;
- int hi = r.height() - 2;
- if ( !pix || pix->height() != hi || pix->width() != wi ) {
- delete pix;
- QImage img( wi, hi, 32 );
- int y;
- for ( y = 0; y < hi; y++ ) {
- QColor c( hue, sat, y2val(y+coff), QColor::Hsv );
- QRgb r = c.rgb();
- int x;
- for ( x = 0; x < wi; x++ )
- img.setPixel( x, y, r );
- }
- pix = new QPixmap;
- pix->convertFromImage(img);
- }
- QPainter p(this);
- p.drawPixmap( 1, coff, *pix );
- QColorGroup g = colorGroup();
- qDrawShadePanel( &p, r, g, TRUE );
- p.setPen( g.foreground() );
- p.setBrush( g.foreground() );
- QPointArray a;
- int y = val2y(val);
- a.setPoints( 3, w, y, w+5, y+5, w+5, y-5 );
- erase( w, 0, 5, height() );
- p.drawPolygon( a );
-}
-
-void QColorLuminancePicker::setCol( int h, int s , int v )
-{
- val = v;
- hue = h;
- sat = s;
- delete pix; pix=0;
- repaint( FALSE );//####
-}
-
-QPoint QColorPicker::colPt()
-{ return QPoint( (360-hue)*(pWidth-1)/360, (255-sat)*(pHeight-1)/255 ); }
-int QColorPicker::huePt( const QPoint &pt )
-{ return 360 - pt.x()*360/(pWidth-1); }
-int QColorPicker::satPt( const QPoint &pt )
-{ return 255 - pt.y()*255/(pHeight-1) ; }
-void QColorPicker::setCol( const QPoint &pt )
-{ setCol( huePt(pt), satPt(pt) ); }
-
-QColorPicker::QColorPicker(QWidget* parent, const char* name )
- : QFrame( parent, name )
-{
- hue = 0; sat = 0;
- setCol( 150, 255 );
-
- QImage img( pWidth, pHeight, 32 );
- int x,y;
- for ( y = 0; y < pHeight; y++ )
- for ( x = 0; x < pWidth; x++ ) {
- QPoint p( x, y );
- img.setPixel( x, y, QColor(huePt(p), satPt(p),
- 200, QColor::Hsv).rgb() );
- }
- pix = new QPixmap;
- pix->convertFromImage(img);
- setBackgroundMode( NoBackground );
-}
-
-QColorPicker::~QColorPicker()
-{
- delete pix;
-}
-
-QSize QColorPicker::sizeHint() const
-{
- return QSize( pWidth + 2*frameWidth(), pHeight + 2*frameWidth() );
-}
-
-QSizePolicy QColorPicker::sizePolicy() const
-{
- return QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Fixed );
-}
-
-void QColorPicker::setCol( int h, int s )
-{
- int nhue = QMIN( QMAX(0,h), 360 );
- int nsat = QMIN( QMAX(0,s), 255);
- if ( nhue == hue && nsat == sat )
- return;
- QRect r( colPt(), QSize(20,20) );
- hue = nhue; sat = nsat;
- r = r.unite( QRect( colPt(), QSize(20,20) ) );
- r.moveBy( contentsRect().x()-9, contentsRect().y()-9 );
- // update( r );
- repaint( r, FALSE );
-}
-
-void QColorPicker::mouseMoveEvent( QMouseEvent *m )
-{
- QPoint p = m->pos() - contentsRect().topLeft();
- setCol( p );
- emit newCol( hue, sat );
-}
-
-void QColorPicker::mousePressEvent( QMouseEvent *m )
-{
- QPoint p = m->pos() - contentsRect().topLeft();
- setCol( p );
- emit newCol( hue, sat );
-}
-
-void QColorPicker::drawContents(QPainter* p)
-{
- QRect r = contentsRect();
-
- p->drawPixmap( r.topLeft(), *pix );
- QPoint pt = colPt() + r.topLeft();
- p->setPen( QPen(black) );
-
- p->fillRect( pt.x()-9, pt.y(), 20, 2, black );
- p->fillRect( pt.x(), pt.y()-9, 2, 20, black );
-
-}
-
-class QColorShowLabel;
-
-
-
-class QColIntValidator: public QIntValidator
-{
-public:
- QColIntValidator( int bottom, int top,
- QWidget * parent, const char *name = 0 )
- :QIntValidator( bottom, top, parent, name ) {}
-
- QValidator::State validate( QString &, int & ) const;
-};
-
-QValidator::State QColIntValidator::validate( QString &s, int &pos ) const
-{
- State state = QIntValidator::validate(s,pos);
- if ( state == Valid ) {
- long int val = s.toLong();
- // This is not a general solution, assumes that top() > 0 and
- // bottom >= 0
- if ( val < 0 ) {
- s = "0";
- pos = 1;
- } else if ( val > top() ) {
- s.setNum( top() );
- pos = s.length();
- }
- }
- return state;
-}
-
-
-
-class QColNumLineEdit : public QLineEdit
-{
-public:
- QColNumLineEdit( QWidget *parent, const char* name = 0 )
- : QLineEdit( parent, name ) { setMaxLength( 3 );}
- QSize sizeHint() const {
- return QSize( 30, //#####
- QLineEdit::sizeHint().height() ); }
- void setNum( int i ) {
- QString s;
- s.setNum(i);
- bool block = signalsBlocked();
- blockSignals(TRUE);
- setText( s );
- blockSignals(block);
- }
- int val() const { return text().toInt(); }
-};
-
-
-class QColorShower : public QWidget
-{
- Q_OBJECT
-public:
- QColorShower( QWidget *parent, const char *name = 0 );
-
- //things that don't emit signals
- void setHsv( int h, int s, int v );
-
- int currentAlpha() const { return alphaEd->val(); }
- void setCurrentAlpha( int a ) { alphaEd->setNum( a ); }
- void showAlpha( bool b );
-
-
- QRgb currentColor() const { return curCol; }
-
-public slots:
- void setRgb( QRgb rgb );
-
-signals:
- void newCol( QRgb rgb );
-private slots:
- void rgbEd();
- void hsvEd();
-private:
- void showCurrentColor();
- int hue, sat, val;
- QRgb curCol;
- QColNumLineEdit *hEd;
- QColNumLineEdit *sEd;
- QColNumLineEdit *vEd;
- QColNumLineEdit *rEd;
- QColNumLineEdit *gEd;
- QColNumLineEdit *bEd;
- QColNumLineEdit *alphaEd;
- QLabel *alphaLab;
- QColorShowLabel *lab;
- bool rgbOriginal;
-};
-
-class QColorShowLabel : public QFrame
-{
- Q_OBJECT
-
-public:
- QColorShowLabel( QWidget *parent ) :QFrame( parent ) {
- setFrameStyle( QFrame::Panel|QFrame::Sunken );
- setBackgroundMode( PaletteBackground );
- setAcceptDrops( TRUE );
- mousePressed = FALSE;
- }
- void setColor( QColor c ) { col = c; }
-
-signals:
- void colorDropped( QRgb );
-
-protected:
- void drawContents( QPainter *p );
- void mousePressEvent( QMouseEvent *e );
- void mouseReleaseEvent( QMouseEvent *e );
-
-private:
- QColor col;
- bool mousePressed;
- QPoint pressPos;
-
-};
-
-void QColorShowLabel::drawContents( QPainter *p )
-{
- p->fillRect( contentsRect(), col );
-}
-
-void QColorShower::showAlpha( bool b )
-{
- if ( b ) {
- alphaLab->show();
- alphaEd->show();
- } else {
- alphaLab->hide();
- alphaEd->hide();
- }
-}
-
-void QColorShowLabel::mousePressEvent( QMouseEvent *e )
-{
- mousePressed = TRUE;
- pressPos = e->pos();
-}
-
-void QColorShowLabel::mouseReleaseEvent( QMouseEvent * )
-{
- if ( !mousePressed )
- return;
- mousePressed = FALSE;
-}
-
-QColorShower::QColorShower( QWidget *parent, const char *name )
- :QWidget( parent, name)
-{
- curCol = qRgb( -1, -1, -1 );
- QColIntValidator *val256 = new QColIntValidator( 0, 255, this );
- QColIntValidator *val360 = new QColIntValidator( 0, 360, this );
-
- QGridLayout *gl = new QGridLayout( this, 1, 1, 2 );
- gl->setMargin( 0 );
- lab = new QColorShowLabel( this );
- lab->setMinimumWidth( 60 ); //###
- gl->addMultiCellWidget(lab, 0,-1,0,0);
- connect( lab, SIGNAL( colorDropped( QRgb ) ),
- this, SIGNAL( newCol( QRgb ) ) );
- connect( lab, SIGNAL( colorDropped( QRgb ) ),
- this, SLOT( setRgb( QRgb ) ) );
-
- hEd = new QColNumLineEdit( this );
- hEd->setValidator( val360 );
- QLabel *l = new QLabel( hEd, QColorDialog::tr("Hue:"), this );
- l->setAlignment( AlignRight|AlignVCenter );
- gl->addWidget( l, 0, 1 );
- gl->addWidget( hEd, 0, 2 );
-
- sEd = new QColNumLineEdit( this );
- sEd->setValidator( val256 );
- l = new QLabel( sEd, QColorDialog::tr("Sat:"), this );
- l->setAlignment( AlignRight|AlignVCenter );
- gl->addWidget( l, 1, 1 );
- gl->addWidget( sEd, 1, 2 );
-
- vEd = new QColNumLineEdit( this );
- vEd->setValidator( val256 );
- l = new QLabel( vEd, QColorDialog::tr("Val:"), this );
- l->setAlignment( AlignRight|AlignVCenter );
- gl->addWidget( l, 2, 1 );
- gl->addWidget( vEd, 2, 2 );
-
- rEd = new QColNumLineEdit( this );
- rEd->setValidator( val256 );
- l = new QLabel( rEd, QColorDialog::tr("Red:"), this );
- l->setAlignment( AlignRight|AlignVCenter );
- gl->addWidget( l, 0, 3 );
- gl->addWidget( rEd, 0, 4 );
-
- gEd = new QColNumLineEdit( this );
- gEd->setValidator( val256 );
- l = new QLabel( gEd, QColorDialog::tr("Green:"), this );
- l->setAlignment( AlignRight|AlignVCenter );
- gl->addWidget( l, 1, 3 );
- gl->addWidget( gEd, 1, 4 );
-
- bEd = new QColNumLineEdit( this );
- bEd->setValidator( val256 );
- l = new QLabel( bEd, QColorDialog::tr("Blue:"), this );
- l->setAlignment( AlignRight|AlignVCenter );
- gl->addWidget( l, 2, 3 );
- gl->addWidget( bEd, 2, 4 );
-
- alphaEd = new QColNumLineEdit( this );
- alphaEd->setValidator( val256 );
- alphaLab = new QLabel( alphaEd, QColorDialog::tr("Alpha channel:"), this );
- alphaLab->setAlignment( AlignRight|AlignVCenter );
- gl->addMultiCellWidget( alphaLab, 3, 3, 1, 3 );
- gl->addWidget( alphaEd, 3, 4 );
- alphaEd->hide();
- alphaLab->hide();
-
- connect( hEd, SIGNAL(textChanged(const QString&)), this, SLOT(hsvEd()) );
- connect( sEd, SIGNAL(textChanged(const QString&)), this, SLOT(hsvEd()) );
- connect( vEd, SIGNAL(textChanged(const QString&)), this, SLOT(hsvEd()) );
-
- connect( rEd, SIGNAL(textChanged(const QString&)), this, SLOT(rgbEd()) );
- connect( gEd, SIGNAL(textChanged(const QString&)), this, SLOT(rgbEd()) );
- connect( bEd, SIGNAL(textChanged(const QString&)), this, SLOT(rgbEd()) );
-}
-
-void QColorShower::showCurrentColor()
-{
- lab->setColor( currentColor() );
- lab->repaint(FALSE); //###
-}
-
-void QColorShower::rgbEd()
-{
- rgbOriginal = TRUE;
- curCol = qRgb( rEd->val(), gEd->val(), bEd->val() );
- rgb2hsv(currentColor(), hue, sat, val );
-
- hEd->setNum( hue );
- sEd->setNum( sat );
- vEd->setNum( val );
-
- showCurrentColor();
- emit newCol( currentColor() );
-}
-
-void QColorShower::hsvEd()
-{
- rgbOriginal = FALSE;
- hue = hEd->val();
- sat = sEd->val();
- val = vEd->val();
-
- curCol = QColor( hue, sat, val, QColor::Hsv ).rgb();
-
- rEd->setNum( qRed(currentColor()) );
- gEd->setNum( qGreen(currentColor()) );
- bEd->setNum( qBlue(currentColor()) );
-
- showCurrentColor();
- emit newCol( currentColor() );
-}
-
-void QColorShower::setRgb( QRgb rgb )
-{
- rgbOriginal = TRUE;
- curCol = rgb;
-
- rgb2hsv( currentColor(), hue, sat, val );
-
- hEd->setNum( hue );
- sEd->setNum( sat );
- vEd->setNum( val );
-
- rEd->setNum( qRed(currentColor()) );
- gEd->setNum( qGreen(currentColor()) );
- bEd->setNum( qBlue(currentColor()) );
-
- showCurrentColor();
-}
-
-void QColorShower::setHsv( int h, int s, int v )
-{
- rgbOriginal = FALSE;
- hue = h; val = v; sat = s; //Range check###
- curCol = QColor( hue, sat, val, QColor::Hsv ).rgb();
-
- hEd->setNum( hue );
- sEd->setNum( sat );
- vEd->setNum( val );
-
- rEd->setNum( qRed(currentColor()) );
- gEd->setNum( qGreen(currentColor()) );
- bEd->setNum( qBlue(currentColor()) );
-
-
- showCurrentColor();
-}
-
-class QColorDialogPrivate : public QObject
-{
-Q_OBJECT
-public:
- QColorDialogPrivate( QColorDialog *p );
- QRgb currentColor() const { return cs->currentColor(); }
- void setCurrentColor( QRgb rgb );
-
- int currentAlpha() const { return cs->currentAlpha(); }
- void setCurrentAlpha( int a ) { cs->setCurrentAlpha( a ); }
- void showAlpha( bool b ) { cs->showAlpha( b ); }
-
-private slots:
- void newHsv( int h, int s, int v );
- void newColorTypedIn( QRgb rgb );
-private:
- QColorPicker *cp;
- QColorLuminancePicker *lp;
- QColorShower *cs;
-};
-
-//sets all widgets to display h,s,v
-void QColorDialogPrivate::newHsv( int h, int s, int v )
-{
- cs->setHsv( h, s, v );
- cp->setCol( h, s );
- lp->setCol( h, s, v );
-}
-
-//sets all widgets to display rgb
-void QColorDialogPrivate::setCurrentColor( QRgb rgb )
-{
- cs->setRgb( rgb );
- newColorTypedIn( rgb );
-}
-
-//sets all widgets exept cs to display rgb
-void QColorDialogPrivate::newColorTypedIn( QRgb rgb )
-{
- int h, s, v;
- rgb2hsv(rgb, h, s, v );
- cp->setCol( h, s );
- lp->setCol( h, s, v);
-}
-
-QColorDialogPrivate::QColorDialogPrivate( QColorDialog *dialog ) :
- QObject(dialog)
-{
- int border = 2;
- QVBoxLayout *topLay = new QVBoxLayout( dialog, border, 2 );
-
- QHBoxLayout *pickLay = new QHBoxLayout( topLay );
-
-
- cp = new QColorPicker( dialog );
- cp->setFrameStyle( QFrame::Panel + QFrame::Sunken );
- pickLay->addWidget( cp );
-
- pickLay->addStretch();
-
- lp = new QColorLuminancePicker( dialog );
- lp->setFixedWidth( 20 ); //###
- pickLay->addWidget( lp );
-
- connect( cp, SIGNAL(newCol(int,int)), lp, SLOT(setCol(int,int)) );
- connect( lp, SIGNAL(newHsv(int,int,int)), this, SLOT(newHsv(int,int,int)) );
-
- topLay->addStretch();
-
- cs = new QColorShower( dialog );
- connect( cs, SIGNAL(newCol(QRgb)), this, SLOT(newColorTypedIn(QRgb)));
- topLay->addWidget( cs );
-
-}
-
-
-// BEING REVISED: jo
-/*!
- \class QColorDialog qcolordialog.h
- \brief The QColorDialog class provides a dialog widget for specifying colors.
- \ingroup dialogs
-
- The color dialog's function is to allow users to choose colors -
- for instance, you might use this in a drawing program to allow the
- user to set the brush color.
-
- This version of Qt only provides modal color dialogs. The static
- getColor() function shows the dialog and allows the user to specify a color,
- while getRgba() does the same but allows the user to specify a color with an
- alpha channel (transparency) value.
-
- The user can store customCount() different custom colors. The custom
- colors are shared by all color dialogs, and remembered during the
- execution of the program. Use setCustomColor() to set the
- custom colors, and customColor() to get them.
-
- <img src=qcolordlg-m.png> <img src=qcolordlg-w.png>
-*/
-
-/*!
- Constructs a default color dialog. Use setColor() for setting an initial value.
-
- \sa getColor()
-*/
-
-QColorDialog::QColorDialog(QWidget* parent, const char* name, bool modal) :
- QDialog(parent, name, modal )
-{
- d = new QColorDialogPrivate( this );
-}
-
-
-/*!
- Pops up a modal color dialog letting the user choose a color and returns
- that color. The color is initially set to \a initial. Returns an \link QColor::isValid() invalid\endlink color if the user cancels
- the dialog. All colors allocated by the dialog will be deallocated
- before this function returns.
-*/
-
-QColor QColorDialog::getColor( QColor initial, QWidget *parent,
- const char *name )
-{
- int allocContext = QColor::enterAllocContext();
- QColorDialog *dlg = new QColorDialog( parent, name, TRUE ); //modal
- if ( parent && parent->icon() && !parent->icon()->isNull() )
- dlg->setIcon( *parent->icon() );
- else if ( qApp->mainWidget() && qApp->mainWidget()->icon() && !qApp->mainWidget()->icon()->isNull() )
- dlg->setIcon( *qApp->mainWidget()->icon() );
-
- dlg->setCaption( QColorDialog::tr( "Select color" ) );
- dlg->setColor( initial );
- dlg->showMaximized();
- int resultCode = dlg->exec();
- QColor::leaveAllocContext();
- QColor result;
- if ( resultCode == QDialog::Accepted ) {
- result = dlg->color();
- } else {
- result = initial;
- }
- QColor::destroyAllocContext(allocContext);
- delete dlg;
- return result;
-}
-
-
-/*!
- Pops up a modal color dialog, letting the user choose a color and an
- alpha channel value. The color+alpha is initially set to \a initial.
-
- If \a ok is non-null, \c *ok is set to TRUE if the user clicked OK,
- and FALSE if the user clicked Cancel.
-
- If the user clicks Cancel the \a initial value is returned.
-*/
-
-QRgb QColorDialog::getRgba( QRgb initial, bool *ok,
- QWidget *parent, const char* name )
-{
- int allocContext = QColor::enterAllocContext();
- QColorDialog *dlg = new QColorDialog( parent, name, TRUE ); //modal
- dlg->setColor( initial );
- dlg->setSelectedAlpha( qAlpha(initial) );
- dlg->showMaximized();
- int resultCode = dlg->exec();
- QColor::leaveAllocContext();
- QRgb result = initial;
- if ( resultCode == QDialog::Accepted ) {
- QRgb c = dlg->color().rgb();
- int alpha = dlg->selectedAlpha();
- result = qRgba( qRed(c), qGreen(c), qBlue(c), alpha );
- }
- if ( ok )
- *ok = resultCode == QDialog::Accepted;
-
- QColor::destroyAllocContext(allocContext);
- delete dlg;
- return result;
-}
-
-
-
-
-
-/*!
- Returns the color currently selected in the dialog.
-
- \sa setColor()
-*/
-
-QColor QColorDialog::color() const
-{
- return QColor(d->currentColor());
-}
-
-
-/*! Destructs the dialog and frees any memory it allocated.
-
-*/
-
-QColorDialog::~QColorDialog()
-{
- //d inherits QObject, so it is deleted by Qt.
-}
-
-
-/*!
- Sets the color shown in the dialog to \a c.
-
- \sa color()
-*/
-
-void QColorDialog::setColor( QColor c )
-{
- d->setCurrentColor( c.rgb() );
-}
-
-
-
-
-/*!
- Sets the initial alpha channel value to \a a, and show the alpha channel
- entry box.
-*/
-
-void QColorDialog::setSelectedAlpha( int a )
-{
- d->showAlpha( TRUE );
- d->setCurrentAlpha( a );
-}
-
-
-/*!
- Returns the value selected for the alpha channel.
-*/
-
-int QColorDialog::selectedAlpha() const
-{
- return d->currentAlpha();
-}
-
-#include "colordialog.moc"
diff --git a/noncore/graphics/drawpad/colordialog.h b/noncore/graphics/drawpad/colordialog.h
deleted file mode 100644
index a2d4d30..0000000
--- a/noncore/graphics/drawpad/colordialog.h
+++ b/dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-** $Id$
-**
-** Definition of QColorDialog class
-**
-** Created : 990222
-**
-** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
-**
-** This file is part of the dialogs module of the Qt GUI Toolkit.
-**
-** This file may be distributed under the terms of the Q Public License
-** as defined by Trolltech AS of Norway and appearing in the file
-** LICENSE.QPL included in the packaging of this file.
-**
-** 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 Qt Enterprise Edition or Qt Professional Edition
-** licenses may use this file in accordance with the Qt 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/pricing.html or email sales@trolltech.com for
-** information about Qt Commercial License Agreements.
-** See http://www.trolltech.com/qpl/ for QPL licensing information.
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
-
-#ifndef QCOLORDIALOG_H
-#define QCOLORDIALOG_H
-
-#ifndef QT_H
-#include <qdialog.h>
-#endif // QT_H
-
-class QColorDialogPrivate;
-
-class Q_EXPORT QColorDialog : public QDialog
-{
- Q_OBJECT
-
-public:
- static QColor getColor( QColor, QWidget *parent=0, const char* name=0 ); // ### 3.0: make const QColor&
- static QRgb getRgba( QRgb, bool* ok = 0,
- QWidget *parent=0, const char* name=0 );
-
-private:
- ~QColorDialog();
-
- QColorDialog( QWidget* parent=0, const char* name=0, bool modal=FALSE );
- void setColor( QColor ); // ### 3.0: make const QColor&
- QColor color() const;
-
-private:
- void setSelectedAlpha( int );
- int selectedAlpha() const;
-private:
- QColorDialogPrivate *d;
- friend class QColorDialogPrivate;
-
-private: // Disabled copy constructor and operator=
-#if defined(Q_DISABLE_COPY)
- QColorDialog( const QColorDialog & );
- QColorDialog& operator=( const QColorDialog & );
-#endif
-};
-
-#endif
diff --git a/noncore/graphics/drawpad/colorpanel.cpp b/noncore/graphics/drawpad/colorpanel.cpp
deleted file mode 100644
index 9327012..0000000
--- a/noncore/graphics/drawpad/colorpanel.cpp
+++ b/dev/null
@@ -1,120 +0,0 @@
-/***************************************************************************
- * *
- * DrawPad - a drawing program for Opie Environment *
- * *
- * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#include "colorpanel.h"
-
-#include <qlayout.h>
-#include <qpainter.h>
-
-ColorPanelButton::ColorPanelButton(const QColor& color, QWidget* parent, const char* name)
- : QFrame(parent, name)
-{
- m_color = color;
-
- setFixedSize(16, 16);
- setFrameStyle(NoFrame);
-}
-
-ColorPanelButton::~ColorPanelButton()
-{
-}
-
-void ColorPanelButton::enterEvent(QEvent* e)
-{
- Q_UNUSED(e)
-
- setFrameStyle(Panel | Sunken);
-}
-
-void ColorPanelButton::leaveEvent(QEvent* e)
-{
- Q_UNUSED(e)
-
- setFrameStyle(NoFrame);
-}
-
-void ColorPanelButton::paintEvent(QPaintEvent* e)
-{
- QFrame::paintEvent(e);
-
- QPainter painter;
- painter.begin(this);
- painter.fillRect(2, 2, 12, 12, m_color);
- painter.setPen(Qt::black);
- painter.drawRect(2, 2, 12, 12);
- painter.end();
-}
-
-void ColorPanelButton::mouseReleaseEvent(QMouseEvent* e)
-{
- Q_UNUSED(e)
-
- emit selected(m_color);
-}
-
-ColorPanel::ColorPanel(QWidget* parent, const char* name)
- : QWidget(parent, name)
-{
- m_pGridLayout = new QGridLayout(this, 5, 6);
-
- addColor(QColor(255, 255, 255), 0, 1);
- addColor(QColor(192, 192, 192), 0, 2);
- addColor(QColor(128, 128, 128), 0, 3);
- addColor(QColor(64, 64, 64), 0, 4);
- addColor(QColor(0, 0, 0), 0, 5);
-
- addColor(QColor(255, 0, 0), 1, 0);
- addColor(QColor(255, 128, 0), 1, 1);
- addColor(QColor(255, 255, 0), 1, 2);
- addColor(QColor(128, 255, 0), 1, 3);
- addColor(QColor(0, 255, 0), 1, 4);
- addColor(QColor(0, 255, 128), 1, 5);
-
- addColor(QColor(128, 0, 0), 2, 0);
- addColor(QColor(128, 64, 0), 2, 1);
- addColor(QColor(128, 128, 0), 2, 2);
- addColor(QColor(64, 128, 0), 2, 3);
- addColor(QColor(0, 128, 0), 2, 4);
- addColor(QColor(0, 128, 64), 2, 5);
-
- addColor(QColor(0, 255, 255), 3, 0);
- addColor(QColor(0, 128, 255), 3, 1);
- addColor(QColor(0, 0, 255), 3, 2);
- addColor(QColor(128, 0, 255), 3, 3);
- addColor(QColor(255, 0, 255), 3, 4);
- addColor(QColor(255, 0, 128), 3, 5);
-
- addColor(QColor(0, 128, 128), 4, 0);
- addColor(QColor(0, 64, 128), 4, 1);
- addColor(QColor(0, 0, 128), 4, 2);
- addColor(QColor(64, 0, 128), 4, 3);
- addColor(QColor(128, 0, 128), 4, 4);
- addColor(QColor(128, 0, 64), 4, 5);
-}
-
-ColorPanel::~ColorPanel()
-{
-}
-
-void ColorPanel::addColor(const QColor& color, int row, int col)
-{
- ColorPanelButton* panelButton = new ColorPanelButton(color, this);
- connect(panelButton, SIGNAL(selected(const QColor&)), this, SLOT(buttonSelected(const QColor&)));
-
- m_pGridLayout->addWidget(panelButton, row, col);
-}
-
-void ColorPanel::buttonSelected(const QColor& color)
-{
- emit colorSelected(color);
-}
diff --git a/noncore/graphics/drawpad/colorpanel.h b/noncore/graphics/drawpad/colorpanel.h
deleted file mode 100644
index 4664879..0000000
--- a/noncore/graphics/drawpad/colorpanel.h
+++ b/dev/null
@@ -1,62 +0,0 @@
-/***************************************************************************
- * *
- * DrawPad - a drawing program for Opie Environment *
- * *
- * (C) 2002 by S. Prud'homme <prudhomme@laposte.net> *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-#ifndef COLORPANEL_H
-#define COLORPANEL_H
-
-#include <qframe.h>
-#include <qwidget.h>
-
-class QGridLayout;
-
-class ColorPanelButton : public QFrame
-{
- Q_OBJECT
-
-public:
- ColorPanelButton(const QColor& color, QWidget* parent = 0, const char* name = 0);
- ~ColorPanelButton();
-
- void enterEvent(QEvent* e);
- void leaveEvent(QEvent* e);
- void paintEvent(QPaintEvent* e);
- void mouseReleaseEvent(QMouseEvent* e);
-
-signals:
- void selected(const QColor&);
-
-private:
- QColor m_color;
-};
-
-class ColorPanel : public QWidget
-{
- Q_OBJECT
-
-public:
- ColorPanel(QWidget* parent = 0, const char* name = 0);
- ~ColorPanel();
-
- void addColor(const QColor& color, int row, int col);
-
-public slots:
- void buttonSelected(const QColor& color);
-
-signals:
- void colorSelected(const QColor&);
-
-private:
- QGridLayout* m_pGridLayout;
-};
-
-#endif // COLORPANEL_H