Scroll test in debug window. Remove later.

creator-widgets
Elliott Liggett 2023-09-23 20:09:03 -07:00
rodzic f1dea9ec6e
commit 2712ada5c7
6 zmienionych plików z 174 dodań i 0 usunięć

Wyświetl plik

@ -23,6 +23,11 @@ debugWindow::debugWindow(QWidget *parent) :
connect(&queueTimer,SIGNAL(timeout()),this,SLOT(getQueue()));
cacheTimer.start();
queueTimer.start();
connect(ui->scrolltester, &scrolltest::haveRawClicksXY,
[=](const int x, const int y) {
ui->scrollTestLabel->setText(QString("X: %1, Y: %2").arg(x).arg(y));
});
}
debugWindow::~debugWindow()

Wyświetl plik

@ -10,6 +10,7 @@
#include "cachingqueue.h"
#include "wfviewtypes.h"
#include "scrolltest.h"
namespace Ui {
class debugWindow;

Wyświetl plik

@ -220,6 +220,71 @@
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="leftMargin">
<number>10</number>
</property>
<property name="topMargin">
<number>10</number>
</property>
<property name="rightMargin">
<number>10</number>
</property>
<property name="bottomMargin">
<number>10</number>
</property>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Scroll test:</string>
</property>
</widget>
</item>
<item>
<widget class="scrolltest" name="scrolltester" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>500</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>500</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="scrollTestLabel">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
@ -247,6 +312,14 @@
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>scrolltest</class>
<extends>QWidget</extends>
<header>scrolltest.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections>
<connection>

56
scrolltest.cpp 100644
Wyświetl plik

@ -0,0 +1,56 @@
#include "scrolltest.h"
scrolltest::scrolltest(QWidget *parent)
: QWidget{parent}
{
}
void scrolltest::paintEvent(QPaintEvent *)
{
QPainter painter(this);
widgetWindowHeight = this->height();
fontSize = 12;
painter.setRenderHint(QPainter::SmoothPixmapTransform);
painter.setFont(QFont(this->fontInfo().family(), fontSize));
painter.setWindow(QRect(0, 0, this->width(), widgetWindowHeight));
painter.setPen(Qt::red);
painter.drawText(0,widgetWindowHeight, resultText );
}
void scrolltest::wheelEvent(QWheelEvent *we)
{
int clicksX = we->angleDelta().x();
int clicksY = we->angleDelta().y();
if(abs(clicksX) > maxX)
maxX = clicksX;
if(abs(clicksY) > maxY)
maxY = clicksY;
if( (clicksX !=0) && (abs(clicksX) < minX))
minX = abs(clicksX);
if( (clicksY !=0) && (abs(clicksY) < minY))
minY = abs(clicksY);
resultText = QString("X: %1, Y: %2, maxX: %3, maxY: %4")
.arg(clicksX).arg(clicksY).arg(maxX).arg(maxY);
if(minX != 999999)
resultText.append(QString(", minX: %1").arg(minX));
if(minY != 999999)
resultText.append(QString(", minY: %1").arg(minY));
//QFontMetrics fm(this->font());
//int neededWidth = fm.horizontalAdvance(resultText);
//this->resize(this->height(), neededWidth);
emit haveRawClicksXY(clicksX, clicksY);
update();
}

37
scrolltest.h 100644
Wyświetl plik

@ -0,0 +1,37 @@
#ifndef SCROLLTEST_H
#define SCROLLTEST_H
#include <QWidget>
#include <QPainter>
#include <QWheelEvent>
#include <QFont>
#include <QFontMetrics>
class scrolltest : public QWidget
{
Q_OBJECT
int widgetWindowHeight;
int fontSize = 12;
int rawClicksY;
int rawClicksX;
QString resultText = "SCROLL";
int maxX=0;
int maxY=0;
int minX=999999;
int minY=999999;
public:
explicit scrolltest(QWidget *parent = nullptr);
public slots:
//void mouseMoveEvent(QMouseEvent *event);
void wheelEvent(QWheelEvent *event);
void paintEvent(QPaintEvent *event);
signals:
void haveRawClicksXY(int x, int y);
};
#endif // SCROLLTEST_H

Wyświetl plik

@ -237,6 +237,7 @@ SOURCES += main.cpp\
cwsidetone.cpp \
debugwindow.cpp \
loggingwindow.cpp \
scrolltest.cpp \
settingswidget.cpp \
memories.cpp \
rigcreator.cpp \
@ -295,6 +296,7 @@ HEADERS += wfmain.h \
freqmemory.h \
rigcreator.h \
rigidentities.h \
scrolltest.h \
settingswidget.h \
sidebandchooser.h \
spectrumscope.h \