X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/c4f51073fc1a2cb74363bb9b0d9f616c7dd742bb..afdcb8c159a73aba95a017f1cfec98e8fa2b93c1:/client/proxguiqt.h diff --git a/client/proxguiqt.h b/client/proxguiqt.h index fa1ba018..4b2b2a27 100644 --- a/client/proxguiqt.h +++ b/client/proxguiqt.h @@ -8,6 +8,12 @@ // GUI (QT) //----------------------------------------------------------------------------- +#ifndef PROXGUI_QT +#define PROXGUI_QT + +#include +#include + #include #include #include @@ -15,6 +21,7 @@ #include #include +#include "uart.h" #include "ui/ui_overlays.h" /** * @brief The actual plot, black area were we paint the graph @@ -32,6 +39,7 @@ private: int xCoordOf(int i, QRect r ); int yCoordOf(int v, QRect r, int maxVal); int valueOf_yCoord(int y, QRect r, int maxVal); + void setMaxAndStart(int *buffer, int len, QRect plotRect); QColor getColor(int graphNum); public: Plot(QWidget *parent = 0); @@ -51,19 +59,24 @@ class ProxGuiQT; */ class ProxWidget : public QWidget { - Q_OBJECT; + Q_OBJECT; //needed for slot/signal classes private: + ProxGuiQT *master; Plot *plot; Ui::Form *opsController; - ProxGuiQT *master; - + QWidget* controlWidget; + public: ProxWidget(QWidget *parent = 0, ProxGuiQT *master = NULL); + ~ProxWidget(void); + //OpsShow(void); - //protected: + protected: // void paintEvent(QPaintEvent *event); - // void closeEvent(QCloseEvent *event); + void closeEvent(QCloseEvent *event); + void showEvent(QShowEvent *event); + void hideEvent(QHideEvent *event); // void mouseMoveEvent(QMouseEvent *event); // void mousePressEvent(QMouseEvent *event) { mouseMoveEvent(event); } // void keyPressEvent(QKeyEvent *event); @@ -76,6 +89,19 @@ class ProxWidget : public QWidget void vchange_dthr_down(int v); }; +class WorkerThread : public QThread { + Q_OBJECT; + public: + WorkerThread(char*, char*, bool, serial_port*); + ~WorkerThread(); + void run(); + private: + char *script_cmds_file = NULL; + char *script_cmd = NULL; + bool usb_present; + serial_port *sp = NULL; +}; + class ProxGuiQT : public QObject { Q_OBJECT; @@ -86,22 +112,27 @@ class ProxGuiQT : public QObject int argc; char **argv; void (*main_func)(void); + WorkerThread *proxmarkThread; public: - ProxGuiQT(int argc, char **argv); + ProxGuiQT(int argc, char **argv, WorkerThread *wthread); ~ProxGuiQT(void); void ShowGraphWindow(void); void RepaintGraphWindow(void); void HideGraphWindow(void); void MainLoop(void); - + void Exit(void); private slots: void _ShowGraphWindow(void); void _RepaintGraphWindow(void); void _HideGraphWindow(void); - + void _Exit(void); + void _StartProxmarkThread(void); signals: void ShowGraphWindowSignal(void); void RepaintGraphWindowSignal(void); void HideGraphWindowSignal(void); + void ExitSignal(void); }; + +#endif // PROXGUI_QT