/******************************************************************************** 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 documentation 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$******************************************************************************/#include <QtGui>#include "window.h"Window::Window(QWidget *parent) : QWidget(parent){ QLabel *textLabel = new QLabel(tr("Data:"), this); textBrowser = new QTextBrowser(this); QLabel *mimeTypeLabel = new QLabel(tr("MIME types:"), this); mimeTypeCombo = new QComboBox(this); dropFrame = new QFrame(this); dropFrame->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); QLabel *dropLabel = new QLabel(tr("Drop items here"), dropFrame); dropLabel->setAlignment(Qt::AlignHCenter); QVBoxLayout *dropFrameLayout = new QVBoxLayout(dropFrame); dropFrameLayout->addWidget(dropLabel); QHBoxLayout *dropLayout = new QHBoxLayout; dropLayout->addStretch(0); dropLayout->addWidget(dropFrame); dropLayout->addStretch(0); QVBoxLayout *mainLayout = new QVBoxLayout(this); mainLayout->addWidget(textLabel); mainLayout->addWidget(textBrowser); mainLayout->addWidget(mimeTypeLabel); mainLayout->addWidget(mimeTypeCombo); mainLayout->addSpacing(32); mainLayout->addLayout(dropLayout); setAcceptDrops(true); setWindowTitle(tr("Drop Rectangle"));}//! [0]void Window::dragMoveEvent(QDragMoveEvent *event){ if (event->mimeData()->hasFormat("text/plain") && event->answerRect().intersects(dropFrame->geometry())) event->acceptProposedAction();}//! [0]void Window::dropEvent(QDropEvent *event){ textBrowser->setPlainText(event->mimeData()->text()); mimeTypeCombo->clear(); mimeTypeCombo->addItems(event->mimeData()->formats()); event->acceptProposedAction();}