File failed to load: https://isis.astrogeology.usgs.gov/6.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 
7 class QProgressBar;
8 
9 namespace Isis {
10  class Directory;
11  class DisplayProperties;
12  class Image;
13  class ImageList;
14  class ImageTreeWidgetItem;
15  class ProgressBar;
16 
42  class ImageTreeWidget : public QTreeWidget {
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 
QWidget
QProgressBar
Isis::ImageTreeWidgetItem
Definition: ImageTreeWidgetItem.h:20
Isis::Directory
Definition: Directory.h:271
QList< QAction * >
Isis::ImageTreeWidget::imageListTreeItem
QTreeWidgetItem * imageListTreeItem(QString imageListName)
This will get the image list tree item for the given image list (by name).
Definition: ImageTreeWidget.cpp:927
QTreeWidget
Isis::DisplayProperties
Definition: DisplayProperties.h:34
QTreeWidgetItem
Isis::ImageTreeWidget::addGroup
QTreeWidgetItem * addGroup()
Definition: ImageTreeWidget.cpp:700
Isis::ImageList
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
Isis::ImageTreeWidget::ImagePosition
Definition: ImageTreeWidget.h:82
Isis::ImageTreeWidget::mousePressEvent
void mousePressEvent(QMouseEvent *event)
This is why we needed to subclass the QTreeWidget class.
Definition: ImageTreeWidget.cpp:597
Isis::ImageTreeWidget::ImageTreeWidget
ImageTreeWidget(Directory *directory=0, QWidget *parent=0)
ImageTreeWidget constructor.
Definition: ImageTreeWidget.cpp:32
Isis::Image
This represents a cube in a project-based GUI interface.
Definition: Image.h:107
QMap
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:22
Isis::ImageTreeWidget
Definition: ImageTreeWidget.h:42
QObject
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:16:39