]> git.zerfleddert.de Git - proxmark3-svn/blobdiff - client/proxguiqt.h
First stab at new graphing; dual buffers, immediate results
[proxmark3-svn] / client / proxguiqt.h
index 303a37d01cb66a48897f7003be6ae79453c08a6f..7901178c68074916e7693df30f2cc8225a764797 100644 (file)
 #include <QObject>
 #include <QWidget>
 #include <QPainter>
+#include <QtGui>
 
+#include "ui/ui_overlays.h"
+/**
+ * @brief The actual plot, black area were we paint the graph
+ */
+class Plot: public QWidget
+{
+private:
+       int GraphStart;
+       double GraphPixelsPerPoint;
+       int CursorAPos;
+       int CursorBPos;
+       void PlotGraph(int *buffer, int len, QRect r,QPainter* painter, int graphNum);
+       void plotGridLines(QPainter* painter,QRect r);
+       int xCoordOf(int i );
+       int yCoordOf(int v, QRect r, int maxVal);
+       int valueOf_yCoord(int y, QRect r, int maxVal);
+       QColor getColor(int graphNum);
+public:
+       Plot(QWidget *parent = 0);
+
+protected:
+       void paintEvent(QPaintEvent *event);
+       void closeEvent(QCloseEvent *event);
+       void mouseMoveEvent(QMouseEvent *event);
+       void mousePressEvent(QMouseEvent *event) { mouseMoveEvent(event); }
+       void keyPressEvent(QKeyEvent *event);
+
+};
+class ProxGuiQT;
+
+/**
+ * The window with plot and controls
+ */
 class ProxWidget : public QWidget
 {
        Q_OBJECT;
+private:
+               Plot *plot;
+               Ui::Form *opsController;
+               ProxGuiQT *master;
+public:
+               ProxWidget(QWidget *parent = 0, ProxGuiQT *master = NULL);
 
-       private:
-               int GraphStart;
-               double GraphPixelsPerPoint;
-               int CursorAPos;
-               int CursorBPos;
-
-       public:
-               ProxWidget(QWidget *parent = 0);
+//signals:
+//    void mySignal();
 
-       protected:
-               void paintEvent(QPaintEvent *event);
-               void closeEvent(QCloseEvent *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_dthr_up(int v);
+       void vchange_dthr_down(int v);
+       //void tabChange(int currentTab);
 };
+/*
+class ProxGuiOverlayController: public UI_form
+{
+       Q_OBJECT;
+public:
+       void setupOverlayUi(QWidget *Form)
+       {
+               //Let auto-generated class setup the UI
+               Ui_Form::setupUi(Form);
+               //Then connect the signals
+
+               QObject::connect(UI_form::pushButton_apply, SIGNAL(clicked()), label_4, SLOT(clear()));
+               QObject::connect(pushButton_sticky, SIGNAL(clicked()), label_4, SLOT(clear()));
+               QObject::connect(horizontalSlider_window, SIGNAL(valueChanged(int)), label_4, SLOT(setNum(int)));
+               QObject::connect(horizontalSlider_window, SIGNAL(valueChanged(int)), label_5, SLOT(setNum(int)));
+               QObject::connect(horizontalSlider_dirthr_up, SIGNAL(valueChanged(int)), label_6, SLOT(setNum(int)));
+               QObject::connect(horizontalSlider_dirthr_down, SIGNAL(valueChanged(int)), label_7, SLOT(setNum(int)));
+               QMetaObject::connectSlotsByName(Form);
 
+       }
+};
+*/
 class ProxGuiQT : public QObject
 {
        Q_OBJECT;
@@ -42,10 +98,11 @@ class ProxGuiQT : public QObject
        private:
                QApplication *plotapp;
                ProxWidget *plotwidget;
+               //ProxGuiOverlayController *overlayController;
                int argc;
                char **argv;
                void (*main_func)(void);
-       
+
        public:
                ProxGuiQT(int argc, char **argv);
                ~ProxGuiQT(void);
Impressum, Datenschutz