Isis 3 Programmer Reference
AbstractParentItem.h
1 #ifndef AbstractParentItem_H
2 #define AbstractParentItem_H
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 #include "AbstractTreeItem.h"
13 
14 
15 template< typename T > class QList;
16 class QVariant;
17 
18 
19 namespace Isis {
20 
34  class AbstractParentItem : public virtual AbstractTreeItem {
35  public:
37  virtual ~AbstractParentItem();
38 
39  virtual AbstractTreeItem *childAt(int row) const;
40  virtual QList< AbstractTreeItem * > getChildren() const;
41  virtual AbstractTreeItem *getFirstVisibleChild() const;
42  virtual AbstractTreeItem *getLastVisibleChild() const;
43  virtual int indexOf(AbstractTreeItem *child) const;
44  virtual int childCount() const;
45  virtual void addChild(AbstractTreeItem *child);
46  virtual void setFirstVisibleChild(AbstractTreeItem *child);
47  virtual void setLastVisibleChild(AbstractTreeItem *child);
48 
49 
50  private: // disable copying of this class
52  const AbstractParentItem &operator=(const AbstractParentItem &);
53 
54 
55  private:
56  QList< AbstractTreeItem * > * m_children;
57  AbstractTreeItem *m_firstVisibleChild;
58  AbstractTreeItem *m_lastVisibleChild;
59  };
60 }
61 
62 #endif
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::AbstractParentItem
Base class for an item that is a parent in the tree.
Definition: AbstractParentItem.h:34
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