summaryrefslogtreecommitdiffstats
path: root/ksim/monitors/snmp/view.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ksim/monitors/snmp/view.cpp')
-rw-r--r--ksim/monitors/snmp/view.cpp80
1 files changed, 80 insertions, 0 deletions
diff --git a/ksim/monitors/snmp/view.cpp b/ksim/monitors/snmp/view.cpp
new file mode 100644
index 0000000..0a4b276
--- /dev/null
+++ b/ksim/monitors/snmp/view.cpp
@@ -0,0 +1,80 @@
+/* This file is part of the KDE project
+ Copyright (C) 2003 Simon Hausmann <hausmann@kde.org>
+
+ 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 of the License, or (at your option) any later version.
+
+ 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; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "view.h"
+#include "plugin.h"
+#include "monitorconfig.h"
+
+#include <label.h>
+
+#include <qlayout.h>
+
+#include <kconfig.h>
+
+using namespace KSim::Snmp;
+
+View::View( Plugin *parent, const char *name )
+ : KSim::PluginView( parent, name )
+{
+ m_layout = new QVBoxLayout( this );
+
+ reparseConfig();
+}
+
+View::~View()
+{
+}
+
+void View::reparseConfig()
+{
+ m_widgets.setAutoDelete( true );
+ m_widgets.clear();
+ m_widgets.setAutoDelete( false );
+
+ KConfig &cfg = *config();
+ cfg.setGroup( "General" );
+ QStringList allHosts = cfg.readListEntry( "Hosts" );
+ QStringList monitors = cfg.readListEntry( "Monitors" );
+
+ HostConfigMap hosts;
+ hosts.load( cfg, allHosts );
+
+ MonitorConfigMap monitorConfigs;
+ monitorConfigs.load( cfg, monitors, hosts );
+
+ for ( MonitorConfigMap::ConstIterator it = monitorConfigs.begin();
+ it != monitorConfigs.end(); ++it ) {
+
+ MonitorConfig monitorConfig = *it;
+
+ QWidget *w = monitorConfig.createMonitorWidget( this );
+ if ( !w )
+ continue;
+
+ m_widgets.append( w );
+ m_layout->addWidget( w );
+
+ w->show();
+ }
+}
+
+#include "view.moc"
+
+/* vim: et sw=4 ts=4
+ */