Index: /branches/proxy/src/util/Makefile.am
===================================================================
--- /branches/proxy/src/util/Makefile.am	(revision 9329)
+++ /branches/proxy/src/util/Makefile.am	(revision 9330)
@@ -14,4 +14,6 @@
 			singleplayer_shootemup.cc \
 			\
+			\
+			\
 			mission_goal.cc\
 			kill_target.cc\
@@ -24,5 +26,7 @@
 			animation/animation_player.cc \
 			\
-			track/pilot_node.cc
+			track/pilot_node.cc \
+			\
+			network_stats_widget.cc
 
 #			track/track_manager.cc \
@@ -50,5 +54,8 @@
 			animation/t_animation.h \
 			\
-			track/pilot_node.h
+			track/pilot_node.h \
+			\
+			network_stats_widget.h
+
 
 #			track/track_manager.h \
Index: /branches/proxy/src/util/network_stats_widget.cc
===================================================================
--- /branches/proxy/src/util/network_stats_widget.cc	(revision 9330)
+++ /branches/proxy/src/util/network_stats_widget.cc	(revision 9330)
@@ -0,0 +1,90 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   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; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+
+#include "network_stats_widget.h"
+
+namespace OrxGui
+{
+  /**
+   * @brief standard constructor
+   */
+  NetworkStatsWidget::NetworkStatsWidget ()
+  {
+    //   this->setClassID(CL_PROTO_ID, "NetworkStatsWidget");
+
+    this->_bar.setSize2D(100, 30);
+    this->pack(&this->_valueText);
+    this->_bar.setParent2D(&this->_valueText);
+
+    this->_valueText.setChangedTextColor(Color::white);
+
+    //this->setBackgroundTexture("maps/gui_element_background_2.png");
+    this->setBackgroundColor(Color(.5,.5,.5,1));
+
+    //this->_name.setBackgroundTexture(Texture());
+    //this->_valueText.setBackgroundTexture("maps/gui_element_background_2.png");
+    this->_bar.setBackgroundTexture(Texture());
+    this->_bar.setBackgroundColor(Color(0,0,0,0));
+    this->_bar.setForegroundTexture("maps/gui_element_background_faded.png");
+    this->_bar.setForegroundColor(Color(.5, .5, .5, 1));
+    this->_bar.setChangedValueColor(Color::black);
+  }
+
+
+  /**
+   * @brief standard deconstructor
+   */
+  NetworkStatsWidget::~NetworkStatsWidget ()
+  {
+  }
+
+
+  void NetworkStatsWidget::setMaximum(float max)
+  {
+    this->_bar.setMaximum(max);
+  }
+
+  void NetworkStatsWidget::setValue(float value)
+  {
+    MultiType val(value);
+    val.setType(MT_INT);
+
+
+    this->_bar.setValue(value);
+    this->_bar.setForegroundColor(Color::slerpHSVColor(Color::red, Color::green, value/this->_bar.maximum()));
+    this->_bar.setFrontColor(Color(1,1,1,1), true);
+    this->_valueText.setText(val.getString());
+  }
+
+  void NetworkStatsWidget::resize()
+  {
+    GLGuiBox::resize();
+  }
+
+
+  void NetworkStatsWidget::showing()
+  {
+    this->_valueText.show();
+    this->_bar.show();
+  }
+
+  void NetworkStatsWidget::hiding()
+  {
+    this->_valueText.hide();
+    this->_bar.hide();
+  }
+}
Index: /branches/proxy/src/util/network_stats_widget.h
===================================================================
--- /branches/proxy/src/util/network_stats_widget.h	(revision 9330)
+++ /branches/proxy/src/util/network_stats_widget.h	(revision 9330)
@@ -0,0 +1,57 @@
+/*!
+ * @file network_stats_widget.h
+ * @brief Definition of an EnergyWidget, that displays a bar and a Text
+*/
+
+#ifndef _NETWORK_STATS_WIDGET_H
+#define _NETWORK_STATS_WIDGET_H
+
+#include "glgui_box.h"
+#include "glgui_bar.h"
+#include "glgui_text.h"
+
+#include "network/ip.h"
+
+
+namespace OrxGui
+{
+
+  //! A class to display network Statistics.
+  class NetworkStatsWidget : public GLGuiBox
+  {
+
+  public:
+    NetworkStatsWidget();
+    virtual ~NetworkStatsWidget();
+
+    void setUpstream(unsigned int upstream);
+    void setDownstream(unsigned int upstream);
+
+    void setMaximum(float max);
+    void setValue(float value);
+
+
+    //void rebuildConnectedHosts(std::vector<hosts> hosts);
+
+  protected:
+    virtual void resize();
+    virtual void showing();
+    virtual void hiding();
+
+  private:
+    IP                     _ip;
+    GLGuiText              _ipText;
+
+    GLGuiText              _upstreamText;
+    GLGuiText              _downstreamText;
+
+    std::vector<GLGuiText> _connectedHosts;
+
+    GLGuiText              _serverIP;
+
+
+    GLGuiText              _valueText;
+    GLGuiBar               _bar;
+  };
+}
+#endif /* _NETWORK_STATS_WIDGET_H */
