Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://rtm-cs.sinp.msu.ru/manual/qt/qdragobject-h.html
Дата изменения: Sun Jul 12 02:58:57 1998 Дата индексирования: Mon Oct 1 20:52:26 2012 Кодировка: |
/**************************************************************************** ** $Id: qdragobject.h,v 2.21 1998/07/03 00:09:32 hanord Exp $ ** ** Definition of QDragObject ** ** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved. ** ** This file is part of Qt Free Edition, version 1.40. ** ** See the file LICENSE included in the distribution for the usage ** and distribution terms, or http://www.troll.no/free-license.html. ** ** IMPORTANT NOTE: You may NOT copy this file or any part of it into ** your own programs or libraries. ** ** Please see http://www.troll.no/pricing.html for information about ** Qt Professional Edition, which is this same library but with a ** license which allows creation of commercial/proprietary software. ** *****************************************************************************/ #ifndef QDRAGOBJECT_H #define QDRAGOBJECT_H struct QDragData; struct QStoredDragData; class QWidget; #ifndef QT_H #include "qobject.h" #include "qimage.h" #include "qstrlist.h" #endif // QT_H class QDragObject: public QObject { Q_OBJECT public: QDragObject( QWidget * dragSource = 0, const char * name = 0 ); ~QDragObject(); bool drag(); bool dragMove(); void dragCopy(); virtual bool provides(const char*) const; virtual const char * format(int) const=0; virtual QByteArray encodedData(const char*) const=0; QWidget * source(); enum DragMode { DragDefault, DragCopy, DragMove, DragCopyOrMove }; protected: virtual bool drag(DragMode); private: QDragData * d; }; class QStoredDrag: public QDragObject { Q_OBJECT QStoredDragData * d; public: QStoredDrag( const char * mimeType, QWidget * dragSource = 0, const char * name = 0 ); ~QStoredDrag(); void setEncodedData( const QByteArray & ); const char * format(int i) const; virtual QByteArray encodedData(const char*) const; }; class QTextDrag: public QStoredDrag { Q_OBJECT public: QTextDrag( const char *, QWidget * dragSource = 0, const char * name = 0 ); QTextDrag( QWidget * dragSource = 0, const char * name = 0 ); ~QTextDrag(); void setText( const char * ); static bool canDecode( QDragMoveEvent* e ); static bool decode( QDropEvent* e, QString& s ); }; class QImageDrag: public QDragObject { Q_OBJECT QImage img; QStrList ofmts; public: QImageDrag( QImage image, QWidget * dragSource = 0, const char * name = 0 ); QImageDrag( QWidget * dragSource = 0, const char * name = 0 ); ~QImageDrag(); void setImage( QImage image ); const char * format(int i) const; virtual QByteArray encodedData(const char*) const; static bool canDecode( QDragMoveEvent* e ); static bool decode( QDropEvent* e, QImage& i ); static bool decode( QDropEvent* e, QPixmap& i ); }; // QDragManager 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 QDragManager: public QObject { Q_OBJECT private: QDragManager(); ~QDragManager(); // only friend classes can use QDragManager. friend class QDragObject; bool eventFilter( QObject *, QEvent * ); bool drag( QDragObject *, QDragObject::DragMode ); void cancel(); void move( const QPoint & ); void drop(); private: QDragObject * object; QWidget * dragSource; QWidget * dropWidget; bool beingCancelled; bool restoreCursor; bool willDrop; }; #endif
Copyright © 1998 Troll Tech | Trademarks | Qt version 1.40
|