]> sigrok.org Git - pulseview.git/blame - pv/data/decode/row.cpp
Backport recent changes from mainline.
[pulseview.git] / pv / data / decode / row.cpp
CommitLineData
f9101a91
JH
1/*
2 * This file is part of the PulseView project.
3 *
4 * Copyright (C) 2014 Joel Holdsworth <joel@airwebreathe.org.uk>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
efdec55a 17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
f9101a91
JH
18 */
19
2acdb232 20#include "row.hpp"
f9101a91 21
88908838
JH
22#include <libsigrokdecode/libsigrokdecode.h>
23
f9101a91
JH
24namespace pv {
25namespace data {
26namespace decode {
27
28Row::Row() :
4c60462b
JH
29 decoder_(nullptr),
30 row_(nullptr)
f9101a91
JH
31{
32}
33
3782d860
UH
34Row::Row(int index, const srd_decoder *decoder, const srd_decoder_annotation_row *row) :
35 index_(index),
8dbbc7f0
JH
36 decoder_(decoder),
37 row_(row)
f9101a91
JH
38{
39}
40
41const srd_decoder* Row::decoder() const
42{
8dbbc7f0 43 return decoder_;
f9101a91
JH
44}
45
46const srd_decoder_annotation_row* Row::row() const
47{
8dbbc7f0 48 return row_;
f9101a91
JH
49}
50
88908838
JH
51const QString Row::title() const
52{
8dbbc7f0 53 if (decoder_ && decoder_->name && row_ && row_->desc)
88908838 54 return QString("%1: %2")
744aa24f
UH
55 .arg(QString::fromUtf8(decoder_->name),
56 QString::fromUtf8(row_->desc));
8dbbc7f0
JH
57 if (decoder_ && decoder_->name)
58 return QString::fromUtf8(decoder_->name);
59 if (row_ && row_->desc)
60 return QString::fromUtf8(row_->desc);
88908838
JH
61 return QString();
62}
63
3782d860
UH
64const QString Row::class_name() const
65{
66 if (row_ && row_->desc)
67 return QString::fromUtf8(row_->desc);
68 return QString();
69}
70
71int Row::index() const
72{
73 return index_;
74}
75
f9101a91
JH
76bool Row::operator<(const Row &other) const
77{
8dbbc7f0
JH
78 return (decoder_ < other.decoder_) ||
79 (decoder_ == other.decoder_ && row_ < other.row_);
f9101a91
JH
80}
81
870ea3db
UH
82} // namespace decode
83} // namespace data
84} // namespace pv