#include <dropsitewindow.h>
Inheritance diagram for DropSiteWindow:


Definition at line 36 of file dropsitewindow.h.
Public Slots | |
| void | updateFormatsTable (const QMimeData *mimeData) |
Public Member Functions | |
| DropSiteWindow () | |
Private Attributes | |
| DropArea * | dropArea |
| QLabel * | abstractLabel |
| QTableWidget * | formatsTable |
| QPushButton * | clearButton |
| QPushButton * | quitButton |
| QDialogButtonBox * | buttonBox |
| DropSiteWindow::DropSiteWindow | ( | ) |
Definition at line 29 of file dropsitewindow.cpp.
References abstractLabel, QDialogButtonBox::ActionRole, QDialogButtonBox::addButton(), QBoxLayout::addWidget(), QWidget::adjustSize(), buttonBox, clear(), clearButton, QWidget::close(), QObject::connect(), dropArea, formatsTable, QTableView::horizontalHeader(), QAbstractItemView::NoEditTriggers, quitButton, QDialogButtonBox::RejectRole, QTableWidget::setColumnCount(), QAbstractItemView::setEditTriggers(), QTableWidget::setHorizontalHeaderLabels(), QWidget::setLayout(), QWidget::setMinimumSize(), QHeaderView::setStretchLastSection(), QWidget::setWindowTitle(), QLabel::setWordWrap(), SIGNAL, SLOT, and updateFormatsTable().
00030 { 00031 abstractLabel = new QLabel(tr("This example accepts drags from other " 00032 "applications and displays the MIME types " 00033 "provided by the drag object.")); 00034 abstractLabel->setWordWrap(true); 00035 abstractLabel->adjustSize(); 00036 00037 dropArea = new DropArea; 00038 connect(dropArea, SIGNAL(changed(const QMimeData *)), 00039 this, SLOT(updateFormatsTable(const QMimeData *))); 00040 00041 QStringList labels; 00042 labels << tr("Format") << tr("Content"); 00043 00044 formatsTable = new QTableWidget; 00045 formatsTable->setColumnCount(2); 00046 formatsTable->setEditTriggers(QAbstractItemView::NoEditTriggers); 00047 formatsTable->setHorizontalHeaderLabels(labels); 00048 formatsTable->horizontalHeader()->setStretchLastSection(true); 00049 00050 clearButton = new QPushButton(tr("Clear")); 00051 quitButton = new QPushButton(tr("Quit")); 00052 00053 buttonBox = new QDialogButtonBox; 00054 buttonBox->addButton(clearButton, QDialogButtonBox::ActionRole); 00055 buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole); 00056 00057 connect(quitButton, SIGNAL(pressed()), this, SLOT(close())); 00058 connect(clearButton, SIGNAL(pressed()), dropArea, SLOT(clear())); 00059 00060 QVBoxLayout *mainLayout = new QVBoxLayout; 00061 mainLayout->addWidget(abstractLabel); 00062 mainLayout->addWidget(dropArea); 00063 mainLayout->addWidget(formatsTable); 00064 mainLayout->addWidget(buttonBox); 00065 setLayout(mainLayout); 00066 00067 setWindowTitle(tr("Drop Site")); 00068 setMinimumSize(350, 500); 00069 }
Here is the call graph for this function:

| void DropSiteWindow::updateFormatsTable | ( | const QMimeData * | mimeData | ) | [slot] |
Definition at line 71 of file dropsitewindow.cpp.
References Qt::AlignLeft, Qt::AlignTop, QString::append(), QMimeData::data(), data, QMimeData::formats(), formatsTable, hex(), QMimeData::html(), i, QTableWidget::insertRow(), Qt::ItemIsEnabled, QTableView::resizeColumnToContents(), row, QTableWidget::rowCount(), QTableWidget::setItem(), QTableWidget::setRowCount(), QString::simplified(), and QMimeData::text().
Referenced by DropSiteWindow().
00072 { 00073 formatsTable->setRowCount(0); 00074 if (!mimeData) 00075 return; 00076 00077 foreach (QString format, mimeData->formats()) { 00078 QTableWidgetItem *formatItem = new QTableWidgetItem(format); 00079 formatItem->setFlags(Qt::ItemIsEnabled); 00080 formatItem->setTextAlignment(Qt::AlignTop | Qt::AlignLeft); 00081 00082 QString text; 00083 if (format == "text/plain") { 00084 text = mimeData->text().simplified(); 00085 } else if (format == "text/html") { 00086 text = mimeData->html().simplified(); 00087 } else { 00088 QByteArray data = mimeData->data(format); 00089 for (int i = 0; i < data.size() && i < 32; ++i) { 00090 QString hex = QString("%1").arg(uchar(data[i]), 2, 16, 00091 QChar('0')) 00092 .toUpper(); 00093 text.append(hex + " "); 00094 } 00095 } 00096 00097 int row = formatsTable->rowCount(); 00098 formatsTable->insertRow(row); 00099 formatsTable->setItem(row, 0, new QTableWidgetItem(format)); 00100 formatsTable->setItem(row, 1, new QTableWidgetItem(text)); 00101 } 00102 00103 formatsTable->resizeColumnToContents(0); 00104 }
DropArea* DropSiteWindow::dropArea [private] |
QLabel* DropSiteWindow::abstractLabel [private] |
QTableWidget* DropSiteWindow::formatsTable [private] |
Definition at line 49 of file dropsitewindow.h.
Referenced by DropSiteWindow(), and updateFormatsTable().
QPushButton* DropSiteWindow::clearButton [private] |
QPushButton* DropSiteWindow::quitButton [private] |
QDialogButtonBox* DropSiteWindow::buttonBox [private] |
1.5.1