// GUI (QT)
//-----------------------------------------------------------------------------
+#ifndef PROXGUI_QT
+#define PROXGUI_QT
+
+#include <stdint.h>
+#include <string.h>
+
#include <QApplication>
#include <QPushButton>
#include <QObject>
class Plot: public QWidget
{
private:
- int GraphStart;
- double GraphPixelsPerPoint;
+ QWidget *master;
+ int GraphStart; // Starting point/offset for the left side of the graph
+ double GraphPixelsPerPoint; // How many visual pixels are between each sample point (x axis)
int CursorAPos;
int CursorBPos;
void PlotGraph(int *buffer, int len, QRect r,QRect r2, QPainter* painter, int graphNum);
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);
*/
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:
- // void paintEvent(QPaintEvent *event);
- // void closeEvent(QCloseEvent *event);
- // void mouseMoveEvent(QMouseEvent *event);
- // void mousePressEvent(QMouseEvent *event) { mouseMoveEvent(event); }
- // void keyPressEvent(QKeyEvent *event);
+ protected:
+ // void paintEvent(QPaintEvent *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);
public slots:
void applyOperation();
void stickOperation();
void vchange_autocorr(int v);
+ void vchange_askedge(int v);
void vchange_dthr_up(int v);
void vchange_dthr_down(int v);
};
+class WorkerThread : public QThread {
+ Q_OBJECT;
+ public:
+ WorkerThread(char*, char*, bool);
+ ~WorkerThread();
+ void run();
+ private:
+ char *script_cmds_file = NULL;
+ char *script_cmd = NULL;
+ bool usb_present;
+};
+
class ProxGuiQT : public QObject
{
Q_OBJECT;
ProxWidget *plotwidget;
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