summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qdrag.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2011-05-18 12:56:51 +0200
committerLars Knoll <lars.knoll@nokia.com>2011-05-20 12:21:02 +0200
commit82bba7e4efc369f75f09eb96846d733cd99ba95b (patch)
tree210f73a2df63e626f471452ed3fce5578ed17ae1 /src/gui/kernel/qdrag.h
parent1f572c694b6801e9f706ce2c67cc3b1b50f32a5e (diff)
move drag handling back to Gui
Move the DnD related classes back into QtGui. Parts of the implementation is currently commented out and needs to be moved to QWidgetWindow. SC incompatible change: APIs taking QWidget * now take QObject *
Diffstat (limited to 'src/gui/kernel/qdrag.h')
-rw-r--r--src/gui/kernel/qdrag.h101
1 files changed, 101 insertions, 0 deletions
diff --git a/src/gui/kernel/qdrag.h b/src/gui/kernel/qdrag.h
new file mode 100644
index 0000000000..d014382e8c
--- /dev/null
+++ b/src/gui/kernel/qdrag.h
@@ -0,0 +1,101 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtGui module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QDRAG_H
+#define QDRAG_H
+
+#include <QtCore/qobject.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Gui)
+
+#ifndef QT_NO_DRAGANDDROP
+class QMimeData;
+class QDragPrivate;
+class QPixmap;
+class QPoint;
+class QDragManager;
+
+class Q_GUI_EXPORT QDrag : public QObject
+{
+ Q_OBJECT
+ Q_DECLARE_PRIVATE(QDrag)
+public:
+ explicit QDrag(QObject *dragSource);
+ ~QDrag();
+
+ void setMimeData(QMimeData *data);
+ QMimeData *mimeData() const;
+
+ void setPixmap(const QPixmap &);
+ QPixmap pixmap() const;
+
+ void setHotSpot(const QPoint &hotspot);
+ QPoint hotSpot() const;
+
+ QObject *source() const;
+ QObject *target() const;
+
+ Qt::DropAction start(Qt::DropActions supportedActions = Qt::CopyAction);
+ Qt::DropAction exec(Qt::DropActions supportedActions = Qt::MoveAction);
+ Qt::DropAction exec(Qt::DropActions supportedActions, Qt::DropAction defaultAction);
+
+ void setDragCursor(const QPixmap &cursor, Qt::DropAction action);
+
+Q_SIGNALS:
+ void actionChanged(Qt::DropAction action);
+ void targetChanged(QObject *newTarget);
+
+private:
+ friend class QDragManager;
+ Q_DISABLE_COPY(QDrag)
+};
+
+#endif // QT_NO_DRAGANDDROP
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // QDRAG_H