Index: /trunk/BNC/bnc.pro
===================================================================
--- /trunk/BNC/bnc.pro	(revision 1931)
+++ /trunk/BNC/bnc.pro	(revision 1932)
@@ -37,5 +37,5 @@
           bncipport.h bncnetqueryv0.h bncnetqueryudp.h                \ 
           bncnetqueryudp0.h bncudpport.h                              \ 
-          bncserialport.h bncnetquerys.h                              \ 
+          bncserialport.h bncnetquerys.h bncfigure.h                  \ 
           RTCM/GPSDecoder.h RTCM/RTCM2.h RTCM/RTCM2Decoder.h          \
           RTCM/RTCM2_2021.h RTCM/rtcm_utils.h                         \
@@ -59,5 +59,5 @@
           bncipport.cpp bncnetqueryv0.cpp bncnetqueryudp.cpp          \
           bncnetqueryudp0.cpp bncudpport.cpp                          \
-          bncserialport.cpp bncnetquerys.cpp                          \
+          bncserialport.cpp bncnetquerys.cpp bncfigure.cpp            \
           RTCM/RTCM2.cpp RTCM/RTCM2Decoder.cpp                        \
           RTCM/RTCM2_2021.cpp RTCM/rtcm_utils.cpp                     \
Index: /trunk/BNC/bncfigure.cpp
===================================================================
--- /trunk/BNC/bncfigure.cpp	(revision 1932)
+++ /trunk/BNC/bncfigure.cpp	(revision 1932)
@@ -0,0 +1,131 @@
+// Part of BNC, a utility for retrieving decoding and
+// converting GNSS data streams from NTRIP broadcasters.
+//
+// Copyright (C) 2007
+// German Federal Agency for Cartography and Geodesy (BKG)
+// http://www.bkg.bund.de
+// Czech Technical University Prague, Department of Geodesy
+// http://www.fsv.cvut.cz
+//
+// Email: euref-ip@bkg.bund.de
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation, version 2.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+/* -------------------------------------------------------------------------
+ * BKG NTRIP Client
+ * -------------------------------------------------------------------------
+ *
+ * Class:      bncFigure
+ *
+ * Purpose:    
+ *
+ * Author:     Perlt, Mervart
+ *
+ * Created:    11-Nov-2009
+ *
+ * Changes:    
+ *
+ * -----------------------------------------------------------------------*/
+
+#include <iostream>
+
+#include "bncfigure.h" 
+#include "bncsettings.h"
+
+using namespace std;
+
+// Constructor
+////////////////////////////////////////////////////////////////////////////
+bncFigure::bncFigure(QWidget *parent) : QWidget(parent) {
+  bncSettings settings;
+  QListIterator<QString> it(settings.value("mountPoints").toStringList());
+  while (it.hasNext()) {
+    QStringList hlp   = it.next().split(" ");
+    QUrl        url(hlp[0]);
+    QByteArray  staID = url.path().mid(1).toAscii();
+    _bytes[staID] = new sumAndMean();
+  }
+  _counter = 0;
+  slotNextAnimationFrame();
+}
+
+// Destructor
+////////////////////////////////////////////////////////////////////////////
+bncFigure::~bncFigure() { 
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void bncFigure::slotNewData(const QByteArray staID, double nbyte) {
+  QMutexLocker locker(&_mutex);
+  QMap<QByteArray, sumAndMean*>::const_iterator it = _bytes.find(staID);
+  if (it != _bytes.end()) {
+    it.value()->_sum += nbyte;
+  }
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void bncFigure::slotNextAnimationFrame() {
+  QMutexLocker locker(&_mutex);
+  if (++_counter == 10) {
+    QMapIterator<QByteArray, sumAndMean*> it(_bytes);
+    while (it.hasNext()) {
+      it.next();
+      it.value()->_mean = it.value()->_sum / _counter;
+      it.value()->_sum  = 0.0;
+    }
+    _counter = 0;
+  }
+  update();
+  QTimer::singleShot(1000, this, SLOT(slotNextAnimationFrame()));
+}
+
+// 
+////////////////////////////////////////////////////////////////////////////
+void bncFigure::paintEvent(QPaintEvent *) {
+  QRectF rectangle(0, 0, 640, 180);
+  QBrush rBrush(Qt::white,Qt::SolidPattern);
+  QPainter painter(this);
+  painter.fillRect(rectangle,rBrush);
+  painter.drawRect(rectangle);
+  QLine line(50, 140, 630, 140);
+  painter.drawLine(line);
+  line.setLine(50, 140, 50, 10);
+  painter.drawLine(line);
+  QPoint textP(40, 140);
+  painter.drawText(textP, tr("0"));
+  textP.setX(20);
+  textP.setY(25);
+  painter.drawText(textP, tr("3000"));
+  int anker=0;
+  textP.setY(160);
+  painter.drawText(textP, tr(QTime::currentTime().toString().toAscii()));
+  textP.setX(300);
+
+  QMapIterator<QByteArray, sumAndMean*> it(_bytes);
+  while (it.hasNext()) {
+    it.next();
+    QByteArray staID = it.key();
+    double     vv    = it.value()->_mean;
+    QRectF vrect((100+anker*40), (140-vv), (30), (vv));
+    QBrush xBrush(Qt::green,Qt::SolidPattern);
+    textP.setX(100+anker*40);
+    painter.fillRect(vrect,xBrush);
+    painter.drawRect(vrect);
+    painter.drawText(textP, staID);
+    anker++;
+  }
+}
+
Index: /trunk/BNC/bncfigure.h
===================================================================
--- /trunk/BNC/bncfigure.h	(revision 1932)
+++ /trunk/BNC/bncfigure.h	(revision 1932)
@@ -0,0 +1,54 @@
+// Part of BNC, a utility for retrieving decoding and
+// converting GNSS data streams from NTRIP broadcasters.
+//
+// Copyright (C) 2007
+// German Federal Agency for Cartography and Geodesy (BKG)
+// http://www.bkg.bund.de
+// Czech Technical University Prague, Department of Geodesy
+// http://www.fsv.cvut.cz
+//
+// Email: euref-ip@bkg.bund.de
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation, version 2.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#ifndef BNCFIGURE_H
+#define BNCFIGURE_H
+
+#include <QtGui>
+
+class bncFigure : public QWidget {
+  Q_OBJECT
+ public:
+  bncFigure(QWidget *parent);
+  ~bncFigure();
+ public slots:
+  void slotNewData(const QByteArray staID, double nbyte);
+ protected:
+  void paintEvent(QPaintEvent *event);
+ private slots:
+  void slotNextAnimationFrame();
+ private:
+  class sumAndMean {
+   public:
+    sumAndMean() {_mean = 0.0; _sum = 0.0;}
+    ~sumAndMean() {}
+    double _mean;
+    double _sum;
+  };
+  QMap<QByteArray, sumAndMean*> _bytes;
+  QMutex                        _mutex;
+  int                           _counter;
+};
+
+#endif
Index: /trunk/BNC/bncwindow.cpp
===================================================================
--- /trunk/BNC/bncwindow.cpp	(revision 1931)
+++ /trunk/BNC/bncwindow.cpp	(revision 1932)
@@ -53,4 +53,5 @@
 #include "bnctableitem.h"
 #include "bncsettings.h"
+#include "bncfigure.h"
 
 using namespace std;
@@ -58,93 +59,9 @@
 // Constructor
 ////////////////////////////////////////////////////////////////////////////
-FWidget::FWidget(QWidget *parent) : QWidget(parent) {
-  bncSettings settings;
-  QListIterator<QString> it(settings.value("mountPoints").toStringList());
-  while (it.hasNext()) {
-    QStringList hlp   = it.next().split(" ");
-    QUrl        url(hlp[0]);
-    QByteArray  staID = url.path().mid(1).toAscii();
-    _bytes[staID] = new sumAndMean();
-  }
-  _counter = 0;
-  slotNextAnimationFrame();
-}
-
-// Destructor
-////////////////////////////////////////////////////////////////////////////
-FWidget::~FWidget() { 
-}
-
-// 
-////////////////////////////////////////////////////////////////////////////
-void FWidget::slotNewData(const QByteArray staID, double nbyte) {
-  QMutexLocker locker(&_mutex);
-  QMap<QByteArray, sumAndMean*>::const_iterator it = _bytes.find(staID);
-  if (it != _bytes.end()) {
-    it.value()->_sum += nbyte;
-  }
-}
-
-// 
-////////////////////////////////////////////////////////////////////////////
-void FWidget::slotNextAnimationFrame() {
-  QMutexLocker locker(&_mutex);
-  if (++_counter == 10) {
-    QMapIterator<QByteArray, sumAndMean*> it(_bytes);
-    while (it.hasNext()) {
-      it.next();
-      it.value()->_mean = it.value()->_sum / _counter;
-      it.value()->_sum  = 0.0;
-    }
-    _counter = 0;
-  }
-  update();
-  QTimer::singleShot(1000, this, SLOT(slotNextAnimationFrame()));
-}
-
-// 
-////////////////////////////////////////////////////////////////////////////
-void FWidget::paintEvent(QPaintEvent *) {
-  QRectF rectangle(0, 0, 640, 180);
-  QBrush rBrush(Qt::white,Qt::SolidPattern);
-  QPainter painter(this);
-  painter.fillRect(rectangle,rBrush);
-  painter.drawRect(rectangle);
-  QLine line(50, 140, 630, 140);
-  painter.drawLine(line);
-  line.setLine(50, 140, 50, 10);
-  painter.drawLine(line);
-  QPoint textP(40, 140);
-  painter.drawText(textP, tr("0"));
-  textP.setX(20);
-  textP.setY(25);
-  painter.drawText(textP, tr("3000"));
-  int anker=0;
-  textP.setY(160);
-  painter.drawText(textP, tr(QTime::currentTime().toString().toAscii()));
-  textP.setX(300);
-
-  QMapIterator<QByteArray, sumAndMean*> it(_bytes);
-  while (it.hasNext()) {
-    it.next();
-    QByteArray staID = it.key();
-    double     vv    = it.value()->_mean;
-    QRectF vrect((100+anker*40), (140-vv), (30), (vv));
-    QBrush xBrush(Qt::green,Qt::SolidPattern);
-    textP.setX(100+anker*40);
-    painter.fillRect(vrect,xBrush);
-    painter.drawRect(vrect);
-    painter.drawText(textP, staID);
-    anker++;
-  }
-}
-
-// Constructor
-////////////////////////////////////////////////////////////////////////////
 bncWindow::bncWindow() {
 
   _caster = 0;
 
-  _Figure1 = new FWidget(this);
+  _bncFigure = new bncFigure(this);
 
   int ww = QFontMetrics(this->font()).width('w');
@@ -491,5 +408,5 @@
   // ----------
   QGridLayout* log2Layout = new QGridLayout;
-  log2Layout->addWidget(_Figure1,            0,0);
+  log2Layout->addWidget(_bncFigure,            0,0);
   log2group->setLayout(log2Layout);
 
@@ -1323,5 +1240,5 @@
         ((bncTableItem*) _mountPointsTable->item(iRow, 7))->setGetThread(thread);
         connect(thread, SIGNAL(newBytes(QByteArray, double)),
-                _Figure1, SLOT(slotNewData(QByteArray, double)));
+                _bncFigure, SLOT(slotNewData(QByteArray, double)));
 
         break;
Index: /trunk/BNC/bncwindow.h
===================================================================
--- /trunk/BNC/bncwindow.h	(revision 1931)
+++ /trunk/BNC/bncwindow.h	(revision 1932)
@@ -32,28 +32,4 @@
 #include "bnccaster.h"
 
-class FWidget : public QWidget {
-  Q_OBJECT
- public:
-  FWidget(QWidget *parent);
-  ~FWidget();
- public slots:
-  void slotNewData(const QByteArray staID, double nbyte);
- protected:
-  void paintEvent(QPaintEvent *event);
- private slots:
-  void slotNextAnimationFrame();
- private:
-  class sumAndMean {
-   public:
-    sumAndMean() {_mean = 0.0; _sum = 0.0;}
-    ~sumAndMean() {}
-    double _mean;
-    double _sum;
-  };
-  QMap<QByteArray, sumAndMean*> _bytes;
-  QMutex                        _mutex;
-  int                           _counter;
-};
-
 class bncAboutDlg : public QDialog {
   Q_OBJECT
@@ -63,5 +39,5 @@
 };
 
-  class bncFlowchartDlg : public QDialog {
+class bncFlowchartDlg : public QDialog {
   Q_OBJECT
 
@@ -71,5 +47,7 @@
 };
 
-  class bncWindow : public QMainWindow {
+class bncFigure;
+
+class bncWindow : public QMainWindow {
   Q_OBJECT
 
@@ -177,5 +155,5 @@
 
     QTabWidget* _loggroup;
-    FWidget*    _Figure1;
+    bncFigure*  _bncFigure;
 
     bncCaster* _caster;
