diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:24:15 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-07-10 15:24:15 -0500 |
commit | bd0f3345a938b35ce6a12f6150373b0955b8dd12 (patch) | |
tree | 7a520322212d48ebcb9fbe1087e7fca28b76185c /examples/dragdrop/secret.cpp | |
download | qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.tar.gz qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.zip |
Add Qt3 development HEAD version
Diffstat (limited to 'examples/dragdrop/secret.cpp')
-rw-r--r-- | examples/dragdrop/secret.cpp | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/examples/dragdrop/secret.cpp b/examples/dragdrop/secret.cpp new file mode 100644 index 0000000..c67669a --- /dev/null +++ b/examples/dragdrop/secret.cpp @@ -0,0 +1,91 @@ +/**************************************************************************** +** +** Custom MIME type implementation example +** +** Created : 979899 +** +** Copyright (C) 1997-2008 Trolltech ASA. All rights reserved. +** +** This file is part of an example program for Qt. This example +** program may be used, distributed and modified without limitation. +** +*****************************************************************************/ + +#include "secret.h" +#include <qevent.h> + + +//create the object withe the secret byte +SecretDrag::SecretDrag( uchar secret, QWidget * parent, const char * name ) + : QStoredDrag( "secret/magic", parent, name ) +{ + QByteArray data(1); + data[0]= secret; + setEncodedData( data ); +} + + +bool SecretDrag::canDecode( QDragMoveEvent* e ) +{ + return e->provides( "secret/magic" ); +} + +//decode it into a string +bool SecretDrag::decode( QDropEvent* e, QString& str ) +{ + QByteArray payload = e->data( "secret/magic" ); + if ( payload.size() ) { + e->accept(); + QString msg; + msg.sprintf("The secret number is %d", payload[0] ); + str = msg; + return TRUE; + } + return FALSE; +} + + +SecretSource::SecretSource( int secret, QWidget *parent, const char * name ) + : QLabel( "Secret", parent, name ) +{ + setBackgroundColor( blue.light() ); + setFrameStyle( Box | Sunken ); + setMinimumHeight( sizeHint().height()*2 ); + setAlignment( AlignCenter ); + mySecret = secret; +} + +SecretSource::~SecretSource() +{ +} + +/* XPM */ +static const char * picture_xpm[] = { +"16 16 3 1", +" c None", +". c #000000", +"X c #FFFF00", +" ..... ", +" ..XXXXX.. ", +" .XXXXXXXXX. ", +" .XXXXXXXXXXX. ", +" .XX..XXX..XX. ", +".XXXXXXXXXXXXX. ", +".XX...XXX...XX. ", +".XXX..XXX..XXX. ", +".XXXXXXXXXXXXX. ", +".XXXXXX.XXXXXX. ", +" .XX.XX.XX.XX. ", +" .XXX..X..XXX. ", +" .XXXXXXXXX. ", +" ..XXXXX.. ", +" ..... ", +" "}; + +void SecretSource::mousePressEvent( QMouseEvent * /*e*/ ) +{ + SecretDrag *sd = new SecretDrag( mySecret, this ); + sd->setPixmap(QPixmap(picture_xpm),QPoint(8,8)); + sd->dragCopy(); + mySecret++; +} |