XbeeConfigurationWindow.h 1.16 KB
Newer Older
Franz's avatar
Franz committed
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
#ifndef _XBEECONFIGURATIONWINDOW_H_
#define _XBEECONFIGURATIONWINDOW_H_

#include <QObject>
#include <QWidget>
#include <QAction>
#include <QTimer>
#include <QShowEvent>
#include <QHideEvent>
#include<QtGui\qcombobox.h>
#include<QtGui\qlabel.h>
#include<QtGui\qlayout.h>
#include <LinkInterface.h>
#include"XbeeLinkInterface.h"


class XbeeConfigurationWindow : public QWidget
{
	Q_OBJECT

public:
	XbeeConfigurationWindow(LinkInterface* link, QWidget *parent = 0, Qt::WindowFlags flags = Qt::Sheet);
	~XbeeConfigurationWindow();

	QAction* getAction();

public slots:
	void configureCommunication();
	void setPortName(QString port);
	void setBaudRateString(QString baud);
	void setupPortList();

protected:
    void showEvent(QShowEvent* event);
    void hideEvent(QHideEvent* event);
    bool userConfigured; ///< Switch to detect if current values are user-selected and shouldn't be overriden

private:
	QLabel *portLabel;
	QLabel *baudLabel;
	QComboBox *portBox;
	QComboBox *baudBox;
	QGridLayout *actionLayout;
	QHBoxLayout *xbeeLayout;
	QVBoxLayout *tmpLayout;
	XbeeLinkInterface* link;
    QAction* action;
    QTimer* portCheckTimer;
};


#endif //_XBEECONFIGURATIONWINDOW_H_