mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-05-30 13:52:25 -04:00
Channel Analyzer NG: toggle polar points/segments display
This commit is contained in:
parent
06c9f7f20d
commit
5327856827
@ -42,7 +42,8 @@ GLScopeNG::GLScopeNG(QWidget* parent) :
|
|||||||
m_timeOffset(0),
|
m_timeOffset(0),
|
||||||
m_focusedTraceIndex(0),
|
m_focusedTraceIndex(0),
|
||||||
m_displayGridIntensity(10),
|
m_displayGridIntensity(10),
|
||||||
m_displayTraceIntensity(50)
|
m_displayTraceIntensity(50),
|
||||||
|
m_displayXYPoints(false)
|
||||||
{
|
{
|
||||||
setAttribute(Qt::WA_OpaquePaintEvent);
|
setAttribute(Qt::WA_OpaquePaintEvent);
|
||||||
connect(&m_timer, SIGNAL(timeout()), this, SLOT(tick()));
|
connect(&m_timer, SIGNAL(timeout()), this, SLOT(tick()));
|
||||||
@ -910,7 +911,11 @@ void GLScopeNG::paintGL()
|
|||||||
mat.setToIdentity();
|
mat.setToIdentity();
|
||||||
mat.translate(-1.0f + 2.0f * rectX, 1.0f - 2.0f * rectY);
|
mat.translate(-1.0f + 2.0f * rectX, 1.0f - 2.0f * rectY);
|
||||||
mat.scale(2.0f * rectW, -2.0f * rectH);
|
mat.scale(2.0f * rectW, -2.0f * rectH);
|
||||||
m_glShaderSimple.drawPolyline(mat, color, q3, end -start);
|
if (m_displayXYPoints) {
|
||||||
|
m_glShaderSimple.drawPoints(mat, color, q3, end -start);
|
||||||
|
} else {
|
||||||
|
m_glShaderSimple.drawPolyline(mat, color, q3, end -start);
|
||||||
|
}
|
||||||
} // XY polar display
|
} // XY polar display
|
||||||
} // trace length > 0
|
} // trace length > 0
|
||||||
} // XY mixed + polar display
|
} // XY mixed + polar display
|
||||||
|
@ -74,6 +74,7 @@ public:
|
|||||||
|
|
||||||
bool getDataChanged() const { return m_dataChanged; }
|
bool getDataChanged() const { return m_dataChanged; }
|
||||||
DisplayMode getDisplayMode() const { return m_displayMode; }
|
DisplayMode getDisplayMode() const { return m_displayMode; }
|
||||||
|
void setDisplayXYPoints(bool value) { m_displayXYPoints = value; }
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void sampleRateChanged(int);
|
void sampleRateChanged(int);
|
||||||
@ -117,6 +118,7 @@ private:
|
|||||||
|
|
||||||
int m_displayGridIntensity;
|
int m_displayGridIntensity;
|
||||||
int m_displayTraceIntensity;
|
int m_displayTraceIntensity;
|
||||||
|
bool m_displayXYPoints;
|
||||||
|
|
||||||
ScaleEngine m_x1Scale; //!< Display #1 X scale. Time scale
|
ScaleEngine m_x1Scale; //!< Display #1 X scale. Time scale
|
||||||
ScaleEngine m_x2Scale; //!< Display #2 X scale. Time scale
|
ScaleEngine m_x2Scale; //!< Display #2 X scale. Time scale
|
||||||
|
@ -422,6 +422,12 @@ void GLScopeNGGUI::on_onlyX_toggled(bool checked)
|
|||||||
ui->polar->setChecked(false);
|
ui->polar->setChecked(false);
|
||||||
m_glScope->setDisplayMode(GLScopeNG::DisplayX);
|
m_glScope->setDisplayMode(GLScopeNG::DisplayX);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!ui->onlyY->isChecked() && !ui->horizontalXY->isChecked() && !ui->verticalXY->isChecked() && !ui->polar->isChecked()) {
|
||||||
|
ui->polar->setChecked(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLScopeNGGUI::on_onlyY_toggled(bool checked)
|
void GLScopeNGGUI::on_onlyY_toggled(bool checked)
|
||||||
@ -434,6 +440,12 @@ void GLScopeNGGUI::on_onlyY_toggled(bool checked)
|
|||||||
ui->polar->setChecked(false);
|
ui->polar->setChecked(false);
|
||||||
m_glScope->setDisplayMode(GLScopeNG::DisplayY);
|
m_glScope->setDisplayMode(GLScopeNG::DisplayY);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!ui->onlyX->isChecked() && !ui->horizontalXY->isChecked() && !ui->verticalXY->isChecked() && !ui->polar->isChecked()) {
|
||||||
|
ui->polar->setChecked(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLScopeNGGUI::on_horizontalXY_toggled(bool checked)
|
void GLScopeNGGUI::on_horizontalXY_toggled(bool checked)
|
||||||
@ -446,6 +458,12 @@ void GLScopeNGGUI::on_horizontalXY_toggled(bool checked)
|
|||||||
ui->polar->setChecked(false);
|
ui->polar->setChecked(false);
|
||||||
m_glScope->setDisplayMode(GLScopeNG::DisplayXYH);
|
m_glScope->setDisplayMode(GLScopeNG::DisplayXYH);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!ui->onlyX->isChecked() && !ui->onlyY->isChecked() && !ui->verticalXY->isChecked() && !ui->polar->isChecked()) {
|
||||||
|
ui->polar->setChecked(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLScopeNGGUI::on_verticalXY_toggled(bool checked)
|
void GLScopeNGGUI::on_verticalXY_toggled(bool checked)
|
||||||
@ -458,6 +476,12 @@ void GLScopeNGGUI::on_verticalXY_toggled(bool checked)
|
|||||||
ui->polar->setChecked(false);
|
ui->polar->setChecked(false);
|
||||||
m_glScope->setDisplayMode(GLScopeNG::DisplayXYV);
|
m_glScope->setDisplayMode(GLScopeNG::DisplayXYV);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!ui->onlyX->isChecked() && !ui->onlyY->isChecked() && !ui->horizontalXY->isChecked() && !ui->polar->isChecked()) {
|
||||||
|
ui->polar->setChecked(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLScopeNGGUI::on_polar_toggled(bool checked)
|
void GLScopeNGGUI::on_polar_toggled(bool checked)
|
||||||
@ -470,6 +494,17 @@ void GLScopeNGGUI::on_polar_toggled(bool checked)
|
|||||||
ui->verticalXY->setChecked(false);
|
ui->verticalXY->setChecked(false);
|
||||||
m_glScope->setDisplayMode(GLScopeNG::DisplayPol);
|
m_glScope->setDisplayMode(GLScopeNG::DisplayPol);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!ui->onlyX->isChecked() && !ui->onlyY->isChecked() && !ui->horizontalXY->isChecked() && !ui->verticalXY->isChecked()) {
|
||||||
|
ui->polar->setChecked(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void GLScopeNGGUI::on_polarPoints_toggled(bool checked)
|
||||||
|
{
|
||||||
|
m_glScope->setDisplayXYPoints(checked);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GLScopeNGGUI::on_traceIntensity_valueChanged(int value)
|
void GLScopeNGGUI::on_traceIntensity_valueChanged(int value)
|
||||||
|
@ -191,6 +191,7 @@ private slots:
|
|||||||
void on_horizontalXY_toggled(bool checked);
|
void on_horizontalXY_toggled(bool checked);
|
||||||
void on_verticalXY_toggled(bool checked);
|
void on_verticalXY_toggled(bool checked);
|
||||||
void on_polar_toggled(bool checked);
|
void on_polar_toggled(bool checked);
|
||||||
|
void on_polarPoints_toggled(bool checked);
|
||||||
void on_traceIntensity_valueChanged(int value);
|
void on_traceIntensity_valueChanged(int value);
|
||||||
void on_gridIntensity_valueChanged(int value);
|
void on_gridIntensity_valueChanged(int value);
|
||||||
void on_time_valueChanged(int value);
|
void on_time_valueChanged(int value);
|
||||||
|
@ -206,6 +206,62 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="ButtonSwitch" name="polar">
|
<widget class="ButtonSwitch" name="polar">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="palette">
|
||||||
|
<palette>
|
||||||
|
<active>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>255</red>
|
||||||
|
<green>255</green>
|
||||||
|
<blue>255</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</active>
|
||||||
|
<inactive>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>255</red>
|
||||||
|
<green>255</green>
|
||||||
|
<blue>255</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</inactive>
|
||||||
|
<disabled>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>190</red>
|
||||||
|
<green>190</green>
|
||||||
|
<blue>190</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</disabled>
|
||||||
|
</palette>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Display XY traces and polar trace</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>XY</string>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="ButtonSwitch" name="polarPoints">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>24</width>
|
<width>24</width>
|
||||||
@ -213,7 +269,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Display XY traces and polar trace</string>
|
<string>Toggle points or segments display for polar trace</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>...</string>
|
<string>...</string>
|
||||||
|
@ -59,6 +59,11 @@ void GLShaderSimple::initializeGL()
|
|||||||
m_program->release();
|
m_program->release();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GLShaderSimple::drawPoints(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices)
|
||||||
|
{
|
||||||
|
draw(GL_POINTS, transformMatrix, color, vertices, nbVertices);
|
||||||
|
}
|
||||||
|
|
||||||
void GLShaderSimple::drawPolyline(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices)
|
void GLShaderSimple::drawPolyline(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices)
|
||||||
{
|
{
|
||||||
draw(GL_LINE_STRIP, transformMatrix, color, vertices, nbVertices);
|
draw(GL_LINE_STRIP, transformMatrix, color, vertices, nbVertices);
|
||||||
|
@ -34,6 +34,7 @@ public:
|
|||||||
~GLShaderSimple();
|
~GLShaderSimple();
|
||||||
|
|
||||||
void initializeGL();
|
void initializeGL();
|
||||||
|
void drawPoints(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
|
||||||
void drawPolyline(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
|
void drawPolyline(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
|
||||||
void drawSegments(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
|
void drawSegments(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
|
||||||
void drawContour(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
|
void drawContour(const QMatrix4x4& transformMatrix, const QVector4D& color, GLfloat *vertices, int nbVertices);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user