| Home · All Classes · Main Classes · Grouped Classes · Modules · Functions |
/**************************************************************************** ** ** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the $MODULE$ of the Qt Toolkit. ** ** Licensees holding a valid Qt License Agreement may use this file in ** accordance with the rights, responsibilities and obligations ** contained therein. Please consult your licensing agreement or ** contact sales@trolltech.com if any conditions of this licensing ** agreement are not clear to you. ** ** Further information about Qt licensing is available at: ** http://www.trolltech.com/products/qt/licensing.html or by ** contacting info@trolltech.com. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ****************************************************************************/ #include <QtGui> #include "draglabel.h" DragLabel::DragLabel(const QString &text, QWidget *parent) : QLabel(text, parent) { setAutoFillBackground(true); setFrameShape(QFrame::Panel); setFrameShadow(QFrame::Raised); } void DragLabel::mousePressEvent(QMouseEvent *event) { QPoint hotSpot = event->pos(); QMimeData *mimeData = new QMimeData; mimeData->setText(text()); mimeData->setData("application/x-hotspot", QByteArray::number(hotSpot.x()) + " " + QByteArray::number(hotSpot.y())); QPixmap pixmap(size()); render(&pixmap); QDrag *drag = new QDrag(this); drag->setMimeData(mimeData); drag->setPixmap(pixmap); drag->setHotSpot(hotSpot); Qt::DropAction dropAction = drag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction); if (dropAction == Qt::MoveAction) { close(); update(); } }
| Copyright © 2008 Trolltech | Trademarks | Qt 4.4.1 |