mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 13:23:51 -07:00
Navigate a page at a time in plot window
This commit is contained in:
parent
3bc2349df1
commit
18856d8894
1 changed files with 65 additions and 25 deletions
|
@ -25,6 +25,7 @@
|
||||||
int GridOffset= 0;
|
int GridOffset= 0;
|
||||||
bool GridLocked= 0;
|
bool GridLocked= 0;
|
||||||
int startMax;
|
int startMax;
|
||||||
|
int PageWidth;
|
||||||
|
|
||||||
void ProxGuiQT::ShowGraphWindow(void)
|
void ProxGuiQT::ShowGraphWindow(void)
|
||||||
{
|
{
|
||||||
|
@ -131,6 +132,8 @@ void ProxWidget::paintEvent(QPaintEvent *event)
|
||||||
painter.setPen(QColor(100, 100, 100));
|
painter.setPen(QColor(100, 100, 100));
|
||||||
painter.drawPath(greyPath);
|
painter.drawPath(greyPath);
|
||||||
|
|
||||||
|
PageWidth= (int)((r.right() - r.left() - 40) / GraphPixelsPerPoint);
|
||||||
|
|
||||||
// plot X and Y grid lines
|
// plot X and Y grid lines
|
||||||
int i;
|
int i;
|
||||||
if ((PlotGridX > 0) && ((PlotGridX * GraphPixelsPerPoint) > 1)) {
|
if ((PlotGridX > 0) && ((PlotGridX * GraphPixelsPerPoint) > 1)) {
|
||||||
|
@ -311,6 +314,20 @@ void ProxWidget::mouseMoveEvent(QMouseEvent *event)
|
||||||
|
|
||||||
void ProxWidget::keyPressEvent(QKeyEvent *event)
|
void ProxWidget::keyPressEvent(QKeyEvent *event)
|
||||||
{
|
{
|
||||||
|
int offset;
|
||||||
|
int gridchanged;
|
||||||
|
|
||||||
|
gridchanged= 0;
|
||||||
|
|
||||||
|
if(event->modifiers() & Qt::ShiftModifier) {
|
||||||
|
if (PlotGridX)
|
||||||
|
offset= PageWidth - (PageWidth % PlotGridX);
|
||||||
|
else
|
||||||
|
offset= PageWidth;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
offset= (int)(20 / GraphPixelsPerPoint);
|
||||||
|
|
||||||
switch(event->key()) {
|
switch(event->key()) {
|
||||||
case Qt::Key_Down:
|
case Qt::Key_Down:
|
||||||
if(GraphPixelsPerPoint <= 50) {
|
if(GraphPixelsPerPoint <= 50) {
|
||||||
|
@ -326,32 +343,53 @@ void ProxWidget::keyPressEvent(QKeyEvent *event)
|
||||||
|
|
||||||
case Qt::Key_Right:
|
case Qt::Key_Right:
|
||||||
if(GraphPixelsPerPoint < 20) {
|
if(GraphPixelsPerPoint < 20) {
|
||||||
if (GridLocked && GraphStart < startMax)
|
if (PlotGridX && GridLocked && GraphStart < startMax){
|
||||||
GridOffset -= (int)(20 / GraphPixelsPerPoint);
|
GridOffset -= offset;
|
||||||
GraphStart += (int)(20 / GraphPixelsPerPoint);
|
GridOffset %= PlotGridX;
|
||||||
|
gridchanged= 1;
|
||||||
|
}
|
||||||
|
GraphStart += offset;
|
||||||
} else {
|
} else {
|
||||||
if (GridLocked && GraphStart < startMax)
|
if (PlotGridX && GridLocked && GraphStart < startMax){
|
||||||
GridOffset--;
|
GridOffset--;
|
||||||
|
GridOffset %= PlotGridX;
|
||||||
|
gridchanged= 1;
|
||||||
|
}
|
||||||
GraphStart++;
|
GraphStart++;
|
||||||
}
|
}
|
||||||
if(GridOffset < 0)
|
if(GridOffset < 0) {
|
||||||
GridOffset += PlotGridX;
|
GridOffset += PlotGridX;
|
||||||
if (PlotGridX)
|
}
|
||||||
|
if (gridchanged)
|
||||||
|
if (GraphStart > startMax) {
|
||||||
|
GridOffset += (GraphStart - startMax);
|
||||||
GridOffset %= PlotGridX;
|
GridOffset %= PlotGridX;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_Left:
|
case Qt::Key_Left:
|
||||||
if(GraphPixelsPerPoint < 20) {
|
if(GraphPixelsPerPoint < 20) {
|
||||||
if (GridLocked && GraphStart > 0)
|
if (PlotGridX && GridLocked && GraphStart > 0){
|
||||||
GridOffset += (int)(20 / GraphPixelsPerPoint);
|
GridOffset += offset;
|
||||||
GraphStart -= (int)(20 / GraphPixelsPerPoint);
|
GridOffset %= PlotGridX;
|
||||||
|
gridchanged= 1;
|
||||||
|
}
|
||||||
|
GraphStart -= offset;
|
||||||
} else {
|
} else {
|
||||||
if (GridLocked && GraphStart > 0)
|
if (PlotGridX && GridLocked && GraphStart > 0){
|
||||||
GridOffset++;
|
GridOffset++;
|
||||||
|
GridOffset %= PlotGridX;
|
||||||
|
gridchanged= 1;
|
||||||
|
}
|
||||||
GraphStart--;
|
GraphStart--;
|
||||||
}
|
}
|
||||||
if (PlotGridX)
|
if (gridchanged){
|
||||||
|
if (GraphStart < 0)
|
||||||
|
GridOffset += GraphStart;
|
||||||
|
if(GridOffset < 0)
|
||||||
|
GridOffset += PlotGridX;
|
||||||
GridOffset %= PlotGridX;
|
GridOffset %= PlotGridX;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Qt::Key_G:
|
case Qt::Key_G:
|
||||||
|
@ -371,9 +409,11 @@ void ProxWidget::keyPressEvent(QKeyEvent *event)
|
||||||
puts(" G Toggle grid display");
|
puts(" G Toggle grid display");
|
||||||
puts(" H Show help");
|
puts(" H Show help");
|
||||||
puts(" LEFT Move left");
|
puts(" LEFT Move left");
|
||||||
|
puts(" <SHIFT>LEFT Page left");
|
||||||
puts(" L Toggle lock grid relative to samples");
|
puts(" L Toggle lock grid relative to samples");
|
||||||
puts(" Q Hide window");
|
puts(" Q Hide window");
|
||||||
puts(" RIGHT Move right");
|
puts(" RIGHT Move right");
|
||||||
|
puts(" <SHIFT>RIGHT Page right");
|
||||||
puts(" UP Zoom out");
|
puts(" UP Zoom out");
|
||||||
puts("");
|
puts("");
|
||||||
puts("Use client window 'data help' for more plot commands\n");
|
puts("Use client window 'data help' for more plot commands\n");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue