Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Isis Developer Reference
AbstractTreeItem.h
Go to the documentation of this file.
1#ifndef AbstractTreeItem_H
2#define AbstractTreeItem_H
3
9
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QObject>
13
14class QFontMetrics;
15template< typename T > class QList;
16class QString;
17class QVariant;
18
19
20namespace Isis {
21 class ControlPoint;
22 class ControlMeasure;
23
39 class AbstractTreeItem : public QObject {
40 Q_OBJECT
41
42 public:
49
50
51 public:
53 virtual ~AbstractTreeItem();
54
55 AbstractTreeItem *parent() const;
56 void setParent(AbstractTreeItem *newParent);
57
58 int row() const;
59
60 // These methods are designed to be implemented either by
61 // AbstractParentItem or AbstractLeafItem.
62 virtual void addChild(AbstractTreeItem *child) = 0;
64 virtual AbstractTreeItem *childAt(int row) const = 0;
65 virtual int childCount() const = 0;
68 virtual int indexOf(AbstractTreeItem *child) const = 0;
69 virtual void setFirstVisibleChild(AbstractTreeItem *child) = 0;
70 virtual void setLastVisibleChild(AbstractTreeItem *child) = 0;
71
72 // These methods are designed to be implemented either by
73 // AbstractPointItem, AbstractMeasureItem, AbstractSerialItem,
74 // or AbstractNullDataItem.
75 virtual QVariant getData() const = 0;
76 virtual QVariant getData(QString columnTitle) const = 0;
77 virtual void setData(QString const &columnTitle,
78 QString const &newData) = 0;
79 virtual bool isDataEditable(QString columnTitle) const = 0;
80 virtual void deleteSource() = 0;
82 virtual void *getPointer() const = 0;
83
84 // There are things that every AbstractTreeItem can do.
85 virtual QString getFormattedData() const;
86 virtual QString getFormattedData(QString columnTitle) const;
87
88 virtual bool hasMeasure(ControlMeasure *) const;
89 virtual bool hasImage(QString imageSerial) const;
90 virtual bool hasPoint(ControlPoint *) const;
91
92 virtual AbstractTreeItem *getNextVisiblePeer() const;
93 virtual void setNextVisiblePeer(AbstractTreeItem *next);
94
95 virtual void setExpanded(bool newState);
96 virtual bool isExpanded() const;
97
98 virtual void setSelected(bool newState);
99 virtual void setSelectable(bool newSelectable);
100 virtual bool isSelected() const;
101 virtual bool isSelectable() const;
102
103 virtual void setVisible(bool newState);
104 virtual bool isVisible() const;
105
106 virtual int getDataWidth() const;
107 virtual int getDepth() const;
108
110 virtual const AbstractTreeItem *getLastVisibleFilteredItem() const;
111
112 protected slots:
113 virtual void sourceDeleted() = 0;
114
115 protected:
116 virtual void calcDataWidth(int avgCharWidth);
117 static double catchNull(QString);
118 static QString catchNull(QVariant);
119
120
121 // disable copying of this class
122 private:
124 AbstractTreeItem &operator=(AbstractTreeItem const &);
125
126
127 private:
128 AbstractTreeItem *m_nextVisibleItem;
129 AbstractTreeItem *m_parentItem;
130 bool m_expanded;
131 bool m_selectable;
132 bool m_selected;
133 bool m_visible;
134 int m_dataWidth;
135 };
136}
137
138#endif
Base class for an item in the tree.
Definition AbstractTreeItem.h:39
int row() const
Definition AbstractTreeItem.cpp:53
virtual QString getFormattedData() const
Definition AbstractTreeItem.cpp:63
virtual AbstractTreeItem * getFirstVisibleChild() const =0
virtual void setLastVisibleFilteredItem(AbstractTreeItem *item)
Definition AbstractTreeItem.cpp:178
virtual bool isSelected() const
Definition AbstractTreeItem.cpp:133
virtual void deleteSource()=0
virtual void setFirstVisibleChild(AbstractTreeItem *child)=0
virtual void sourceDeleted()=0
virtual const AbstractTreeItem * getLastVisibleFilteredItem() const
Definition AbstractTreeItem.cpp:186
virtual bool hasPoint(ControlPoint *) const
Definition AbstractTreeItem.cpp:83
virtual ~AbstractTreeItem()
Definition AbstractTreeItem.cpp:37
virtual QVariant getData() const =0
AbstractTreeItem * parent() const
Definition AbstractTreeItem.cpp:43
virtual void setExpanded(bool newState)
Definition AbstractTreeItem.cpp:114
virtual int getDepth() const
Definition AbstractTreeItem.cpp:164
virtual int getDataWidth() const
Definition AbstractTreeItem.cpp:153
virtual void setLastVisibleChild(AbstractTreeItem *child)=0
virtual bool isSelectable() const
Definition AbstractTreeItem.cpp:138
virtual AbstractTreeItem * childAt(int row) const =0
virtual void setData(QString const &columnTitle, QString const &newData)=0
virtual int childCount() const =0
InternalPointerType
Definition AbstractTreeItem.h:43
@ None
Definition AbstractTreeItem.h:44
@ Point
Definition AbstractTreeItem.h:45
@ ImageAndNet
Definition AbstractTreeItem.h:47
@ Measure
Definition AbstractTreeItem.h:46
virtual QVariant getData(QString columnTitle) const =0
virtual void calcDataWidth(int avgCharWidth)
Definition AbstractTreeItem.cpp:191
virtual InternalPointerType getPointerType() const =0
virtual void setSelectable(bool newSelectable)
Definition AbstractTreeItem.cpp:128
virtual int indexOf(AbstractTreeItem *child) const =0
virtual QList< AbstractTreeItem * > getChildren() const =0
virtual void addChild(AbstractTreeItem *child)=0
virtual bool hasImage(QString imageSerial) const
Definition AbstractTreeItem.cpp:103
AbstractTreeItem(AbstractTreeItem *parent=0)
Definition AbstractTreeItem.cpp:26
virtual bool hasMeasure(ControlMeasure *) const
Definition AbstractTreeItem.cpp:93
virtual AbstractTreeItem * getLastVisibleChild() const =0
virtual AbstractTreeItem * getNextVisiblePeer() const
Definition AbstractTreeItem.cpp:73
void setParent(AbstractTreeItem *newParent)
Definition AbstractTreeItem.cpp:48
static double catchNull(QString)
Definition AbstractTreeItem.cpp:221
virtual void setNextVisiblePeer(AbstractTreeItem *next)
Definition AbstractTreeItem.cpp:78
virtual void * getPointer() const =0
virtual bool isExpanded() const
Definition AbstractTreeItem.cpp:118
virtual bool isVisible() const
Definition AbstractTreeItem.cpp:148
virtual bool isDataEditable(QString columnTitle) const =0
virtual void setSelected(bool newState)
Definition AbstractTreeItem.cpp:123
virtual void setVisible(bool newState)
Definition AbstractTreeItem.cpp:143
a control measurement
Definition ControlMeasure.h:175
A single control point.
Definition ControlPoint.h:354
This is free and unencumbered software released into the public domain.
Definition BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16