diff widgets/ListResultGeneralItemWidget.cpp @ 108:c107866fd387

first draft to the list result
author benoitrigolleau
date Fri, 14 Sep 2007 16:44:36 +0000
parents
children 1c638a8e9897
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/widgets/ListResultGeneralItemWidget.cpp	Fri Sep 14 16:44:36 2007 +0000
@@ -0,0 +1,190 @@
+/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
+
+/*   
+	Sound Access
+		EASAIER client application.
+		Silogic 2007. Benoit Rigolleau.
+
+	This program is free software; you can redistribute it and/or
+	modify it under the terms of the GNU General Public License as
+	published by the Free Software Foundation; either version 2 of the
+	License, or (at your option) any later version.  See the file
+	COPYING included with this distribution for more information.
+*/
+
+#include "ListResultGeneralItemWidget.h"
+
+#include "CriteriaDialog.h"
+#include <QPixmap>
+
+ListResultGeneralItemWidget::ListResultGeneralItemWidget(QWidget *parent):QWidget(parent){
+	vLayout1 = new QVBoxLayout(); 
+	vLayout2 = new QVBoxLayout(); 
+	hLayout1 = new QHBoxLayout(); 
+	hLayout2 = new QHBoxLayout(); 
+	hLayout3 = new QHBoxLayout(); 
+	m_waitingWidget = new WaitingWidget();
+
+	m_labelRank = new QLabel();
+	m_labelIcon = new QLabel();
+	m_labelTitleArtist = new QLabel();
+	label4 = new QLabel("4");
+	label5 = new QLabel("le super mega truc des options que même que c'est trop bien");
+
+	m_buttonPrev = new QPushButton("prev");
+	m_buttonSimilar = new QPushButton("similar");
+
+	m_confidenceListWidget= new ConfidenceListWidget();
+	m_confidenceListWidget->setMaximumWidth(180);
+
+	
+	// set parameters for each component
+
+	m_labelRank->setMaximumWidth(40);
+	m_labelRank->setMinimumWidth(40);
+	m_labelIcon->setMaximumWidth(40);
+	m_labelIcon->setMinimumWidth(40);
+	label4->setMaximumWidth(40);
+	label4->setMinimumWidth(40);
+
+	m_labelRank->setAlignment(Qt::AlignCenter);
+	m_labelIcon->setAlignment(Qt::AlignCenter);
+
+	m_buttonPrev->setMaximumWidth(60);
+	//m_buttonPrev->setMaximumHeight(40);
+	m_buttonSimilar->setMaximumWidth(60);
+	//m_buttonSimilar->setMaximumHeight(40);
+
+	//////////////
+	/*QFrame *vLine = new QFrame();
+	vLine->setFrameStyle(QFrame::VLine | QFrame::Raised);
+	vLine->setMaximumWidth(1);
+	vLine->setMinimumWidth(1);
+	QFrame *vLine2 = new QFrame();
+	vLine2->setFrameStyle(QFrame::VLine | QFrame::Raised);
+	vLine2->setMaximumWidth(1);
+	vLine2->setMinimumWidth(1);*/
+
+	QWidget *mainWidget = new QWidget();
+	
+	hLayout1->setMargin(0);
+	hLayout1->setSpacing(0);
+	//hLayout1->addWidget(vLine);
+	hLayout1->addWidget(mainWidget);
+	//hLayout1->addWidget(vLine2);
+
+	//////////
+	
+	QFrame *hLine = new QFrame();
+	hLine->setFrameStyle(QFrame::HLine | QFrame::Raised);
+	hLine->setMaximumHeight(1);
+	hLine->setMinimumHeight(1);
+	
+	vLayout1->setMargin(0);
+	vLayout1->setSpacing(0);
+	vLayout1->addLayout(hLayout1);
+	vLayout1->addWidget(hLine);
+
+	this->setLayout(vLayout1);
+
+	////////
+	
+	/*QFrame *vLine3 = new QFrame();
+	vLine3->setFrameStyle(QFrame::VLine | QFrame::Raised);
+	vLine3->setMaximumWidth(1);
+	vLine3->setMinimumWidth(1);
+	QFrame *vLine4 = new QFrame();
+	vLine4->setFrameStyle(QFrame::VLine | QFrame::Raised);
+	vLine4->setMaximumWidth(1);
+	vLine4->setMinimumWidth(1);*/
+
+	mainWidget->setLayout(hLayout2);
+	hLayout2->setMargin(0);
+	hLayout2->setSpacing(0);
+
+	hLayout2->addWidget(m_labelRank);
+	//hLayout2->addWidget(vLine3);
+	hLayout2->addWidget(m_labelIcon);
+	//hLayout2->addWidget(vLine4);
+	hLayout2->addWidget(m_waitingWidget);
+
+	//////
+
+	m_waitingWidget->setLayout(vLayout2);
+	vLayout2->addLayout(hLayout3);
+	vLayout2->addWidget(label5);
+	vLayout2->setMargin(0);
+	vLayout2->setSpacing(0);
+
+	/////
+	/*QFrame *vLine5 = new QFrame();
+	vLine5->setFrameStyle(QFrame::VLine | QFrame::Raised);
+	vLine5->setMaximumWidth(1);
+	vLine5->setMinimumWidth(1);
+	QFrame *vLine6 = new QFrame();
+	vLine6->setFrameStyle(QFrame::VLine | QFrame::Raised);
+	vLine6->setMaximumWidth(1);
+	vLine6->setMinimumWidth(1);
+	QFrame *vLine7 = new QFrame();
+	vLine7->setFrameStyle(QFrame::VLine | QFrame::Raised);
+	vLine7->setMaximumWidth(1);
+	vLine7->setMinimumWidth(1);*/
+
+	hLayout3->setMargin(0);
+	hLayout3->setSpacing(0);
+	hLayout3->addWidget(m_labelTitleArtist);
+	//hLayout3->addWidget(vLine5);
+	hLayout3->addWidget(m_confidenceListWidget);
+	//hLayout3->addWidget(vLine6);
+	hLayout3->addWidget(label4);
+	//hLayout3->addWidget(vLine7);
+	hLayout3->addWidget(m_buttonPrev);
+	hLayout3->addWidget(m_buttonSimilar);
+
+	connect(m_buttonSimilar, SIGNAL(clicked()), this, SLOT(displayCriteria()));
+
+}
+
+void ListResultGeneralItemWidget::setTitleAndAuthorName(QString author,QString title){
+	m_labelTitleArtist->setText(author+" - \""+title+"\"");	
+}
+
+void ListResultGeneralItemWidget::setRank(int rank){
+	m_labelRank->setText(QString().setNum(rank));
+}
+
+void ListResultGeneralItemWidget::setType(int type){
+	QString pixmapName;
+	switch(type){
+		case 0:  
+			pixmapName.append(":icons/musicIcon.png");
+			break;
+		case 1: 
+			pixmapName.append(":icons/speechIcon.png");
+			break;
+
+		default: 
+			break;
+	}
+	m_labelIcon->setPixmap(QPixmap(pixmapName));
+}
+
+void ListResultGeneralItemWidget::addConfidence(int confidence, QString confidenceName){
+	m_confidenceListWidget->addConfidence(confidence,confidenceName);
+}
+
+void ListResultGeneralItemWidget::displayCriteria(){
+	m_criteriaDialog = new CriteriaDialog();
+	m_criteriaDialog->addCriteria("criteria 1");
+	m_criteriaDialog->addCriteria("criteria 2");
+	m_criteriaDialog->addCriteria("criteria 3");
+	m_criteriaDialog->setLocation(1000,200);
+	m_criteriaDialog->setOpacity(0.9);
+	if(m_criteriaDialog->exec()){
+		 m_waitingWidget->setAnimation(true);
+	}
+	delete m_criteriaDialog;
+}
+
+
+