Reorder client src directories
This commit is contained in:
151
client/src/proxguiqt.h
Normal file
151
client/src/proxguiqt.h
Normal file
@@ -0,0 +1,151 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright (C) 2009 Michael Gernoth <michael at gernoth.net>
|
||||
//
|
||||
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
||||
// at your option, any later version. See the LICENSE.txt file for the text of
|
||||
// the license.
|
||||
//-----------------------------------------------------------------------------
|
||||
// GUI (QT)
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef PROXGUI_QT
|
||||
#define PROXGUI_QT
|
||||
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <QApplication>
|
||||
#include <QPushButton>
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include <QPainter>
|
||||
#include <QtGui>
|
||||
|
||||
#include "ui/ui_overlays.h"
|
||||
|
||||
class ProxWidget;
|
||||
|
||||
/**
|
||||
* @brief The actual plot, black area were we paint the graph
|
||||
*/
|
||||
class Plot: public QWidget {
|
||||
private:
|
||||
QWidget *master;
|
||||
uint32_t GraphStart; // Starting point/offset for the left side of the graph
|
||||
double GraphPixelsPerPoint; // How many visual pixels are between each sample point (x axis)
|
||||
uint32_t CursorAPos;
|
||||
uint32_t CursorBPos;
|
||||
void PlotGraph(int *buffer, size_t len, QRect r, QRect r2, QPainter *painter, int graphNum);
|
||||
void PlotDemod(uint8_t *buffer, size_t len, QRect r, QRect r2, QPainter *painter, int graphNum, uint32_t plotOffset);
|
||||
void plotGridLines(QPainter *painter, QRect r);
|
||||
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, size_t len, QRect plotRect);
|
||||
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;
|
||||
|
||||
// Added class for SliderWidget to allow move/resize event override
|
||||
class SliderWidget : public QWidget {
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event);
|
||||
void moveEvent(QMoveEvent *event);
|
||||
public:
|
||||
SliderWidget();
|
||||
};
|
||||
|
||||
/**
|
||||
* The window with plot and controls
|
||||
*/
|
||||
|
||||
class ProxWidget : public QWidget {
|
||||
Q_OBJECT; //needed for slot/signal classes
|
||||
|
||||
private:
|
||||
ProxGuiQT *master;
|
||||
Plot *plot;
|
||||
Ui::Form *opsController;
|
||||
// QWidget *controlWidget;
|
||||
SliderWidget *controlWidget;
|
||||
public:
|
||||
ProxWidget(QWidget *parent = 0, ProxGuiQT *master = NULL);
|
||||
~ProxWidget(void);
|
||||
//OpsShow(void);
|
||||
|
||||
protected:
|
||||
// void paintEvent(QPaintEvent *event);
|
||||
void closeEvent(QCloseEvent *event);
|
||||
void showEvent(QShowEvent *event);
|
||||
void hideEvent(QHideEvent *event);
|
||||
void moveEvent(QMoveEvent *event);
|
||||
void resizeEvent(QResizeEvent *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;
|
||||
char *script_cmd;
|
||||
bool stayInCommandLoop;
|
||||
};
|
||||
|
||||
class ProxGuiQT : public QObject {
|
||||
Q_OBJECT;
|
||||
|
||||
private:
|
||||
QApplication *plotapp;
|
||||
ProxWidget *plotwidget;
|
||||
int argc;
|
||||
char **argv;
|
||||
//void (*main_func)(void);
|
||||
WorkerThread *proxmarkThread;
|
||||
|
||||
public:
|
||||
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
|
||||
Reference in New Issue
Block a user