Skip to content

Commit 6ded0d0

Browse files
committed
LP-567 improve treeitem const correcteness
1 parent 849f784 commit 6ded0d0

3 files changed

Lines changed: 38 additions & 39 deletions

File tree

ground/gcs/src/plugins/uavobjectbrowser/fieldtreeitem.h

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,15 @@ class FieldTreeItem : public TreeItem {
6060
TreeItem(data, parent), m_index(index), m_field(field)
6161
{}
6262

63-
bool isEditable()
63+
bool isEditable() const
6464
{
6565
return true;
6666
}
6767

68-
virtual QWidget *createEditor(QWidget *parent) = 0;
69-
virtual QVariant getEditorValue(QWidget *editor) = 0;
70-
virtual void setEditorValue(QWidget *editor, QVariant value) = 0;
71-
virtual void apply() {}
72-
virtual bool isKnown()
68+
virtual QWidget *createEditor(QWidget *parent) const = 0;
69+
virtual QVariant getEditorValue(QWidget *editor) const = 0;
70+
virtual void setEditorValue(QWidget *editor, QVariant value) const = 0;
71+
virtual bool isKnown() const
7372
{
7473
return parent()->isKnown();
7574
}
@@ -130,7 +129,7 @@ class EnumFieldTreeItem : public FieldTreeItem {
130129
}
131130
}
132131

