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