ClientTable Class Reference

#include <MonitorWindow.h>

Public Member Functions

 ClientTable (QWidget *parent=0, const char *name=0)
void setTable (vector< ClientData > table)

Private Attributes

CSessionManagerm_manager
QTimer * timer

Detailed Description

Definition at line 70 of file MonitorWindow.h.


Constructor & Destructor Documentation

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 }


Member Function Documentation

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 }


Field Documentation

Definition at line 79 of file MonitorWindow.h.

QTimer* ClientTable::timer [private]

Definition at line 80 of file MonitorWindow.h.


The documentation for this class was generated from the following files:
Generated on Wed Jul 4 16:03:31 2012 for RIO by  doxygen 1.6.3