summaryrefslogtreecommitdiffstats
path: root/kmyfirewall/kmfwidgets/kmfiptdocview.cpp
blob: 0c9a26df80abf6855e3dc73bd01ac58d141cf721 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//
// C++ Implementation: kmfiptdocview
//
// Description: 
//
//
// Author: Christian Hubinger <chubinger@irrsinnig.org>, (C) 2005
//
// Copyright: See COPYING file that comes with this distribution
//
//
#include "kmfiptdocview.h"

// TQt includes


// KDE includes
#include <kdebug.h>

// Project includes
#include "../core/kmfiptdoc.h"
#include "../core/kmfdoc.h"
#include "../core/iptable.h"
#include "../core/xmlnames.h"
namespace KMF {
KMFIPTDocView::KMFIPTDocView(TQWidget *parent, const char *name) : TQTabWidget(parent, name)
{
	loaded = false;
	m_iptViewFilter = new KMFListView( 0, "view" );
	m_iptViewNat = new KMFListView( 0, "view" );
	m_iptViewMangle = new KMFListView( 0, "view" );
	addTab( m_iptViewFilter, "Filter" );
	addTab( m_iptViewNat, "Nat" );
	addTab( m_iptViewMangle, "Mangle" );

	m_iptViewFilter ->setEnabled( true );
	m_iptViewFilter->clear();
	m_iptViewFilter->slotUpdateView();
	
	m_iptViewNat ->setEnabled( true );
	m_iptViewNat->clear();
	m_iptViewNat->slotUpdateView();
	
	m_iptViewMangle ->setEnabled( true );
	m_iptViewMangle->clear();
	m_iptViewMangle->slotUpdateView();

	setMinimumSize( 600, 400 );
}


KMFIPTDocView::~KMFIPTDocView()
{
}

void KMFIPTDocView::slotLoadDoc( KMFIPTDoc  *iptdoc ) {
	kdDebug() << "void KMFIPTDocView::slotLoadDoc( KMFIPTDoc  *iptdoc )" << endl;
	if ( ! loaded ) {
		m_iptViewMangle->clear();
		m_iptViewFilter->slotLoadNode( iptdoc->table( Constants::FilterTable_Name ) );
		m_iptViewFilter->slotUpdateView();
		m_iptViewMangle->clear();
		m_iptViewNat->slotLoadNode( iptdoc->table( Constants::NatTable_Name ) );
		m_iptViewFilter->slotUpdateView();
		m_iptViewMangle->clear();
		m_iptViewMangle->slotLoadNode( iptdoc->table( Constants::MangleTable_Name ) );
		m_iptViewFilter->slotUpdateView();
		loaded = true;
	} else {
		
		m_iptViewFilter->slotUpdateView( iptdoc->table( Constants::FilterTable_Name ) );	
		m_iptViewFilter->slotUpdateView();
		
		m_iptViewNat->slotUpdateView( iptdoc->table( Constants::NatTable_Name ) );	
		m_iptViewNat->slotUpdateView();
		
		m_iptViewMangle->slotUpdateView( iptdoc->table( Constants::MangleTable_Name ) );	
		m_iptViewMangle->slotUpdateView();
	}
}

void KMFIPTDocView::slotLoadTable( IPTable* ) {

}

void KMFIPTDocView::close() {
	kdDebug() << "void KMFIPTDocView::close()" << endl;
	emit closing();
	TQTabWidget::close();
}

void KMFIPTDocView::show() {
	kdDebug() << "void KMFIPTDocView::show()" << endl;
	emit showing();
	TQTabWidget::show();
	m_iptViewFilter->slotUpdateView();
	m_iptViewNat->slotUpdateView();	
	m_iptViewMangle->slotUpdateView();
}

void KMFIPTDocView::hide() {
	kdDebug() << "void KMFIPTDocView::hide()" << endl;
	emit closing();
	TQTabWidget::hide();
}


}

#include "kmfiptdocview.moc"