diff widgets/ConfidenceListWidget.cpp @ 148:9f16a77107bd

the confidenceListWidget is ok now.
author benoitrigolleau
date Wed, 14 Nov 2007 10:07:23 +0000
parents f3dce7a985cf
children 735e67e91508
line wrap: on
line diff
--- a/widgets/ConfidenceListWidget.cpp	Tue Nov 13 17:47:02 2007 +0000
+++ b/widgets/ConfidenceListWidget.cpp	Wed Nov 14 10:07:23 2007 +0000
@@ -17,14 +17,13 @@
 
 ConfidenceListWidget::ConfidenceListWidget(QWidget *parent):QWidget(parent){
 
-	m_vlayout = new QVBoxLayout;
-	m_vConfidenceLayout = new QVBoxLayout;
-	m_hlayout = new QHBoxLayout;
+	m_layout = new QGridLayout;
 	m_button = new QPushButton();
 	m_moyConfidence = new ConfidenceWidget();
 
 	m_state=0;
 	confidenceSum=0;
+	curRow = 0;
 
 	m_moyConfidence->setMaximumHeight(30);
 	m_moyConfidence->setMinimumHeight(30);
@@ -38,18 +37,14 @@
 	m_button->setMinimumWidth(16);
 	m_button->setEnabled(false);
 
-	m_vConfidenceLayout->setSpacing(0);
-	m_vConfidenceLayout->addWidget(m_moyConfidence);
+	m_layout->setSpacing(0);
+	m_layout->setMargin(0);
+	m_layout->addWidget(m_moyConfidence,curRow,0,1,1);
+	m_layout->addWidget(m_button,curRow,1,1,1);
+	curRow++;
 
-	m_vlayout->setSpacing(0);
-	m_vlayout->addLayout(m_vConfidenceLayout);
-	m_vlayout->addStretch();
 
-	m_hlayout->addLayout(m_vlayout);
-
-	m_hlayout->addWidget(m_button);
-
-	this->setLayout(m_hlayout);
+	this->setLayout(m_layout);
 
     connect(m_button,SIGNAL(clicked()),this,SLOT(changeSate()));
 
@@ -69,14 +64,16 @@
 	auxConfidence->setVisible(m_state);
 	
 	confidenceSum +=confidence;
-	m_vConfidenceLayout->addWidget(auxConfidence);
-	
-	m_moyConfidence->setConfidence(confidenceSum/(m_vConfidenceLayout->count()-1));
-	if((m_vConfidenceLayout->count()-1)>1){
+	m_layout->addWidget(auxConfidence,curRow,0,1,2);
+
+	m_moyConfidence->setConfidence(confidenceSum/curRow);
+	if(curRow>1){
 		m_button->setEnabled(true);
 	}else{
 		m_button->setEnabled(false);
 	}
+	curRow++;
+
 
 
 }
@@ -97,19 +94,19 @@
 }
 
 void ConfidenceListWidget::updateSize(){
-	int count = m_vConfidenceLayout->count();
 	if(m_state){
-		this->setMaximumHeight(count*30 + count);
+		this->setMaximumHeight((curRow)*30);
+		this->setMinimumHeight((curRow)*30);
 	}else{
-		this->setMaximumHeight(37);
+		this->setMaximumHeight(30);
+		this->setMinimumHeight(30);
 	}
 }
 
 void ConfidenceListWidget::changeSate(){
 	m_state = !m_state;
-	int count = m_vConfidenceLayout->count();
-	for(int i=1; i<count;i++){
-		 m_vConfidenceLayout->itemAt(i)->widget()->setVisible(m_state);
+	for(int i=2; i<curRow+1;i++){
+		 m_layout->itemAt(i)->widget()->setVisible(m_state);
 	}
 	updateSize();
 	refreshButtonIcone();