032bcd240bbdbd09ab2ad237634bdfbce6719ca1
[ptas] / zouba / src / messagetable.cpp
1 #include "messagetable.h"
2
3 #include <QHeaderView>
4 #include <QString>
5 #include <QStringList>
6 #include <QDebug>
7 #include <QResizeEvent>
8
9 MessageTable::MessageTable( QWidget *parent ) :
10   QTableWidget( NumberOfRows, OneColumn, parent )
11 {
12   setHorizontalHeaderLabels( QStringList() << "Messages" );
13   verticalHeader()->hide();
14
15   for ( int row=0; row<NumberOfRows; ++row ) {
16     QTableWidgetItem *newRow = new QTableWidgetItem();
17     setItem( row,0, newRow );
18   }
19 }
20
21 MessageTable::~MessageTable()
22 {
23 }
24
25 void MessageTable::displayMessage( const QString &message )
26 {
27   // scroll items down from bottom to top
28   for ( int row=NumberOfRows-1; row>0; --row ) {
29     QTableWidgetItem *fromItem = item(0,row-1);
30     QTableWidgetItem *toItem = item(0,row);
31     QString text=fromItem->text();
32     toItem->setText( text );
33   }
34
35   itemAt(0,0)->setText( message );
36 }
37
38 void MessageTable::resizeEvent( QResizeEvent *event )
39 {
40   int width = event->size().width() / columnCount();
41   for ( int i = 0; i < columnCount(); ++i ) {
42     setColumnWidth( i, width );
43   }
44 }