Isis 3 Programmer Reference
AbstractMeasureItem.h
1 #ifndef AbstractMeasureItem_H
2 #define AbstractMeasureItem_H
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 
13 #include "AbstractTreeItem.h"
14 
15 
16 class QString;
17 class QVariant;
18 
19 
20 namespace Isis {
21  class ControlMeasure;
22  class TableColumnList;
23 
37  class AbstractMeasureItem : public virtual AbstractTreeItem {
38  public:
39  // If a column is added or removed then make sure you also update
40  // the COLS constant that immediately follows this enum.
41  enum Column {
42  PointId = 0,
43  ImageId = 1,
44  Sample = 2,
45  Line = 3,
46  EditLock = 4,
47  Ignored = 5,
48  Reference = 6,
49  Type = 7,
50  Obsolete_Eccentricity = 8,
51  GoodnessOfFit = 9,
52  MinPixelZScore = 10,
53  MaxPixelZScore = 11,
54  SampleShift = 12,
55  LineShift = 13,
56  SampleSigma = 14,
57  LineSigma = 15,
58  APrioriSample = 16,
59  APrioriLine = 17,
60  Diameter = 18,
61  JigsawRejected = 19,
62  ResidualSample = 20,
63  ResidualLine = 21,
64  ResidualMagnitude = 22
65  };
66  static const int COLS = 23;
67 
68  static QString getColumnName(Column);
69  static Column getColumn(QString);
70  static TableColumnList *createColumns();
71 
72 
73  public:
74  AbstractMeasureItem(ControlMeasure *cm, int avgCharWidth,
75  AbstractTreeItem *parent = 0);
76  virtual ~AbstractMeasureItem();
77 
78  virtual QVariant getData() const;
79  virtual QVariant getData(QString columnTitle) const;
80  virtual void setData(QString const &columnTitle,
81  QString const &newData);
82  bool isDataEditable(QString columnTitle) const;
83  virtual void deleteSource();
84  virtual InternalPointerType getPointerType() const;
85  virtual void *getPointer() const;
86  virtual bool hasMeasure(ControlMeasure *) const;
87 
88 
89  protected:
90  virtual void sourceDeleted();
91 
92 
93  private: // disable copying of this class
95  const AbstractMeasureItem &operator=(
96  const AbstractMeasureItem &other);
97 
98 
99  private:
100  static void setLogData(ControlMeasure *, int, const QString &);
101 
102 
103  private:
104  ControlMeasure *m_measure;
105  };
106 }
107 
108 #endif
Isis::TableColumnList
Definition: TableColumnList.h:30
Isis::AbstractMeasureItem
Base class for a measure item in the tree.
Definition: AbstractMeasureItem.h:37
Isis::AbstractTreeItem
Base class for an item in the tree.
Definition: AbstractTreeItem.h:39
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::ControlMeasure
a control measurement
Definition: ControlMeasure.h:175