1
3
#include "waveformmark.h"
5
#include "waveformwidgetrenderer.h"
3
6
#include "controlobject.h"
4
#include "widget/wwidget.h"
7
#include "controlobjectthreadmain.h"
9
#include "widget/wskincolor.h"
9
11
WaveformMark::WaveformMark()
10
12
: m_pointControl(NULL) {
13
void WaveformMark::setup(const QString& group, const QDomNode& node) {
14
QString item = WWidget::selectNodeQString( node, "Control");
15
m_pointControl = ControlObject::getControl( ConfigKey(group, item));
17
m_color = WWidget::selectNodeQString( node, "Color");
20
// As a fallback, grab the mark color from the parent's MarkerColor
21
m_color = WWidget::selectNodeQString(node.parentNode(), "MarkerColor");
22
qDebug() << "Didn't get mark 'Color', using parent's 'MarkerColor':" << m_color;
25
m_textColor = WWidget::selectNodeQString(node, "TextColor");
26
if( m_textColor == "") {
15
void WaveformMark::setup(const QString& group, const QDomNode& node, const WaveformSignalColors& signalColors) {
16
QString item = XmlParse::selectNodeQString(node, "Control");
17
ControlObject* pPointControl = ControlObject::getControl(ConfigKey(group, item));
19
m_pointControl = new ControlObjectThreadMain(pPointControl);
22
m_color = XmlParse::selectNodeQString(node, "Color");
24
// As a fallback, grab the color from the parent's AxesColor
25
m_color = signalColors.getAxesColor();
26
qDebug() << "Didn't get mark <Color>, using parent's <AxesColor>:" << m_color;
28
m_color = WSkinColor::getCorrectColor(m_color);
31
m_textColor = XmlParse::selectNodeQString(node, "TextColor");
32
if (m_textColor == "") {
27
33
// Read the text color, otherwise use the parent's BgColor.
28
m_textColor = WWidget::selectNodeQString(node.parentNode(), "BgColor");
29
qDebug() << "Didn't get mark TextColor, using parent's BgColor:" << m_textColor;
34
m_textColor = signalColors.getBgColor();
35
qDebug() << "Didn't get mark <TextColor>, using parent's <BgColor>:" << m_textColor;
32
QString markAlign = WWidget::selectNodeQString(node, "Align");
38
QString markAlign = XmlParse::selectNodeQString(node, "Align");
33
39
if (markAlign.contains("bottom", Qt::CaseInsensitive)) {
34
40
m_align = Qt::AlignBottom;
36
42
m_align = Qt::AlignTop; // Default
39
m_text = WWidget::selectNodeQString(node, "Text");
40
m_pixmapPath = WWidget::selectNodeQString(node,"Pixmap");
45
m_text = XmlParse::selectNodeQString(node, "Text");
46
m_pixmapPath = XmlParse::selectNodeQString(node,"Pixmap");