summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/src/kernel/tqdragobject.h
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/src/kernel/tqdragobject.h')
-rw-r--r--tqtinterface/qt4/src/kernel/tqdragobject.h508
1 files changed, 508 insertions, 0 deletions
diff --git a/tqtinterface/qt4/src/kernel/tqdragobject.h b/tqtinterface/qt4/src/kernel/tqdragobject.h
new file mode 100644
index 0000000..3d55967
--- /dev/null
+++ b/tqtinterface/qt4/src/kernel/tqdragobject.h
@@ -0,0 +1,508 @@
+#include "tqtglobaldefines.h"
+
+// #ifdef USE_QT4
+#if 0
+
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt3Support module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** 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.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TQDRAGOBJECT_H
+#define TQDRAGOBJECT_H
+
+#include <QtCore/qobject.h>
+#include <QtGui/qcolor.h>
+#include <QtGui/qmime.h>
+#include <tqimage.h>
+#include <tqstrlist.h>
+#include <QtCore/qlist.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(Qt3SupportLight)
+
+class QWidget;
+class TQTextDragPrivate;
+class TQDragObjectPrivate;
+class TQStoredDragPrivate;
+class TQImageDragPrivate;
+class TQImageDrag;
+class TQTextDrag;
+class TQStrList;
+class TQImage;
+class QPixmap;
+
+class TQDragObject : public TQObject, public QMimeSource {
+ Q_OBJECT
+ TQ_OBJECT
+public:
+ TQDragObject(QWidget * dragSource = 0, const char *name = 0);
+ virtual ~TQDragObject();
+
+ bool drag();
+ bool dragMove();
+ void dragCopy();
+ void dragLink();
+
+ virtual void setPixmap(QPixmap);
+ virtual void setPixmap(QPixmap, const QPoint& hotspot);
+ QPixmap pixmap() const;
+ QPoint pixmapHotSpot() const;
+
+ QWidget * source();
+ static QWidget * target();
+
+ enum DragMode { DragDefault, DragCopy, DragMove, DragLink, DragCopyOrMove };
+
+protected:
+ TQDragObject(TQDragObjectPrivate &, QWidget *dragSource = 0);
+ virtual bool drag(DragMode);
+
+private:
+ friend class QDragMime;
+ Q_DISABLE_COPY(TQDragObject)
+};
+
+class TQStoredDrag: public TQDragObject {
+ Q_OBJECT
+ TQ_OBJECT
+public:
+ TQStoredDrag(const char *mimeType, QWidget *dragSource = 0, const char *name = 0);
+ ~TQStoredDrag();
+
+ virtual void setEncodedData(const QByteArray &);
+
+ const char * format(int i) const;
+ virtual QByteArray encodedData(const char*) const;
+
+protected:
+ TQStoredDrag(TQStoredDragPrivate &, const char *mimeType, QWidget *dragSource = 0);
+
+private:
+ Q_DISABLE_COPY(TQStoredDrag)
+};
+
+class TQTextDrag: public TQDragObject {
+ Q_OBJECT
+ TQ_OBJECT
+public:
+ TQTextDrag(const QString &, QWidget *dragSource = 0, const char *name = 0);
+ TQTextDrag(QWidget * dragSource = 0, const char * name = 0);
+ ~TQTextDrag();
+
+ virtual void setText(const QString &);
+ virtual void setSubtype(const QString &);
+
+ const char * format(int i) const;
+ virtual QByteArray encodedData(const char*) const;
+
+ static bool canDecode(const QMimeSource* e);
+ static bool decode(const QMimeSource* e, QString& s);
+ static bool decode(const QMimeSource* e, QString& s, QString& subtype);
+
+protected:
+ TQTextDrag(TQTextDragPrivate &, QWidget * dragSource = 0);
+
+private:
+ Q_DISABLE_COPY(TQTextDrag)
+};Q_COMPAT_EXPORT
+
+class TQImageDrag: public TQDragObject {
+ Q_OBJECT
+ TQ_OBJECT
+public:
+ TQImageDrag(TQImage image, QWidget * dragSource = 0, const char * name = 0);
+ TQImageDrag(QWidget * dragSource = 0, const char * name = 0);
+ ~TQImageDrag();
+
+ virtual void setImage(TQImage image);
+
+ const char * format(int i) const;
+ virtual QByteArray encodedData(const char*) const;
+
+ static bool canDecode(const QMimeSource* e);
+ static bool decode(const QMimeSource* e, TQImage& i);
+ static bool decode(const QMimeSource* e, QPixmap& i);
+
+protected:
+ TQImageDrag(TQImageDragPrivate &, QWidget * dragSource = 0);
+
+private:
+ Q_DISABLE_COPY(TQImageDrag)
+};
+
+
+class TQUriDrag: public TQStoredDrag {
+ Q_OBJECT
+ TQ_OBJECT
+
+public:
+ TQUriDrag(const TQStrList &uris, QWidget * dragSource = 0, const char * name = 0);
+ TQUriDrag(QWidget * dragSource = 0, const char * name = 0);
+ ~TQUriDrag();
+
+ void setFileNames(const QStringList & fnames);
+ inline void setFileNames(const QString & fname) { setFileNames(QStringList(fname)); }
+ void setFilenames(const QStringList & fnames) { setFileNames(fnames); }
+ inline void setFilenames(const QString & fname) { setFileNames(QStringList(fname)); }
+ void setUnicodeUris(const QStringList & uuris);
+ virtual void setUris(const QList<QByteArray> &uris);
+
+ static QString uriToLocalFile(const char*);
+ static QByteArray localFileToUri(const QString&);
+ static QString uriToUnicodeUri(const char*);
+ static QByteArray unicodeUriToUri(const QString&);
+ static bool canDecode(const QMimeSource* e);
+ static bool decode(const QMimeSource* e, TQStrList& i);
+ static bool decodeToUnicodeUris(const QMimeSource* e, QStringList& i);
+ static bool decodeLocalFiles(const QMimeSource* e, QStringList& i);
+
+private:
+ Q_DISABLE_COPY(TQUriDrag)
+};
+
+class TQColorDrag : public TQStoredDrag
+{
+ Q_OBJECT
+ TQ_OBJECT
+ QColor color;
+
+public:
+ TQColorDrag(const QColor &col, QWidget *dragsource = 0, const char *name = 0);
+ TQColorDrag(QWidget * dragSource = 0, const char * name = 0);
+ void setColor(const QColor &col);
+
+ static bool canDecode(QMimeSource *);
+ static bool decode(QMimeSource *, QColor &col);
+
+private:
+ Q_DISABLE_COPY(TQColorDrag)
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif // TQDRAGOBJECT_H
+
+#else // USE_QT4
+
+/****************************************************************************
+**
+** Definition of TQDragObject
+**
+** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
+**
+** This file is part of the kernel module of the TQt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free TQt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
+** included in the packaging of this file. Licensees holding valid TQt
+** Commercial licenses may use this file in accordance with the TQt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef TQDRAGOBJECT_H
+#define TQDRAGOBJECT_H
+
+class TQWidget;
+class TQTextDragPrivate;
+class TQDragObjectData;
+class TQStoredDragData;
+class TQImageDragData;
+
+#ifndef TQT_H
+#include "tqobject.h"
+#include "tqimage.h"
+#include "tqstrlist.h"
+#include "tqcolor.h"
+#endif // TQT_H
+
+#ifndef TQT_NO_MIME
+
+class TQ_EXPORT TQDragObject: public TQObject, public TQMimeSource {
+ TQ_OBJECT
+public:
+ TQDragObject( QWidget * dragSource = 0, const char * name = 0 );
+ virtual ~TQDragObject();
+
+#ifndef TQT_NO_DRAGANDDROP
+ bool drag();
+ bool dragMove();
+ void dragCopy();
+ void dragLink();
+
+ virtual void setPixmap(QPixmap);
+ virtual void setPixmap(QPixmap, const QPoint& hotspot);
+ TQPixmap pixmap() const;
+ TQPoint pixmapHotSpot() const;
+#endif
+
+ TQWidget * source();
+ static TQWidget * target();
+
+ static void setTarget(QWidget*);
+
+#ifndef TQT_NO_DRAGANDDROP
+ enum DragMode { DragDefault, DragCopy, DragMove, DragLink, DragCopyOrMove };
+
+protected:
+ virtual bool drag(DragMode);
+#endif
+
+private:
+ TQDragObjectData * d;
+#if defined(TQ_DISABLE_COPY) // Disabled copy constructor and operator=
+ TQDragObject( const TQDragObject & );
+ TQDragObject &operator=( const TQDragObject & );
+#endif
+};
+
+class TQ_EXPORT TQStoredDrag: public TQDragObject {
+ TQ_OBJECT
+ TQStoredDragData * d;
+
+public:
+ TQStoredDrag( const char * mimeType,
+ QWidget * dragSource = 0, const char * name = 0 );
+ ~TQStoredDrag();
+
+ virtual void setEncodedData( const TQByteArray & );
+
+ const char * format(int i) const;
+ virtual TQByteArray tqencodedData(const char*) const;
+
+private:
+#if defined(TQ_DISABLE_COPY) // Disabled copy constructor and operator=
+ TQStoredDrag( const TQStoredDrag & );
+ TQStoredDrag &operator=( const TQStoredDrag & );
+#endif
+};
+
+class TQ_EXPORT TQTextDrag: public TQDragObject {
+ TQ_OBJECT
+ TQTextDragPrivate* d;
+public:
+ TQTextDrag( const TQString &,
+ TQWidget * dragSource = 0, const char * name = 0 );
+ TQTextDrag( TQWidget * dragSource = 0, const char * name = 0 );
+ ~TQTextDrag();
+
+ virtual void setText( const TQString &);
+ virtual void setSubtype( const TQCString &);
+
+ const char * format(int i) const;
+ virtual TQByteArray tqencodedData(const char*) const;
+
+ static bool canDecode( const TQMimeSource* e );
+ static bool decode( const TQMimeSource* e, TQString& s );
+ static bool decode( const TQMimeSource* e, TQString& s, TQCString& subtype );
+
+private:
+#if defined(TQ_DISABLE_COPY) // Disabled copy constructor and operator=
+ TQTextDrag( const TQTextDrag & );
+ TQTextDrag &operator=( const TQTextDrag & );
+#endif
+};
+
+class TQ_EXPORT TQImageDrag: public TQDragObject {
+ TQ_OBJECT
+ TQImage img;
+ TQStrList ofmts;
+ TQImageDragData* d;
+
+public:
+ TQImageDrag( QImage image, QWidget * dragSource = 0, const char * name = 0 );
+ TQImageDrag( QWidget * dragSource = 0, const char * name = 0 );
+ ~TQImageDrag();
+
+ virtual void setImage( QImage image );
+
+ const char * format(int i) const;
+ virtual TQByteArray tqencodedData(const char*) const;
+
+ static bool canDecode( const TQMimeSource* e );
+ static bool decode( const TQMimeSource* e, QImage& i );
+ static bool decode( const TQMimeSource* e, QPixmap& i );
+
+private:
+#if defined(TQ_DISABLE_COPY) // Disabled copy constructor and operator=
+ TQImageDrag( const TQImageDrag & );
+ TQImageDrag &operator=( const TQImageDrag & );
+#endif
+};
+
+
+class TQ_EXPORT TQUriDrag: public TQStoredDrag {
+ TQ_OBJECT
+
+public:
+ TQUriDrag( TQStrList uris, TQWidget * dragSource = 0, const char * name = 0 );
+ TQUriDrag( TQWidget * dragSource = 0, const char * name = 0 );
+ ~TQUriDrag();
+
+ void setFilenames( const TQStringList & fnames ) { setFileNames( fnames ); }
+ void setFileNames( const TQStringList & fnames );
+ void setUnicodeUris( const TQStringList & uuris );
+ virtual void setUris( TQStrList uris );
+
+ static TQString uriToLocalFile(const char*);
+ static TQCString localFileToUri(const TQString&);
+ static TQString uriToUnicodeUri(const char*);
+ static TQCString tqunicodeUriToUri(const TQString&);
+ static bool canDecode( const TQMimeSource* e );
+ static bool decode( const TQMimeSource* e, TQStrList& i );
+ static bool decodeToUnicodeUris( const TQMimeSource* e, TQStringList& i );
+ static bool decodeLocalFiles( const TQMimeSource* e, TQStringList& i );
+
+private:
+#if defined(TQ_DISABLE_COPY) // Disabled copy constructor and operator=
+ TQUriDrag( const TQUriDrag & );
+ TQUriDrag &operator=( const TQUriDrag & );
+#endif
+};
+
+class TQ_EXPORT TQColorDrag : public TQStoredDrag
+{
+ TQ_OBJECT
+ TQColor color;
+
+public:
+ TQColorDrag( const TQColor &col, TQWidget *dragsource = 0, const char *name = 0 );
+ TQColorDrag( TQWidget * dragSource = 0, const char * name = 0 );
+ void setColor( const TQColor &col );
+
+ static bool canDecode( TQMimeSource * );
+ static bool decode( TQMimeSource *, TQColor &col );
+
+private:
+#if defined(TQ_DISABLE_COPY) // Disabled copy constructor and operator=
+ TQColorDrag( const TQColorDrag & );
+ TQColorDrag &operator=( const TQColorDrag & );
+#endif
+};
+
+#ifndef TQT_NO_COMPAT
+typedef TQUriDrag TQUrlDrag;
+#endif
+
+#ifndef TQT_NO_DRAGANDDROP
+
+// TQDragManager is not part of the public API. It is defined in a
+// header file simply so different .cpp files can implement different
+// member functions.
+//
+
+class TQ_EXPORT TQDragManager: public TQObject {
+ TQ_OBJECT
+
+private:
+ TQDragManager();
+ ~TQDragManager();
+ // only friend classes can use TQDragManager.
+ friend class TQDragObject;
+ friend class TQDragMoveEvent;
+ friend class TQDropEvent;
+ friend class TQApplication;
+
+ bool eventFilter( TQObject *, TQEvent * );
+ void timerEvent( TQTimerEvent* );
+
+ bool drag( TQDragObject *, TQDragObject::DragMode );
+
+ void cancel( bool deleteSource = TRUE );
+ void move( const TQPoint & );
+ void drop();
+ void updatePixmap();
+
+private:
+ TQDragObject * object;
+ void updateMode( TQt::ButtonState newstate );
+ void updateCursor();
+#if defined(TQ_WS_X11)
+ void createCursors();
+#endif
+
+ TQWidget * dragSource;
+ TQWidget * dropWidget;
+ bool beingCancelled;
+ bool restoreCursor;
+ bool willDrop;
+
+ TQPixmap *pm_cursor;
+ int n_cursor;
+#if defined(TQ_DISABLE_COPY) // Disabled copy constructor and operator=
+ TQDragManager( const TQDragManager & );
+ TQDragManager &operator=( const TQDragManager & );
+#endif
+};
+
+#endif
+
+#endif // TQT_NO_MIME
+
+#endif // TQDRAGOBJECT_H
+
+#endif // USE_QT4