#include <MonitorWindow.h>
Public Member Functions | |
StorageTable (QWidget *parent=0, const char *name=0) | |
void | setTable (vector< StorageData > table) |
Private Slots | |
void | clear () |
Private Attributes | |
CSessionManager * | m_manager |
QTimer | timer |
Definition at line 83 of file MonitorWindow.h.
StorageTable::StorageTable | ( | QWidget * | parent = 0 , |
|
const char * | name = 0 | |||
) |
Definition at line 139 of file MonitorWindow.cpp.
00140 : QTable( parent, name ) 00141 { 00142 setNumRows( 0 ); 00143 setNumCols( STORAGE_TOTAL_COLS ); 00144 horizontalHeader()->setLabel( S_IP, tr( "IP" ) ); 00145 horizontalHeader()->setLabel( S_HOSTNAME, tr( "Host Name" ) ); 00146 horizontalHeader()->setLabel( S_DISK, tr( "Disks" ) ); 00147 horizontalHeader()->setLabel( S_QUEUE, tr( "Queue Size" ) ); 00148 00149 int column; 00150 for( column = 0; column < STORAGE_TOTAL_COLS; column++ ) 00151 { 00152 setColumnWidth( column, 0 ); 00153 adjustColumn( column ); 00154 } 00155 00156 horizontalHeader()->setStretchEnabled( true, S_QUEUE ); 00157 horizontalHeader()->adjustHeaderSize(); 00158 00159 setCaption( tr( "Storage Nodes" ) ); 00160 setShowGrid( false ); 00161 setReadOnly( true ); 00162 }
void StorageTable::clear | ( | ) | [private, slot] |
Definition at line 164 of file MonitorWindow.cpp.
00165 { 00166 for( int row = 0; row < numRows(); row++ ) 00167 { 00168 QProgressBar *prog_bar = ((QProgressBar *)cellWidget( row, S_QUEUE )); 00169 prog_bar->setProgress( 0 ); 00170 } 00171 }
void StorageTable::setTable | ( | vector< StorageData > | table | ) |
Definition at line 173 of file MonitorWindow.cpp.
00174 { 00175 setNumRows( table.size() ); 00176 int host_num = 0, disk_num = 0; 00177 for( unsigned int row = 0; row < table.size(); row++ ) 00178 { 00179 if( text( row, S_IP ) != table[row].m_ip ) 00180 setText( row, S_IP, table[row].m_ip ); 00181 if( text( row, S_HOSTNAME ) != table[row].m_hostname ) 00182 setText( row, S_HOSTNAME, table[row].m_hostname ); 00183 if( text( row, S_DISK ) != table[row].m_diskname ) 00184 setText( row, S_DISK, table[row].m_diskname ); 00185 if( cellWidget( row, S_QUEUE ) == 0 ) //new row 00186 { 00187 QProgressBar *prog_bar = new QProgressBar(); 00188 prog_bar->setPercentageVisible( false ); 00189 setCellWidget( row, S_QUEUE, prog_bar ); 00190 setRowHeight( row, (int)(1.25 * rowHeight( row )) ); 00191 prog_bar->setFixedHeight( rowHeight( row ) ); 00192 verticalHeader()->setLabel( row, "0" ); //dummy label 00193 } 00194 if( ((QProgressBar *)cellWidget( row, S_QUEUE ))->progress() != 00195 table[row].m_queue ) 00196 ((QProgressBar *)cellWidget( row, S_QUEUE ))->setProgress( 00197 table[row].m_queue ); 00198 00199 if( text( row, S_IP ).isEmpty() ) //Disk 00200 { 00201 QString row_text = 00202 QString::number( host_num ) + "." + 00203 QString::number( ++disk_num ); 00204 if( verticalHeader()->label( row ) != row_text ) 00205 verticalHeader()->setLabel( row, 00206 QIconSet( (const char **) image_disk_icon ), 00207 row_text ); 00208 } 00209 else //Node 00210 { 00211 QString row_text = QString::number( ++host_num ); 00212 disk_num = 0; 00213 if( verticalHeader()->label( row ) != row_text ) 00214 verticalHeader()->setLabel( row, 00215 QIconSet( (const char **) image_storage_icon ), 00216 row_text ); 00217 } 00218 } 00219 //ignore queue column 00220 for( int column = 0; column < STORAGE_TOTAL_COLS-1; column++ ) 00221 adjustColumn( column ); 00222 horizontalHeader()->adjustHeaderSize(); 00223 }
CSessionManager* StorageTable::m_manager [private] |
Definition at line 92 of file MonitorWindow.h.
QTimer StorageTable::timer [private] |
Definition at line 93 of file MonitorWindow.h.