summaryrefslogblamecommitdiffstats
path: root/workspace/LogReceiver/ndgui.cpp
blob: 0e743eddf9c2b5d98de662ac1fd4865fb01f61fe (plain) (tree)
1
2
3
4
5
6
7
8
9






                             

                                                                                                                
                                                                                                                    


               
                                                          




















                                                                    

 















                                                          














                                                          
















                                                                              
  
                                                          
                                                                                             







                                                                                  



                                                         
#include "ndgui.h"

ndgui::ndgui(QWidget *parent)
    : QWidget(parent)
{
	ui.setupUi(this);

	connect(&logReceiver, SIGNAL(addNewInterface(QString, int)), this, SLOT(addNewInterface(QString, int)));
    connect(&logReceiver, SIGNAL(changeProgressBarValue(int , int )), this, SLOT(handleProgress(int, int)));
    connect(&logReceiver, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString)));

    buildGui();

    logReceiver.initAndRun("/var/tmp/qt_c_socket_custom");


	setWindowTitle(tr("NetD"));
}

ndgui::~ndgui()
{

}

void ndgui::buildGui() {

	ndStatusLabel = new QLabel(tr("test"));
	ndStatusLabel->setSizePolicy(QSizePolicy::Expanding,
	                                    QSizePolicy::Expanding);
	ndStatusLabel->setAlignment(Qt::AlignCenter);
	ndStatusLabel->setMinimumSize(100, 20);

	// create interface group box
	createInterfaceGroupBox();



    mainLayout = new QVBoxLayout;
    mainLayout->addWidget(ndStatusLabel);
    mainLayout->addWidget(interfaceGroupBox);

    setLayout(mainLayout);
}

void ndgui::createInterfaceGroupBox(){
    interfaceGroupBox = new QGroupBox(tr("Interfaces"));

    interfaceGroupBoxLayout = new QVBoxLayout;
    /* add interfaces via addInterfacesToGroupBox()*/

    interfaceGroupBox->setLayout(interfaceGroupBoxLayout);
}

void ndgui::addNewInterface(QString ifName, int index) {
	QHBoxLayout *hBoxLayout = new QHBoxLayout;
	QLabel *label = new QLabel(ifName);
	QProgressBar *pBar = new QProgressBar(this);
	pBar->setRange(1, 100);
	pBar->setMaximumSize(200, 20);

	progressBars.insert(index, pBar);

	hBoxLayout->addWidget(label, Qt::AlignLeft);
	hBoxLayout->addWidget(pBar, Qt::AlignRight);

	interfaceGroupBoxLayout->addLayout(hBoxLayout, 2);
}
/*
void ndgui::addInterfacesToGroupBox(QList<QNetworkInterface> &interfaces) {
	foreach(QNetworkInterface nI, interfaces){
		int index = indexToIfaceNameMap.value(nI.humanReadableName());
		QHBoxLayout *hBoxLayout = new QHBoxLayout;
	    QLabel *label = new QLabel(nI.humanReadableName());
	    QProgressBar *pBar = new QProgressBar(this);
	    pBar->setRange(1,100);
	    pBar->setMaximumSize(200,20);

	    progressBars.insert(index,pBar);

	    hBoxLayout->addWidget(label, Qt::AlignLeft);
	    hBoxLayout->addWidget(pBar, Qt::AlignRight);

	    interfaceGroupBoxLayout->addLayout(hBoxLayout,2);
	}
}
*/
void ndgui::handleProgress(int iFaceIndex, int newValue) {
	qDebug() << "<[---]> SLOT handleProgress activated with: " << iFaceIndex << newValue;
		QProgressBar * pBar = progressBars.value(iFaceIndex);
		if(newValue >= pBar->value()) {
	        pBar->setValue(newValue);
		}
		else {
		    qDebug() << "Error: new value is smaller than the old value!";
		}
}

void ndgui::handleConnectionEstablished(QString ifName) {

}