1
0
mirror of https://github.com/fwbuilder/fwbuilder synced 2026-03-25 12:47:44 +01:00

Interface editor is working now

This commit is contained in:
Roman Bovsunivskiy 2009-11-06 03:31:50 +00:00
parent 9471927025
commit 311c6ac2c5
6 changed files with 51 additions and 6 deletions

View File

@ -7,6 +7,8 @@ AddressEditor::AddressEditor(QWidget *parent, libfwbuilder::Address *address) :
{
this->address = address;
m_ui->setupUi(this);
this->m_ui->address->setText(address->getAddressPtr()->toString().c_str());
this->m_ui->netmask->setText(address->getNetmaskPtr()->toString().c_str());
}
AddressEditor::~AddressEditor()

View File

@ -1,12 +1,23 @@
#include "InterfaceEditor.h"
#include "ui_InterfaceEditor.h"
#include "fwbuilder/IPv4.h"
#include <QDebug>
InterfaceEditor::InterfaceEditor(QWidget *parent, libfwbuilder::Interface *interface) :
QWidget(parent),
m_ui(new Ui::InterfaceEditor)
{
this->interface = interface;
m_ui->setupUi(this);
this->m_ui->name->setText(interface->getName().c_str());
this->m_ui->label->setText(interface->getLabel().c_str());
this->m_ui->comment->setText(interface->getComment().c_str());
while ( this->m_ui->tabWidget->count() ) this->m_ui->tabWidget->removeTab(0);
libfwbuilder::FWObjectTypedChildIterator adriter = interface->findByType(libfwbuilder::IPv4::TYPENAME);
for ( ; adriter != adriter.end(); ++adriter )
{
this->m_ui->tabWidget->addTab(new AddressEditor(this, libfwbuilder::Address::cast(*adriter)), libfwbuilder::Address::cast(*adriter)->getName().c_str());
}
}
InterfaceEditor::~InterfaceEditor()
@ -25,3 +36,8 @@ void InterfaceEditor::changeEvent(QEvent *e)
break;
}
}
void InterfaceEditor::nameEdited(QString newname)
{
interface->setName(newname.toStdString());
}

View File

@ -7,6 +7,8 @@
#include "utils_no_qt.h"
#include "platforms.h"
#include "AddressEditor.h"
#include <QtGui/QWidget>
#include "fwbuilder/Interface.h"
@ -27,6 +29,9 @@ protected:
private:
libfwbuilder::Interface *interface;
Ui::InterfaceEditor *m_ui;
public slots:
void nameEdited(QString);
};
#endif // INTERFACEEDITOR_H

View File

@ -63,5 +63,25 @@
</layout>
</widget>
<resources/>
<connections/>
<connections>
<connection>
<sender>name</sender>
<signal>textChanged(QString)</signal>
<receiver>InterfaceEditor</receiver>
<slot>nameEdited(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>187</x>
<y>27</y>
</hint>
<hint type="destinationlabel">
<x>10</x>
<y>80</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>nameEdited(QString)</slot>
</slots>
</ui>

View File

@ -1,4 +1,4 @@
/*
/*
Firewall Builder
@ -385,7 +385,7 @@ void newFirewallDialog::backClicked()
if (previousRelevant( currentPage() ) > -1)
showPage(previousRelevant( currentPage() ));
}
#include <QDebug>
void newFirewallDialog::showPage(const int page)
{
FakeWizard::showPage(page);
@ -511,12 +511,12 @@ void newFirewallDialog::showPage(const int page)
setFinishEnabled( 5, true );
while ( this->m_dialog->interfaces->count() )
this->m_dialog->interfaces->removeTab(0);
FWObjectTypedChildIterator intiter = tmpldb->findByType(Library::TYPENAME);
for ( ; intiter != intiter.end(); ++intiter)
FWObjectTypedChildIterator intiter = currentTemplate->findByType(Interface::TYPENAME);
for ( ; intiter != intiter.end(); ++intiter )
{
Interface *intr = Interface::cast(*intiter);
if (intr != NULL)
this->m_dialog->interfaces->addTab(new InterfaceEditor(this->m_dialog->interfaces, intr), intr->getName().c_str());
m_dialog->interfaces->addTab(new InterfaceEditor(this->m_dialog->interfaces, intr), intr->getName().c_str());
}
}
}
@ -583,6 +583,7 @@ void newFirewallDialog::templateSelected(QListWidgetItem *itm)
if (templates.size()==0) return;
FWObject *o = templates[itm];
if (o==NULL) return;
currentTemplate = o;
Firewall *fw = Firewall::cast(o);

View File

@ -54,6 +54,7 @@ class newFirewallDialog : public QDialog, public FakeWizard
Ui::newFirewallDialog_q *m_dialog;
libfwbuilder::FWObject *currentTemplate;
libfwbuilder::Firewall *nfw;
bool snmpPollCompleted;
libfwbuilder::Logger *logger;