summaryrefslogtreecommitdiffstats
path: root/examples/dragdrop/secret.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 15:24:15 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 15:24:15 -0500
commitbd0f3345a938b35ce6a12f6150373b0955b8dd12 (patch)
tree7a520322212d48ebcb9fbe1087e7fca28b76185c /examples/dragdrop/secret.cpp
downloadqt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.tar.gz
qt3-bd0f3345a938b35ce6a12f6150373b0955b8dd12.zip
Add Qt3 development HEAD version
Diffstat (limited to 'examples/dragdrop/secret.cpp')
-rw-r--r--examples/dragdrop/secret.cpp91
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++;
+}