summaryrefslogblamecommitdiffstats
path: root/LogReceiver/ndgui.h
blob: fd34ec4acbee45e5b264e287e0832f5c0efa20f3 (plain) (tree)
1
2
3
4
5
6
7
8
9
10


               

                   




                       
                        

                                  
 

                     
                                 


        
                                       


                 

                                                      
                                                                     


                                                                 
 







                                      
                                 







                                                                        
 


                          

                            

                                
                                                                                                                    


                               


                                   
                        

                                                   





                                             


 


                                       
 

 


                 
#ifndef NDGUI_H
#define NDGUI_H

#include <QtGui>
#include <QtWebKit>
#include <QProgressBar>
#include <QLabel>
#include <QGroupBox>
#include <QBoxLayout>

#include "logreceiver.h"
#include "chooseinterfacedialog.h"
#include "abortbootdialog.h"

#include "ui_ndgui.h"

class ndgui: public QMainWindow {
Q_OBJECT

public:
	ndgui(QMainWindow *parent = 0);
	~ndgui();

public slots:
    void handleProgress(QString ifName, int newValue);
    void addNewInterface(QString ifName);
    void handleConnectionEstablished(interfaceconfiguration *ifConf);
    void handleAbortBoot(QString msg);
    void handleUpdateStatusLabel(QString ifName, QString status);
    void handleAllProcessesFinished();

    void restartSystem();
    void shutDownSystem();
    void continueBoot(QString ifName);
    void showLog();

    void showAbortBootDialog();
    void showChooseInterfaceDialog();

    /*test for html gui version*/
    void attachToDOM();
    void loadJQuery();
    void addInterface(const QString &ifName);
    void updateIfStatus(const QString &ifName, const QString &status);
    void updateStatus(const QString &status);
    void updateIfProgressBar(const QString &ifName, const int& percent);
    void loadFinished(bool ok);
    void notifyCall();

private:
	Ui::ndguiClass ui;

	QWebView * _webView;

	LogReceiver logReceiver;

	QMap<QString, interfaceconfiguration*> finalUsableIntefacesMap;		// maps interfaceName to its gateway

	int numberOfInterfaces;

	ChooseInterfaceDialog *cID;
	AbortBootDialog *aBD;

	/*gui elements*/
	QMap<QString, QProgressBar *> progressBars;
	QMap<QString, QLabel*> statusLabels;
	QLabel *ndStatusLabel;
	QGroupBox *interfaceGroupBox;
	QVBoxLayout *mainLayout;
	QVBoxLayout *interfaceGroupBoxLayout;
	/**/




	/*gui functions*/
	void buildGui();
	void createInterfaceGroupBox();



};

#endif // NDGUI_H