8d0fa382c366b85740cc0648b5652856c18644bf
[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   setSelectionMode( QAbstractItemView::NoSelection );
15
16   for ( int row=0; row<NumberOfRows; ++row ) {
17     QTableWidgetItem *newRow = new QTableWidgetItem();
18     setItem( row,0, newRow );
19   }
20 }
21
22 MessageTable::~MessageTable()
23 {
24 }
25
26 void MessageTable::displayMessage( const QString &message )
27 {
28   // scroll items down from bottom to top
29   for ( int row=NumberOfRows-1; row>0; --row ) {
30     QTableWidgetItem *fromItem = item(0,row-1);
31     QTableWidgetItem *toItem = item(0,row);
32     QString text=fromItem->text();
33     toItem->setText( text );
34   }
35
36   itemAt(0,0)->setText( message );
37 }
38
39 void MessageTable::resizeEvent( QResizeEvent *event )
40 {
41   int width = event->size().width() / columnCount();
42   for ( int i = 0; i < columnCount(); ++i ) {
43     setColumnWidth( i, width );
44   }
45 }