#include <MonitorWindow.h>
Public Member Functions | |
ClientTable (QWidget *parent=0, const char *name=0) | |
void | setTable (vector< ClientData > table) |
Private Attributes | |
CSessionManager * | m_manager |
QTimer * | timer |
Definition at line 70 of file MonitorWindow.h.
ClientTable::ClientTable | ( | QWidget * | parent = 0 , |
|
const char * | name = 0 | |||
) |
Definition at line 73 of file MonitorWindow.cpp.
00074 : QTable( parent, name ) 00075 { 00076 setNumRows( 0 ); 00077 setNumCols( CLIENT_TOTAL_COLS ); 00078 horizontalHeader()->setLabel( IP, tr( "Client IP" ) ); 00079 horizontalHeader()->setLabel( PORT, tr( "Port" ) ); 00080 horizontalHeader()->setLabel( VIDEO, tr( "Current Video" ) ); 00081 horizontalHeader()->setLabel( TIME, tr( "Connection Time" ) ); 00082 horizontalHeader()->setLabel( QUEUE, tr( "Queue Size" ) ); 00083 00084 int column; 00085 for( column = 0; column < CLIENT_TOTAL_COLS; column++ ) 00086 { 00087 setColumnWidth( column, 0 ); 00088 adjustColumn( column ); 00089 } 00090 00091 horizontalHeader()->setStretchEnabled( true, QUEUE ); 00092 horizontalHeader()->adjustHeaderSize(); 00093 00094 setCaption( tr( "Connected Clients" ) ); 00095 setShowGrid( false ); 00096 setReadOnly( true ); 00097 }
void ClientTable::setTable | ( | vector< ClientData > | table | ) |
Definition at line 99 of file MonitorWindow.cpp.
00100 { 00101 setNumRows( table.size() ); 00102 for( unsigned int row = 0; row < table.size(); row++ ) 00103 { 00104 verticalHeader()->setLabel( row, 00105 QIconSet( (const char **) image_client_icon ), 00106 QString::number( row + 1 ) ); 00107 if( text( row, IP ) != table[row].m_ip ) 00108 setText( row, IP, table[row].m_ip ); 00109 if( text( row, PORT ) != QString::number( table[row].m_port ) ) 00110 setText( row, PORT, QString::number( table[row].m_port ) ); 00111 if( text( row, VIDEO ) != table[row].m_video ) 00112 setText( row, VIDEO, table[row].m_video ); 00113 //format time 00114 QTime time; 00115 time = time.addSecs( table[row].m_time ); 00116 if( text( row, TIME ) != time.toString( Qt::TextDate ) ) 00117 setText( row, TIME, time.toString( Qt::TextDate ) ); 00118 00119 if( cellWidget( row, QUEUE ) == 0 ) //new row 00120 { 00121 QProgressBar *prog_bar = new QProgressBar(); 00122 prog_bar->setPercentageVisible( false ); 00123 setCellWidget( row, QUEUE, prog_bar ); 00124 setRowHeight( row, (int)(1.25 * rowHeight( row )) ); 00125 prog_bar->setFixedHeight( rowHeight( row ) ); 00126 } 00127 if( ((QProgressBar *)cellWidget( row, QUEUE ))->progress() != 00128 table[row].m_queue ) 00129 ((QProgressBar *)cellWidget( row, QUEUE ))->setProgress( 00130 table[row].m_queue ); 00131 } 00132 //ignore queue column 00133 for( int column = 0; column < CLIENT_TOTAL_COLS-1; column++ ) 00134 adjustColumn( column ); 00135 horizontalHeader()->adjustHeaderSize(); 00136 }
CSessionManager* ClientTable::m_manager [private] |
Definition at line 79 of file MonitorWindow.h.
QTimer* ClientTable::timer [private] |
Definition at line 80 of file MonitorWindow.h.