Mercurial > projects > qtd
diff examples/draganddrop/dropsite/dropsitewindow.d @ 372:a032df77b6ab
Simple debug helper. Unittests. Meta-object for polymorphic non-QObjects
author | Max Samukha <maxter@spambox.com> |
---|---|
date | Thu, 08 Jul 2010 17:19:05 +0300 |
parents | 31520b2c0b3c |
children | 681af90e1d53 |
line wrap: on
line diff
--- a/examples/draganddrop/dropsite/dropsitewindow.d Sun Jul 04 14:17:49 2010 +0100 +++ b/examples/draganddrop/dropsite/dropsitewindow.d Thu Jul 08 17:19:05 2010 +0300 @@ -53,101 +53,114 @@ import droparea; +import std.stdio; //TODO: remove + + class DropSiteWindow : public QWidget { public: - this() - { - abstractLabel = new QLabel(tr("This example accepts drags from other " - "applications and displays the MIME types " - "provided by the drag object.")); + this() + { + abstractLabel = new QLabel(tr("This example accepts drags from other " + "applications and displays the MIME types " + "provided by the drag object.")); - abstractLabel.setWordWrap(true); - abstractLabel.adjustSize(); + abstractLabel.setWordWrap(true); + abstractLabel.adjustSize(); - dropArea = new DropArea; - connect(dropArea, "changed", this, "updateFormatsTable"); + dropArea = new DropArea; + connect(dropArea, "changed", this, "updateFormatsTable"); - string[] labels; - labels ~= tr("Format"); - labels ~= tr("Content"); + string[] labels; + labels ~= tr("Format"); + labels ~= tr("Content"); - formatsTable = new QTableWidget; - formatsTable.setColumnCount(2); - formatsTable.setEditTriggers(QAbstractItemView.NoEditTriggers); - formatsTable.setHorizontalHeaderLabels(labels.toQList()); - formatsTable.horizontalHeader().setStretchLastSection(true); + formatsTable = new QTableWidget; + formatsTable.setColumnCount(2); + formatsTable.setEditTriggers(QAbstractItemView.NoEditTriggers); + formatsTable.setHorizontalHeaderLabels(labels.toQList()); + formatsTable.horizontalHeader().setStretchLastSection(true); - clearButton = new QPushButton(tr("Clear")); - quitButton = new QPushButton(tr("Quit")); + clearButton = new QPushButton(tr("Clear")); + quitButton = new QPushButton(tr("Quit")); + + buttonBox = new QDialogButtonBox; + buttonBox.addButton(clearButton, QDialogButtonBox.ActionRole); + buttonBox.addButton(quitButton, QDialogButtonBox.RejectRole); - buttonBox = new QDialogButtonBox; - buttonBox.addButton(clearButton, QDialogButtonBox.ActionRole); - buttonBox.addButton(quitButton, QDialogButtonBox.RejectRole); - - connect(quitButton, "pressed", this, "close"); - connect(clearButton, "pressed", dropArea, "clearArea"); + connect(quitButton, "pressed", this, "close"); + connect(clearButton, "pressed", dropArea, "clearArea"); - QVBoxLayout mainLayout = new QVBoxLayout; - mainLayout.addWidget(abstractLabel); - mainLayout.addWidget(dropArea); - mainLayout.addWidget(formatsTable); - mainLayout.addWidget(buttonBox); - setLayout(mainLayout); + QVBoxLayout mainLayout = new QVBoxLayout; + mainLayout.addWidget(abstractLabel); + mainLayout.addWidget(dropArea); + mainLayout.addWidget(formatsTable); + mainLayout.addWidget(buttonBox); + setLayout(mainLayout); + + setWindowTitle(tr("Drop Site")); + setMinimumSize(350, 500); + } - setWindowTitle(tr("Drop Site")); - setMinimumSize(350, 500); - } + void slot_updateFormatsTable(QMimeData mimeData) + { + formatsTable.setRowCount(0); + if (!mimeData) + return; - void slot_updateFormatsTable(QMimeData mimeData) - { - formatsTable.setRowCount(0); - if (!mimeData) - return; + foreach (string format; mimeData.formats()) { - foreach (string format; mimeData.formats()) { - QTableWidgetItem formatItem = new QTableWidgetItem(format); - formatItem.setFlags(Qt.ItemIsEnabled); - formatItem.setTextAlignment(Qt.AlignTop | Qt.AlignLeft); + writeln("Point 1"); + QTableWidgetItem formatItem = new QTableWidgetItem(format); + formatItem.setFlags(Qt.ItemIsEnabled); + formatItem.setTextAlignment(Qt.AlignTop | Qt.AlignLeft); - string text; - if (format == "text/plain") { - text = strip(mimeData.text()); - } else if (format == "text/html") { - text = strip(mimeData.html()); - } else if (format == "text/uri-list") { - auto urlList = mimeData.urls(); - for (int i = 0; i < urlList.length && i < 32; ++i) { - string url = urlList[i].path(); - text ~= url ~ " "; - } - } else { - QByteArray data = mimeData.data(format); - for (int i = 0; i < data.size() && i < 32; ++i) { - string hex = toupper(std.string.format("%x", data.at(i))); - text ~= hex ~ " "; - } - } + string text; + if (format == "text/plain") { + text = strip(mimeData.text()); + } else if (format == "text/html") { + text = strip(mimeData.html()); + } else if (format == "text/uri-list") { + auto urlList = mimeData.urls(); + for (int i = 0; i < urlList.length && i < 32; ++i) { + string url = urlList[i].path(); + text ~= url ~ " "; + } + } else { + QByteArray data = mimeData.data(format); + for (int i = 0; i < data.size() && i < 32; ++i) { + string hex = toupper(std.string.format("%x", data.at(i))); + text ~= hex ~ " "; + } + } - int row = formatsTable.rowCount(); - formatsTable.insertRow(row); - formatsTable.setItem(row, 0, new QTableWidgetItem(format)); - formatsTable.setItem(row, 1, new QTableWidgetItem(text)); - } + int row = formatsTable.rowCount(); + formatsTable.insertRow(row); - formatsTable.resizeColumnToContents(0); - } + writeln("Point 2"); + formatsTable.setItem(row, 0, new QTableWidgetItem(format)); + writeln("Point 3"); + formatsTable.setItem(row, 1, new QTableWidgetItem(text)); + } + + formatsTable.resizeColumnToContents(0); + } + + ~this() + { + writeln("deleting dropsitewindow"); + } private: - DropArea dropArea; - QLabel abstractLabel; - QTableWidget formatsTable; + DropArea dropArea; + QLabel abstractLabel; + QTableWidget formatsTable; - QPushButton clearButton; - QPushButton quitButton; - QDialogButtonBox buttonBox; + QPushButton clearButton; + QPushButton quitButton; + QDialogButtonBox buttonBox; mixin Q_OBJECT; }