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