Eneboo - Documentación para desarrolladores
|
00001 /********************************************************************** 00002 ** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved. 00003 ** 00004 ** This file is part of Qt Designer. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 00012 ** licenses may use this file in accordance with the Qt Commercial License 00013 ** Agreement provided with the Software. 00014 ** 00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00017 ** 00018 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00019 ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 00020 ** information about Qt Commercial License Agreements. 00021 ** 00022 ** Contact info@trolltech.com if any conditions of this licensing are 00023 ** not clear to you. 00024 ** 00025 **********************************************************************/ 00026 00027 #ifndef LISTDND_H 00028 #define LISTDND_H 00029 00030 #include <qobject.h> 00031 #include <qscrollview.h> 00032 00033 class ListDnd : public QObject 00034 { 00035 Q_OBJECT 00036 public: 00037 enum DragMode { None = 0, External = 1, Internal = 2, Both = 3, Move = 4, NullDrop = 8 }; 00038 ListDnd( QScrollView * eventSource, const char * name = 0 ); 00039 void setDragMode( int mode ); 00040 int dragMode() const; 00041 bool eventFilter( QObject *, QEvent * event ); 00042 00043 protected: 00044 virtual bool dragEnterEvent( QDragEnterEvent * event ); 00045 virtual bool dragLeaveEvent( QDragLeaveEvent * ); 00046 virtual bool dragMoveEvent( QDragMoveEvent * event ); 00047 virtual bool dropEvent( QDropEvent * event ); 00048 virtual bool mousePressEvent( QMouseEvent * event ); 00049 virtual bool mouseMoveEvent( QMouseEvent * event ); 00050 virtual void updateLine( const QPoint & dragPos ); 00051 virtual bool canDecode( QDragEnterEvent * event ); 00052 00053 QScrollView * src; 00054 QWidget * line; 00055 QPoint mousePressPos; 00056 QPoint dragPos; 00057 bool dragInside; 00058 bool dragDelete; 00059 bool dropConfirmed; 00060 int dMode; 00061 }; 00062 00063 #endif // LISTDND_H