comparison 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
comparison
equal deleted inserted replaced
147:13b5b9af0484 148:9f16a77107bd
15 #include "ConfidenceListWidget.h" 15 #include "ConfidenceListWidget.h"
16 #include "ConfidenceWidget.h" 16 #include "ConfidenceWidget.h"
17 17
18 ConfidenceListWidget::ConfidenceListWidget(QWidget *parent):QWidget(parent){ 18 ConfidenceListWidget::ConfidenceListWidget(QWidget *parent):QWidget(parent){
19 19
20 m_vlayout = new QVBoxLayout; 20 m_layout = new QGridLayout;
21 m_vConfidenceLayout = new QVBoxLayout;
22 m_hlayout = new QHBoxLayout;
23 m_button = new QPushButton(); 21 m_button = new QPushButton();
24 m_moyConfidence = new ConfidenceWidget(); 22 m_moyConfidence = new ConfidenceWidget();
25 23
26 m_state=0; 24 m_state=0;
27 confidenceSum=0; 25 confidenceSum=0;
26 curRow = 0;
28 27
29 m_moyConfidence->setMaximumHeight(30); 28 m_moyConfidence->setMaximumHeight(30);
30 m_moyConfidence->setMinimumHeight(30); 29 m_moyConfidence->setMinimumHeight(30);
31 m_moyConfidence->setFixedHeight(30); 30 m_moyConfidence->setFixedHeight(30);
32 m_moyConfidence->setMinimumWidth(100); 31 m_moyConfidence->setMinimumWidth(100);
36 m_button->setMaximumWidth(16); 35 m_button->setMaximumWidth(16);
37 m_button->setMinimumHeight(16); 36 m_button->setMinimumHeight(16);
38 m_button->setMinimumWidth(16); 37 m_button->setMinimumWidth(16);
39 m_button->setEnabled(false); 38 m_button->setEnabled(false);
40 39
41 m_vConfidenceLayout->setSpacing(0); 40 m_layout->setSpacing(0);
42 m_vConfidenceLayout->addWidget(m_moyConfidence); 41 m_layout->setMargin(0);
42 m_layout->addWidget(m_moyConfidence,curRow,0,1,1);
43 m_layout->addWidget(m_button,curRow,1,1,1);
44 curRow++;
43 45
44 m_vlayout->setSpacing(0);
45 m_vlayout->addLayout(m_vConfidenceLayout);
46 m_vlayout->addStretch();
47 46
48 m_hlayout->addLayout(m_vlayout); 47 this->setLayout(m_layout);
49
50 m_hlayout->addWidget(m_button);
51
52 this->setLayout(m_hlayout);
53 48
54 connect(m_button,SIGNAL(clicked()),this,SLOT(changeSate())); 49 connect(m_button,SIGNAL(clicked()),this,SLOT(changeSate()));
55 50
56 updateSize(); 51 updateSize();
57 refreshButtonIcone(); 52 refreshButtonIcone();
67 auxConfidence->setMaximumWidth(100); 62 auxConfidence->setMaximumWidth(100);
68 auxConfidence->setToolTip(label); 63 auxConfidence->setToolTip(label);
69 auxConfidence->setVisible(m_state); 64 auxConfidence->setVisible(m_state);
70 65
71 confidenceSum +=confidence; 66 confidenceSum +=confidence;
72 m_vConfidenceLayout->addWidget(auxConfidence); 67 m_layout->addWidget(auxConfidence,curRow,0,1,2);
73 68
74 m_moyConfidence->setConfidence(confidenceSum/(m_vConfidenceLayout->count()-1)); 69 m_moyConfidence->setConfidence(confidenceSum/curRow);
75 if((m_vConfidenceLayout->count()-1)>1){ 70 if(curRow>1){
76 m_button->setEnabled(true); 71 m_button->setEnabled(true);
77 }else{ 72 }else{
78 m_button->setEnabled(false); 73 m_button->setEnabled(false);
79 } 74 }
75 curRow++;
76
80 77
81 78
82 } 79 }
83 80
84 void ConfidenceListWidget::reset(){ 81 void ConfidenceListWidget::reset(){
95 m_button->setText("+"); 92 m_button->setText("+");
96 } 93 }
97 } 94 }
98 95
99 void ConfidenceListWidget::updateSize(){ 96 void ConfidenceListWidget::updateSize(){
100 int count = m_vConfidenceLayout->count();
101 if(m_state){ 97 if(m_state){
102 this->setMaximumHeight(count*30 + count); 98 this->setMaximumHeight((curRow)*30);
99 this->setMinimumHeight((curRow)*30);
103 }else{ 100 }else{
104 this->setMaximumHeight(37); 101 this->setMaximumHeight(30);
102 this->setMinimumHeight(30);
105 } 103 }
106 } 104 }
107 105
108 void ConfidenceListWidget::changeSate(){ 106 void ConfidenceListWidget::changeSate(){
109 m_state = !m_state; 107 m_state = !m_state;
110 int count = m_vConfidenceLayout->count(); 108 for(int i=2; i<curRow+1;i++){
111 for(int i=1; i<count;i++){ 109 m_layout->itemAt(i)->widget()->setVisible(m_state);
112 m_vConfidenceLayout->itemAt(i)->widget()->setVisible(m_state);
113 } 110 }
114 updateSize(); 111 updateSize();
115 refreshButtonIcone(); 112 refreshButtonIcone();
116 } 113 }
117 114