Additional options for marker symbol style
This commit is contained in:
parent
0281f13ba6
commit
ab828ec292
@ -684,6 +684,9 @@ void Marker::traceDataChanged()
|
|||||||
void Marker::updateSymbol()
|
void Marker::updateSymbol()
|
||||||
{
|
{
|
||||||
if(isDisplayedMarker()) {
|
if(isDisplayedMarker()) {
|
||||||
|
auto style = Preferences::getInstance().Marker.symbolStyle;
|
||||||
|
switch(style) {
|
||||||
|
case MarkerSymbolStyle::FilledNumberInside: {
|
||||||
constexpr int width = 15, height = 15;
|
constexpr int width = 15, height = 15;
|
||||||
symbol = QPixmap(width, height);
|
symbol = QPixmap(width, height);
|
||||||
symbol.fill(Qt::transparent);
|
symbol.fill(Qt::transparent);
|
||||||
@ -696,6 +699,36 @@ void Marker::updateSymbol()
|
|||||||
p.drawConvexPolygon(points, 3);
|
p.drawConvexPolygon(points, 3);
|
||||||
p.setPen(Util::getFontColorFromBackground(traceColor));
|
p.setPen(Util::getFontColorFromBackground(traceColor));
|
||||||
p.drawText(QRectF(0,0,width, height * 2.0 / 3.0), Qt::AlignCenter, QString::number(number) + suffix);
|
p.drawText(QRectF(0,0,width, height * 2.0 / 3.0), Qt::AlignCenter, QString::number(number) + suffix);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MarkerSymbolStyle::FilledNumberAbove: {
|
||||||
|
constexpr int width = 15, height = 30;
|
||||||
|
symbol = QPixmap(width, height);
|
||||||
|
symbol.fill(Qt::transparent);
|
||||||
|
QPainter p(&symbol);
|
||||||
|
p.setRenderHint(QPainter::Antialiasing);
|
||||||
|
QPointF points[] = {QPointF(0,height/2),QPointF(width,height/2),QPointF(width/2,height)};
|
||||||
|
auto traceColor = parentTrace->color();
|
||||||
|
p.setPen(traceColor);
|
||||||
|
p.setBrush(traceColor);
|
||||||
|
p.drawConvexPolygon(points, 3);
|
||||||
|
p.drawText(QRectF(0,0,width, height * 0.45), Qt::AlignCenter, QString::number(number) + suffix);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case MarkerSymbolStyle::EmptyNumberAbove: {
|
||||||
|
constexpr int width = 15, height = 30;
|
||||||
|
symbol = QPixmap(width, height);
|
||||||
|
symbol.fill(Qt::transparent);
|
||||||
|
QPainter p(&symbol);
|
||||||
|
p.setRenderHint(QPainter::Antialiasing);
|
||||||
|
QPointF points[] = {QPointF(0,height/2),QPointF(width,height/2),QPointF(width/2,height)};
|
||||||
|
auto traceColor = parentTrace->color();
|
||||||
|
p.setPen(traceColor);
|
||||||
|
p.drawConvexPolygon(points, 3);
|
||||||
|
p.drawText(QRectF(0,0,width, height * 0.45), Qt::AlignCenter, QString::number(number) + suffix);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
symbol = QPixmap(1,1);
|
symbol = QPixmap(1,1);
|
||||||
}
|
}
|
||||||
|
@ -259,6 +259,7 @@ void PreferencesDialog::setInitialGUIState()
|
|||||||
ui->MarkerShowAllMarkerData->setChecked(p->Marker.defaultBehavior.showAllData);
|
ui->MarkerShowAllMarkerData->setChecked(p->Marker.defaultBehavior.showAllData);
|
||||||
ui->MarkerInterpolate->setCurrentIndex(p->Marker.interpolatePoints ? 1 : 0);
|
ui->MarkerInterpolate->setCurrentIndex(p->Marker.interpolatePoints ? 1 : 0);
|
||||||
ui->MarkerSortOrder->setCurrentIndex((int) p->Marker.sortOrder);
|
ui->MarkerSortOrder->setCurrentIndex((int) p->Marker.sortOrder);
|
||||||
|
ui->MarkerSymbolStyle->setCurrentIndex((int) p->Marker.symbolStyle);
|
||||||
|
|
||||||
ui->SCPIServerEnabled->setChecked(p->SCPIServer.enabled);
|
ui->SCPIServerEnabled->setChecked(p->SCPIServer.enabled);
|
||||||
ui->SCPIServerPort->setValue(p->SCPIServer.port);
|
ui->SCPIServerPort->setValue(p->SCPIServer.port);
|
||||||
@ -325,6 +326,7 @@ void PreferencesDialog::updateFromGUI()
|
|||||||
p->Marker.defaultBehavior.showAllData = ui->MarkerShowAllMarkerData->isChecked();
|
p->Marker.defaultBehavior.showAllData = ui->MarkerShowAllMarkerData->isChecked();
|
||||||
p->Marker.interpolatePoints = ui->MarkerInterpolate->currentIndex() == 1;
|
p->Marker.interpolatePoints = ui->MarkerInterpolate->currentIndex() == 1;
|
||||||
p->Marker.sortOrder = (MarkerSortOrder) ui->MarkerSortOrder->currentIndex();
|
p->Marker.sortOrder = (MarkerSortOrder) ui->MarkerSortOrder->currentIndex();
|
||||||
|
p->Marker.symbolStyle = (MarkerSymbolStyle) ui->MarkerSymbolStyle->currentIndex();
|
||||||
|
|
||||||
p->SCPIServer.enabled = ui->SCPIServerEnabled->isChecked();
|
p->SCPIServer.enabled = ui->SCPIServerEnabled->isChecked();
|
||||||
p->SCPIServer.port = ui->SCPIServerPort->value();
|
p->SCPIServer.port = ui->SCPIServerPort->value();
|
||||||
|
@ -32,6 +32,14 @@ enum MarkerSortOrder {
|
|||||||
|
|
||||||
Q_DECLARE_METATYPE(MarkerSortOrder);
|
Q_DECLARE_METATYPE(MarkerSortOrder);
|
||||||
|
|
||||||
|
enum MarkerSymbolStyle {
|
||||||
|
FilledNumberInside = 0,
|
||||||
|
FilledNumberAbove = 1,
|
||||||
|
EmptyNumberAbove = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
Q_DECLARE_METATYPE(MarkerSymbolStyle);
|
||||||
|
|
||||||
|
|
||||||
class Preferences : public Savable {
|
class Preferences : public Savable {
|
||||||
public:
|
public:
|
||||||
@ -124,6 +132,7 @@ public:
|
|||||||
} defaultBehavior;
|
} defaultBehavior;
|
||||||
bool interpolatePoints;
|
bool interpolatePoints;
|
||||||
MarkerSortOrder sortOrder;
|
MarkerSortOrder sortOrder;
|
||||||
|
MarkerSymbolStyle symbolStyle;
|
||||||
} Marker;
|
} Marker;
|
||||||
struct {
|
struct {
|
||||||
bool enabled;
|
bool enabled;
|
||||||
@ -194,6 +203,7 @@ private:
|
|||||||
{&Marker.defaultBehavior.showAllData, "Marker.defaultBehavior.ShowAllData", false},
|
{&Marker.defaultBehavior.showAllData, "Marker.defaultBehavior.ShowAllData", false},
|
||||||
{&Marker.interpolatePoints, "Marker.interpolatePoints", false},
|
{&Marker.interpolatePoints, "Marker.interpolatePoints", false},
|
||||||
{&Marker.sortOrder, "Marker.sortOrder", MarkerSortOrder::PrefMarkerSortXCoord},
|
{&Marker.sortOrder, "Marker.sortOrder", MarkerSortOrder::PrefMarkerSortXCoord},
|
||||||
|
{&Marker.symbolStyle, "Marker.symbolStyle", MarkerSymbolStyle::EmptyNumberAbove},
|
||||||
{&SCPIServer.enabled, "SCPIServer.enabled", true},
|
{&SCPIServer.enabled, "SCPIServer.enabled", true},
|
||||||
{&SCPIServer.port, "SCPIServer.port", 19542},
|
{&SCPIServer.port, "SCPIServer.port", 19542},
|
||||||
}};
|
}};
|
||||||
|
@ -79,7 +79,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>687</width>
|
<width>687</width>
|
||||||
<height>938</height>
|
<height>884</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
<layout class="QHBoxLayout" name="horizontalLayout_12">
|
||||||
@ -98,7 +98,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="Startup">
|
<widget class="QWidget" name="Startup">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
@ -1281,6 +1281,32 @@
|
|||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_45">
|
||||||
|
<property name="text">
|
||||||
|
<string>Symbol Style:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QComboBox" name="MarkerSymbolStyle">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Filled triangle - Marker number inside</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Filled triangle - Marker number above</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Empty triangle - Marker number above</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
Loading…
Reference in New Issue
Block a user