summaryrefslogtreecommitdiff
path: root/examples/xmlpatterns/trafficinfo/stationdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/xmlpatterns/trafficinfo/stationdialog.cpp')
-rw-r--r--examples/xmlpatterns/trafficinfo/stationdialog.cpp161
1 files changed, 0 insertions, 161 deletions
diff --git a/examples/xmlpatterns/trafficinfo/stationdialog.cpp b/examples/xmlpatterns/trafficinfo/stationdialog.cpp
deleted file mode 100644
index 6cd267f..0000000
--- a/examples/xmlpatterns/trafficinfo/stationdialog.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names
-** of its contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "stationdialog.h"
-#include "ui_stationdialog.h"
-
-#include <QtCore/QAbstractListModel>
-
-class StationModel : public QAbstractListModel
-{
- public:
- enum Role
- {
- StationIdRole = Qt::UserRole + 1,
- StationNameRole
- };
-
- StationModel(QObject *parent = 0)
- : QAbstractListModel(parent)
- {
- }
-
- void setStations(const StationInformation::List &list)
- {
- m_stations = list;
- layoutChanged();
- }
-
- virtual int rowCount(const QModelIndex &parent = QModelIndex()) const
- {
- if (!parent.isValid())
- return m_stations.count();
- else
- return 0;
- }
-
- virtual int columnCount(const QModelIndex &parent = QModelIndex()) const
- {
- if (!parent.isValid())
- return 1;
- else
- return 0;
- }
-
- virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const
- {
- if (!index.isValid())
- return QVariant();
-
- if (index.column() > 1 || index.row() >= m_stations.count())
- return QVariant();
-
- const StationInformation info = m_stations.at(index.row());
- if (role == Qt::DisplayRole || role == StationNameRole)
- return info.name();
- else if (role == StationIdRole)
- return info.id();
-
- return QVariant();
- }
-
- private:
- StationInformation::List m_stations;
-};
-
-StationDialog::StationDialog(const QString &name, const QStringList &lineNumbers, QWidget *parent)
- : QDialog(parent)
-{
- m_ui.setupUi(this);
-
- connect(m_ui.m_searchButton, SIGNAL(clicked()), this, SLOT(searchStations()));
-
- m_ui.m_searchButton->setDefault(true);
- m_ui.m_input->setText(name);
-
- m_model = new StationModel(this);
- m_ui.m_view->setModel(m_model);
-
- for (int i = 0; i < lineNumbers.count(); ++i) {
- if (i == 0)
- m_ui.m_line1->setText(lineNumbers.at(i));
- else if (i == 1)
- m_ui.m_line2->setText(lineNumbers.at(i));
- else if (i == 2)
- m_ui.m_line3->setText(lineNumbers.at(i));
- else if (i == 3)
- m_ui.m_line4->setText(lineNumbers.at(i));
- }
-
- QMetaObject::invokeMethod(this, SLOT(searchStations()), Qt::QueuedConnection);
-}
-
-StationInformation StationDialog::selectedStation() const
-{
- const QModelIndex index = m_ui.m_view->currentIndex();
-
- if (!index.isValid())
- return StationInformation();
-
- return StationInformation(index.data(StationModel::StationIdRole).toString(),
- index.data(StationModel::StationNameRole).toString());
-}
-
-QStringList StationDialog::lineNumbers() const
-{
- QStringList lines;
-
- if (!m_ui.m_line1->text().simplified().isEmpty())
- lines.append(m_ui.m_line1->text().simplified());
- if (!m_ui.m_line2->text().simplified().isEmpty())
- lines.append(m_ui.m_line2->text().simplified());
- if (!m_ui.m_line3->text().simplified().isEmpty())
- lines.append(m_ui.m_line3->text().simplified());
- if (!m_ui.m_line4->text().simplified().isEmpty())
- lines.append(m_ui.m_line4->text().simplified());
-
- return lines;
-}
-
-void StationDialog::searchStations()
-{
- m_model->setStations(StationQuery::query(m_ui.m_input->text()));
- m_ui.m_view->keyboardSearch(m_ui.m_input->text());
-}