1) new status messages
[ptas] / zouba / messagetable.cpp
diff --git a/zouba/messagetable.cpp b/zouba/messagetable.cpp
new file mode 100644 (file)
index 0000000..d068bb9
--- /dev/null
@@ -0,0 +1,50 @@
+#include "messagetable.h"
+
+#include <QHeaderView>
+#include <QString>
+#include <QStringList>
+#include <QDebug>
+
+MessageTable::MessageTable( QWidget *parent ) :
+  QTableWidget( NumberOfRows, OneColumn, parent )
+{
+  setHorizontalHeaderLabels( QStringList() << "Messages" );
+  verticalHeader()->hide();
+  setMinimumSize( 250,0 );
+
+  for ( int row=0; row<NumberOfRows; ++row ) {
+    QTableWidgetItem *newRow = new QTableWidgetItem();
+    setItem( row,0, newRow );
+  }
+}
+QSize MessageTable::minimumSizeHint() const
+{
+       QSize size( QTableWidget::sizeHint() );
+
+       size.setWidth( 250 );
+       return size;
+}
+
+QSize MessageTable::sizeHint() const
+{
+       return minimumSizeHint();
+}
+
+MessageTable::~MessageTable()
+{
+}
+
+void MessageTable::displayMessage( const QString &message )
+{
+  // scroll items down from bottom to top
+  for ( int row=NumberOfRows-1; row>0; --row ) {
+    QTableWidgetItem *fromItem = item(0,row-1);
+    QTableWidgetItem *toItem = item(0,row);
+    QString text=fromItem->text();
+    toItem->setText( text );
+  }
+
+  itemAt(0,0)->setText( message );
+
+  resizeColumnsToContents();
+}