summaryrefslogtreecommitdiffstats
path: root/examples/iconview/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/iconview/main.cpp')
-rw-r--r--examples/iconview/main.cpp75
1 files changed, 75 insertions, 0 deletions
diff --git a/examples/iconview/main.cpp b/examples/iconview/main.cpp
new file mode 100644
index 0000000..8784e93
--- /dev/null
+++ b/examples/iconview/main.cpp
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 1992-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 <qiconview.h>
+#include <qapplication.h>
+#include <qdragobject.h>
+#include <qpixmap.h>
+#include <qiconset.h>
+
+#include <qmime.h>
+#include <stdio.h>
+
+class ListenDND : public QObject
+{
+ Q_OBJECT
+
+public:
+ ListenDND( QWidget *w )
+ : view( w )
+ {}
+
+public slots:
+ void dropped( QDropEvent *mime ) {
+ qDebug( "Dropped Mimesource %p into the view %p", mime, view );
+ qDebug( " Formats:" );
+ int i = 0;
+ const char *str = mime->format( i );
+ qDebug( " %s", str );
+ while ( str ) {
+ qDebug( " %s", str );
+ str = mime->format( ++i );
+ }
+ };
+ void moved() {
+ qDebug( "All selected items were moved to another widget" );
+ }
+
+protected:
+ QWidget *view;
+
+};
+
+int main( int argc, char **argv )
+{
+ QApplication a( argc, argv );
+
+ QIconView qiconview;
+ qiconview.setSelectionMode( QIconView::Extended );
+
+ for ( unsigned int i = 0; i < 3000; i++ ) {
+ QIconViewItem *item = new QIconViewItem( &qiconview, QString( "Item %1" ).arg( i + 1 ) );
+ item->setRenameEnabled( TRUE );
+ }
+
+ qiconview.setCaption( "Qt Example - Iconview" );
+
+ ListenDND listen_dnd( &qiconview );
+ QObject::connect( &qiconview, SIGNAL( dropped( QDropEvent *, const QValueList<QIconDragItem> & ) ),
+ &listen_dnd, SLOT( dropped( QDropEvent * ) ) );
+ QObject::connect( &qiconview, SIGNAL( moved() ), &listen_dnd, SLOT( moved() ) );
+
+ a.setMainWidget( &qiconview );
+ qiconview.show();
+ qiconview.resize( qiconview.sizeHint() );
+
+ return a.exec();
+}
+
+#include "main.moc"