File failed to load: https://isis.astrogeology.usgs.gov/9.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
ImageTreeWidget.h
1#ifndef ImageTreeWidget_H
2#define ImageTreeWidget_H
3
4#include <QPointer>
5#include <QTreeWidget>
6
7class QProgressBar;
8
9namespace Isis {
10 class Directory;
12 class Image;
13 class ImageList;
15 class ProgressBar;
16
43 Q_OBJECT
44
45 public:
46
47 enum TreeItemContainerType {
48 ImageGroupType = 1,
49 ImageListNameType
50 };
51
52 ImageTreeWidget(Directory *directory = 0, QWidget *parent = 0);
53 virtual ~ImageTreeWidget();
54
55 QList<QAction *> actions();
56
57 QTreeWidgetItem *addGroup(QString imageListName, QString groupName = "", int index = -1);
58
59 QTreeWidgetItem *createGroup(QTreeWidgetItem *imageListItem, QString groupName = "",
60 int index = -1);
61 QTreeWidgetItem *createImageListNameItem(QString name);
62
63 void refit();
64
65 void disableSort();
66 void enqueueReadDisplayProperties(ImageTreeWidgetItem *);
67
68 QList<QAction *> getViewActions();
69 bool groupInList(QList<QTreeWidgetItem *>);
70 void updateViewActs();
71
72 ImageTreeWidgetItem *prepCube(ImageList *imageList, Image *image);
73
74 ImageList imagesInView();
75
76 public:
82 class ImagePosition {
83 public:
84 ImagePosition();
85 ImagePosition(int outerIndex, int innerIndex);
86 ImagePosition(const ImagePosition &other);
87
88 virtual ~ImagePosition();
89
90 void setPosition(int outerIndex, int innerIndex);
91
92 int group() const;
93 int index() const;
94 bool isValid() const;
95
96 void swap(ImagePosition &other);
97
98 bool operator<(const ImagePosition &rhs);
99 ImagePosition &operator=(const ImagePosition &rhs);
100
101 private:
102 void init();
103
104 private:
105 int m_group;
106 int m_index;
107 };
108
109 signals:
110 void queueSelectionChanged();
111 void queueReadDisplayProperties();
112
113 protected:
114 void dropEvent(QDropEvent *event);
115 void mousePressEvent(QMouseEvent *event);
116 void contextMenuEvent(QContextMenuEvent *event);
117
118 private slots:
120 void deleteSelectedGroups();
121 void imageDeleted(QObject *image);
122 void onItemChanged(QTreeWidgetItem *, int);
123 void onSelectionChanged();
124 void onQueuedReadDisplayProperties();
125 void onQueuedSelectionChanged();
126 void propertiesChanged(DisplayProperties *);
127 void renameSelectedGroup();
128 void requestCloseSelected();
129 void toggleColumnVisible();
130 void updateDragAndDropability();
131 void setDefaultFileListCols();
132
133 private:
134 bool mosaicItemInList(QList<QTreeWidgetItem *>);
135 ImageList selectedDisplays();
136
137 QTreeWidgetItem *imageListTreeItem(QString imageListName);
139 ImageTreeWidgetItem *treeItem(Image *);
140
141 Directory *m_directory;
142 QList<QAction *> m_viewActs;
143 QPointer<QAction> m_setFileListColsAct;
144 QMap<DisplayProperties *, ImageTreeWidgetItem *> m_displayPropsToTreeItemLookup;
145 bool m_queuedSelectionChanged;
146
147 QList<ImageTreeWidgetItem *> m_queuedReadDisplayPropertiesItems;
148 };
149};
150
151#endif
152
This represents a cube in a project-based GUI interface.
Definition Image.h:105
Internalizes a list of images and allows for operations on the entire list.
Definition ImageList.h:53
void mousePressEvent(QMouseEvent *event)
This is why we needed to subclass the QTreeWidget class.
QTreeWidgetItem * addGroup()
ImageTreeWidget(Directory *directory=0, QWidget *parent=0)
ImageTreeWidget constructor.
QTreeWidgetItem * imageListTreeItem(QString imageListName)
This will get the image list tree item for the given image list (by name).
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16