annotate widgets/QueryResultsWidget.cpp @ 7:a5175615d153

add easaier tab widgets, style and pass the layer characteristics in the main window (remove from panestack)
author lbajardsilogic
date Fri, 11 May 2007 14:11:19 +0000
parents
children 5060939ca69d
rev   line source
lbajardsilogic@7 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
lbajardsilogic@7 2
lbajardsilogic@7 3 /* Sound Access
lbajardsilogic@7 4 EASAIER client application.
lbajardsilogic@7 5 Silogic 2007. Laure Bajard.
lbajardsilogic@7 6
lbajardsilogic@7 7 This program is free software; you can redistribute it and/or
lbajardsilogic@7 8 modify it under the terms of the GNU General Public License as
lbajardsilogic@7 9 published by the Free Software Foundation; either version 2 of the
lbajardsilogic@7 10 License, or (at your option) any later version. See the file
lbajardsilogic@7 11 COPYING included with this distribution for more information.
lbajardsilogic@7 12 */
lbajardsilogic@7 13
lbajardsilogic@7 14 #include "QueryResultsWidget.h"
lbajardsilogic@7 15
lbajardsilogic@7 16 #include <QScrollArea>
lbajardsilogic@7 17 #include <QLabel>
lbajardsilogic@7 18
lbajardsilogic@7 19 #include <iostream>
lbajardsilogic@7 20
lbajardsilogic@7 21 #include "sv/main/MainWindow.h"
lbajardsilogic@7 22
lbajardsilogic@7 23 QueryResultsWidget::QueryResultsWidget() : QWidget(),
lbajardsilogic@7 24 m_ndResults(0)
lbajardsilogic@7 25 {
lbajardsilogic@7 26 m_resultsLayout = new QGridLayout;
lbajardsilogic@7 27
lbajardsilogic@7 28 QWidget *resultsWidget = new QWidget;
lbajardsilogic@7 29 resultsWidget->setLayout(m_resultsLayout);
lbajardsilogic@7 30
lbajardsilogic@7 31 QScrollArea * scrollArea = new QScrollArea;
lbajardsilogic@7 32 scrollArea->setWidget(resultsWidget);
lbajardsilogic@7 33 scrollArea->setWidgetResizable(true);
lbajardsilogic@7 34
lbajardsilogic@7 35 QVBoxLayout *mainLayout = new QVBoxLayout;
lbajardsilogic@7 36 mainLayout->addWidget(scrollArea);
lbajardsilogic@7 37
lbajardsilogic@7 38 setLayout(mainLayout);
lbajardsilogic@7 39 }
lbajardsilogic@7 40
lbajardsilogic@7 41 QueryResultsWidget::~QueryResultsWidget()
lbajardsilogic@7 42 {}
lbajardsilogic@7 43
lbajardsilogic@7 44 void QueryResultsWidget::reset()
lbajardsilogic@7 45 {
lbajardsilogic@7 46 m_ndResults = 0;
lbajardsilogic@7 47
lbajardsilogic@7 48 QLayoutItem *child;
lbajardsilogic@7 49 while ((child = m_resultsLayout->takeAt(0)) != 0) {
lbajardsilogic@7 50 delete child->widget();
lbajardsilogic@7 51 }
lbajardsilogic@7 52 }
lbajardsilogic@7 53
lbajardsilogic@7 54 void QueryResultsWidget::newResult()
lbajardsilogic@7 55 {
lbajardsilogic@7 56 m_curResult.clear();
lbajardsilogic@7 57 }
lbajardsilogic@7 58
lbajardsilogic@7 59 void QueryResultsWidget::addInfo(const QString& name, const QString& value)
lbajardsilogic@7 60 {
lbajardsilogic@7 61 Info info;
lbajardsilogic@7 62 info.name = name;
lbajardsilogic@7 63 info.value = value;
lbajardsilogic@7 64
lbajardsilogic@7 65 m_curResult.push_back(info);
lbajardsilogic@7 66 }
lbajardsilogic@7 67
lbajardsilogic@7 68 void QueryResultsWidget::displayResult()
lbajardsilogic@7 69 {
lbajardsilogic@7 70 std::vector<Info>::iterator iter;
lbajardsilogic@7 71
lbajardsilogic@7 72 QLabel* result = new QLabel();
lbajardsilogic@7 73
lbajardsilogic@7 74 QString text;
lbajardsilogic@7 75
lbajardsilogic@7 76 for (iter = m_curResult.begin(); iter != m_curResult.end(); iter++)
lbajardsilogic@7 77 {
lbajardsilogic@7 78 text += "<br>" ;
lbajardsilogic@7 79 text += (*iter).name;
lbajardsilogic@7 80 text += " : " ;
lbajardsilogic@7 81 if (((*iter).value.left(4) == "http") && ((*iter).value.right(4) == ".xml"))
lbajardsilogic@7 82 {
lbajardsilogic@7 83 text += "<a href=\"";
lbajardsilogic@7 84 text += (*iter).value;
lbajardsilogic@7 85 text += "\">";
lbajardsilogic@7 86 text += (*iter).value;
lbajardsilogic@7 87 text += "</a>";
lbajardsilogic@7 88 } else
lbajardsilogic@7 89 {
lbajardsilogic@7 90 text += (*iter).value;
lbajardsilogic@7 91 }
lbajardsilogic@7 92 text += "</br>" ;
lbajardsilogic@7 93 }
lbajardsilogic@7 94
lbajardsilogic@7 95 connect(result, SIGNAL(linkActivated(QString)), MainWindow::instance(), SLOT(importEasaierFile(QString)));
lbajardsilogic@7 96
lbajardsilogic@7 97 result->setText(text);
lbajardsilogic@7 98
lbajardsilogic@7 99 m_resultsLayout->addWidget(result,m_ndResults,0);
lbajardsilogic@7 100 m_ndResults++;
lbajardsilogic@7 101 }