133-
QWidget *createEditor(QWidget *parent)
132+
QWidget *createEditor(QWidget *parent) const
134133
{
135134
QComboBox *editor = new QComboBox(parent);
136135

@@ -142,14 +141,14 @@ class EnumFieldTreeItem : public FieldTreeItem {
142141
return editor;
143142
}
144143

145-
QVariant getEditorValue(QWidget *editor)
144+
QVariant getEditorValue(QWidget *editor) const
146145
{
147146
QComboBox *comboBox = static_cast<QComboBox *>(editor);
148147

149148
return comboBox->currentIndex();
150149
}
151150

152-
void setEditorValue(QWidget *editor, QVariant value)
151+
void setEditorValue(QWidget *editor, QVariant value) const
153152
{
154153
QComboBox *comboBox = static_cast<QComboBox *>(editor);
155154

@@ -208,7 +207,7 @@ class IntFieldTreeItem : public FieldTreeItem {
208207
}
209208
}
210209

211-
QWidget *createEditor(QWidget *parent)
210+
QWidget *createEditor(QWidget *parent) const
212211
{
213212
QSpinBox *editor = new QSpinBox(parent);
214213

@@ -217,15 +216,15 @@ class IntFieldTreeItem : public FieldTreeItem {
217216
return editor;
218217
}
219218

220-
QVariant getEditorValue(QWidget *editor)
219+
QVariant getEditorValue(QWidget *editor) const
221220
{
222221
QSpinBox *spinBox = static_cast<QSpinBox *>(editor);
223222

224223
spinBox->interpretText();
225224
return spinBox->value();
226225
}
227226

228-
void setEditorValue(QWidget *editor, QVariant value)
227+
void setEditorValue(QWidget *editor, QVariant value) const
229228
{
230229
QSpinBox *spinBox = static_cast<QSpinBox *>(editor);
231230

@@ -290,7 +289,7 @@ class FloatFieldTreeItem : public FieldTreeItem {
290289
}
291290
}
292291

293-
QWidget *createEditor(QWidget *parent)
292+
QWidget *createEditor(QWidget *parent) const
294293
{
295294
if (m_useScientificNotation) {
296295
QScienceSpinBox *editor = new QScienceSpinBox(parent);
@@ -307,7 +306,7 @@ class FloatFieldTreeItem : public FieldTreeItem {
307306
}
308307
}
309308

310-
QVariant getEditorValue(QWidget *editor)
309+
QVariant getEditorValue(QWidget *editor) const
311310
{
312311
if (m_useScientificNotation) {
313312
QScienceSpinBox *spinBox = static_cast<QScienceSpinBox *>(editor);
@@ -320,7 +319,7 @@ class FloatFieldTreeItem : public FieldTreeItem {
320319
}
321320
}
322321

323-
void setEditorValue(QWidget *editor, QVariant value)
322+
void setEditorValue(QWidget *editor, QVariant value) const
324323
{
325324
if (m_useScientificNotation) {
326325
QScienceSpinBox *spinBox = static_cast<QScienceSpinBox *>(editor);
@@ -346,7 +345,7 @@ class HexFieldTreeItem : public FieldTreeItem {
346345
FieldTreeItem(index, data, field, parent)
347346
{}
348347

349-
QWidget *createEditor(QWidget *parent)
348+
QWidget *createEditor(QWidget *parent) const
350349
{
351350
QLineEdit *lineEdit = new QLineEdit(parent);
352351

@@ -355,14 +354,14 @@ class HexFieldTreeItem : public FieldTreeItem {
355354
return lineEdit;
356355
}
357356

358-
QVariant getEditorValue(QWidget *editor)
357+
QVariant getEditorValue(QWidget *editor) const
359358
{
360359
QLineEdit *lineEdit = static_cast<QLineEdit *>(editor);
361360

362361
return lineEdit->text();
363362
}
364363

365-
void setEditorValue(QWidget *editor, QVariant value)
364+
void setEditorValue(QWidget *editor, QVariant value) const
366365
{
367366
QLineEdit *lineEdit = static_cast<QLineEdit *>(editor);
368367

@@ -392,15 +391,15 @@ class HexFieldTreeItem : public FieldTreeItem {
392391
}
393392

394393
private:
395-
QVariant toHexString(QVariant value)
394+
QVariant toHexString(QVariant value) const
396395
{
397396
QString str;
398397
bool ok;
399398

400399
return str.setNum(value.toUInt(&ok), 16).toUpper();
401400
}
402401

403-
QVariant toUInt(QVariant str)
402+
QVariant toUInt(QVariant str) const
404403
{
405404
bool ok;
406405

@@ -419,7 +418,7 @@ class CharFieldTreeItem : public FieldTreeItem {
419418
FieldTreeItem(index, data, field, parent)
420419
{}
421420

422-
QWidget *createEditor(QWidget *parent)
421+
QWidget *createEditor(QWidget *parent) const
423422
{
424423
QLineEdit *lineEdit = new QLineEdit(parent);
425424

@@ -428,14 +427,14 @@ class CharFieldTreeItem : public FieldTreeItem {
428427
return lineEdit;
429428
}
430429

431-
QVariant getEditorValue(QWidget *editor)
430+
QVariant getEditorValue(QWidget *editor) const
432431
{
433432
QLineEdit *lineEdit = static_cast<QLineEdit *>(editor);
434433

435434
return lineEdit->text();
436435
}
437436

438-
void setEditorValue(QWidget *editor, QVariant value)
437+
void setEditorValue(QWidget *editor, QVariant value) const
439438
{
440439
QLineEdit *lineEdit = static_cast<QLineEdit *>(editor);
441440

@@ -463,14 +462,13 @@ class CharFieldTreeItem : public FieldTreeItem {
463462
setHighlight(true);
464463
}
465464
}
466-
467465
private:
468-
QVariant toChar(QVariant value)
466+
QVariant toChar(QVariant value) const
469467
{
470468
return value.toChar();
471469
}
472470

473-
QVariant toUInt(QVariant str)
471+
QVariant toUInt(QVariant str) const
474472
{
475473
return QVariant(str.toString().at(0).toLatin1());
476474
}

ground/gcs/src/plugins/uavobjectbrowser/treeitem.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ void TreeItem::insertChild(TreeItem *child)
161161
child->setParentTree(this);
162162
}
163163

164-
TreeItem *TreeItem::getChild(int index)
164+
TreeItem *TreeItem::getChild(int index) const
165165
{
166166
return m_children.value(index);
167167
}
@@ -250,7 +250,7 @@ void TreeItem::setHighlightManager(HighLightManager *mgr)
250250
m_highlightManager = mgr;
251251
}
252252

253-
QTime TreeItem::getHiglightExpires()
253+
QTime TreeItem::getHiglightExpires() const
254254
{
255255
return m_highlightExpires;
256256
}

ground/gcs/src/plugins/uavobjectbrowser/treeitem.h

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -99,20 +99,21 @@ class TreeItem : public QObject {
9999
void appendChild(TreeItem *child);
100100
void insertChild(TreeItem *child);
101101

102-
TreeItem *getChild(int index);
102+
TreeItem *getChild(int index) const;
103103
inline QList<TreeItem *> treeChildren() const
104104
{
105105
return m_children;
106106
}
107107
int childCount() const;
108108
int columnCount() const;
109109
virtual QVariant data(int column = 1) const;
110-
QString description()
110+
QString description() const
111111
{
112112
return m_description;
113113
}
114-
void setDescription(QString d) // Split around 40 characters
114+
void setDescription(QString d)
115115
{
116+
// Split around 40 characters
116117
int idx = d.indexOf(" ", 40);
117118

118119
d.insert(idx, QString("<br>"));
@@ -123,22 +124,22 @@ class TreeItem : public QObject {
123124
// other columns are initialized in constructor
124125
virtual void setData(QVariant value, int column = 1);
125126
int row() const;
126-
TreeItem *parent()
127+
TreeItem *parent() const
127128
{
128129
return m_parent;
129130
}
130131
void setParentTree(TreeItem *parent)
131132
{
132133
m_parent = parent;
133134
}
134-
inline virtual bool isEditable()
135+
inline virtual bool isEditable() const
135136
{
136137
return false;
137138
}
138139
virtual void update();
139140
virtual void apply();
140141

141-
inline bool highlighted()
142+
inline bool highlighted() const
142143
{
143144
return m_highlight;
144145
}
@@ -148,7 +149,7 @@ class TreeItem : public QObject {
148149
m_highlightTimeMs = time;
149150
}
150151

151-
inline bool changed()
152+
inline bool changed() const
152153
{
153154
return m_changed;
154155
}
@@ -159,11 +160,11 @@ class TreeItem : public QObject {
159160

160161
virtual void setHighlightManager(HighLightManager *mgr);
161162

162-
QTime getHiglightExpires();
163+
QTime getHiglightExpires() const;
163164

164165
virtual void removeHighlight();
165166

166-
int nameIndex(QString name)
167+
int nameIndex(QString name) const
167168
{
168169
for (int i = 0; i < childCount(); ++i) {
169170
if (name < getChild(i)->data(0).toString()) {
@@ -173,7 +174,7 @@ class TreeItem : public QObject {
173174
return childCount();
174175
}
175176

176-
TreeItem *findChildByName(QString name)
177+
TreeItem *findChildByName(QString name) const
177178
{
178179
foreach(TreeItem * child, m_children) {
179180
if (name == child->data(0).toString()) {
@@ -219,7 +220,7 @@ class TreeItem : public QObject {
219220
emit updateIsKnown(this);
220221
}
221222
}
222-
virtual bool isKnown()
223+
virtual bool isKnown() const
223224
{
224225
return true;
225226
}

0 commit comments

Comments
 (0)