Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/proxy/src/util/network_stats_widget.h @ 9435

Last change on this file since 9435 was 9435, checked in by bensch, 18 years ago

more about the widget

File size: 2.7 KB
RevLine 
[4838]1/*!
[9330]2 * @file network_stats_widget.h
[8972]3 * @brief Definition of an EnergyWidget, that displays a bar and a Text
[3245]4*/
[1853]5
[9330]6#ifndef _NETWORK_STATS_WIDGET_H
7#define _NETWORK_STATS_WIDGET_H
[1853]8
[8974]9#include "glgui_box.h"
[8972]10#include "glgui_bar.h"
11#include "glgui_text.h"
[1853]12
[9330]13#include "network/ip.h"
14
15
[8972]16namespace OrxGui
17{
[3543]18
[9383]19  class HostWidget : public GLGuiBox
20  {
21    public:
22      HostWidget(const std::string& name, const IP& ip);
23      ~HostWidget() {};
24
25      void setName(const std::string& name) { this->_name.setText(name); };
26      void setIP(const IP& ip) { this->_ip.setText(ip.ipString()); this->_storedIP = ip; };
27
28      void setNameWidth(float width) { this->_name.setLineWidth(width); };
29
30      bool operator==(const IP& ip) const { return (this->_storedIP == ip); };
31      bool operator==(const std::string& name) const { return (this->_name == name); };
32
33    protected:
34      virtual void showing();
35      virtual void hiding();
36
37    private:
38      GLGuiText        _name;           //!< The Name of the Proxy server to be displayed.
39      GLGuiText        _ip;             //!< The IP of the proxy server.
40      IP               _storedIP;       //!< The ip to compare.
41  };
42
43
44  class ProxyWidget : public GLGuiBox
45  {
46    public:
47      ProxyWidget(const std::string& proxyName, const IP& ip);
48
49      void addClient(const std::string& name, const IP& ip);
50
51      bool removeClient(const IP& ip);
52      bool removeClient(const std::string& name);
53      bool removeClient(const std::string& name, const IP& ip);
54
[9385]55      void setClientNameWidths(float width);
[9383]56
[9385]57
[9383]58    protected:
59      virtual void hiding();
60      virtual void showing();
61
62
63    private:
[9431]64      HostWidget                _proxyWidget;
[9383]65
66      std::vector<HostWidget*>  _clients;
[9431]67      float                     _clientNameWidth;
[9383]68  };
69
70
71
72
[9330]73  //! A class to display network Statistics.
74  class NetworkStatsWidget : public GLGuiBox
[8972]75  {
[9383]76    public:
[9435]77      static void gui();
78
79    public:
[9383]80      NetworkStatsWidget();
81      virtual ~NetworkStatsWidget();
[3543]82
[9383]83      void setUpstream(unsigned int upstream);
84      void setDownstream(unsigned int upstream);
85      void setIP(const IP& ip);
[2036]86
[9330]87
[8974]88
[9386]89      void addProxy(const std::string& name, const IP& proxy);
90
91
[9383]92      //void rebuildConnectedHosts(std::vector<hosts> hosts);
[9330]93
[9383]94      void setMaximum(float max);
95      void setValue(float value);
[9330]96
[9383]97    protected:
98      virtual void resize();
99      virtual void showing();
100      virtual void hiding();
[9331]101
[9383]102    private:
[9385]103      HostWidget             _thisHost;
[1853]104
[9383]105      GLGuiText              _upstreamText;
106      GLGuiText              _downstreamText;
[1853]107
[9385]108      std::vector<HostWidget*>_connectedProxies;
[9330]109
[9383]110      GLGuiText              _serverIP;
[9330]111
112
[9383]113      GLGuiText              _valueText;
114      GLGuiBar               _bar;
[8972]115  };
116}
[9330]117#endif /* _NETWORK_STATS_WIDGET_H */
Note: See TracBrowser for help on using the repository browser.