Isis 3 Programmer Reference
ImageFileListWidget.h
1#ifndef ImageFileListWidget_H
2#define ImageFileListWidget_H
3
4#include <QWidget>
5
6#include <QPointer>
7#include <QScopedPointer>
8
9#include "ImageList.h"
10#include "ImageTreeWidget.h"
11#include "PvlObject.h"
12
13class QLabel;
14class QLineEdit;
15class QProgressBar;
16class QSettings;
17class QToolBar;
18class QTreeWidgetItem;
19
20namespace Isis {
21 class Directory;
22 class ImageTreeWidgetItem;
23 class ProgressBar;
24
65 Q_OBJECT
66 public:
67 ImageFileListWidget(Directory *directory = 0, QWidget *parent = 0);
68 virtual ~ImageFileListWidget();
69
71 void fromPvl(PvlObject &pvl);
72 PvlObject toPvl() const;
73 void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const;
74
75 QList<QAction *> actions();
76 QList<QAction *> getViewActions();
77 QList<QAction *> getExportActions();
78
79 static QWidget *getLongHelp(QWidget *fileListContainer = NULL);
80
81 public slots:
82 void addImages(ImageList *images);
83 void removeImages(ImageList *images);
84 void clear();
85 void filterFileList();
86
87 protected:
88 void contextMenuEvent(QContextMenuEvent *event);
89
90 private slots:
91 void saveList();
92
93 private:
94 void save(QXmlStreamWriter &stream, QTreeWidgetItem *itemToWrite) const;
95
96 ImageTreeWidget::ImagePosition find(const Image *image) const;
97 void restoreExpandedStates(QVariant expandedStates, QTreeWidgetItem *item);
98 QVariant saveExpandedStates(QTreeWidgetItem *item);
99
100 private:
101 QPointer<ProgressBar> m_progress;
103 QScopedPointer<PvlObject> m_serialized;
104
106 QLineEdit *m_searchLineEdit;
107 QLabel *m_fileCount;
108
109
112 };
113}
114
115#endif
File name manipulation and expansion.
Definition FileName.h:100
A colored, grouped cube list.
QToolBar * m_searchToolbar
Tool bar for the FileList widget to search.
void restoreExpandedStates(QVariant expandedStates, QTreeWidgetItem *item)
This method returns the QTreeWidgetItem to it's expanded state.
virtual ~ImageFileListWidget()
Destructor.
void addImages(ImageList *images)
This method adds the new images to the tree.
QList< QAction * > actions()
This method calls ImageTreeWidget::actions() which sets up a QAction that sets a default for the file...
ImageTreeWidget::ImagePosition find(const Image *image) const
This method takes an image and finds it's position.
QPointer< ProgressBar > m_progress
The ProgressBar of the ImageFileListWidget Serialized (file) version of this object.
void saveList()
This method saves the list to the choosen output file.
QVariant saveExpandedStates(QTreeWidgetItem *item)
This method saves the the expanded state of item.
void removeImages(ImageList *images)
Removes an imagelist from the FileListWidget.
void contextMenuEvent(QContextMenuEvent *event)
This method takes an event and gets all of the FootprintColumns, adds them to the menu,...
PvlObject toPvl() const
This method writes the state of this class to a pvl.
static QWidget * getLongHelp(QWidget *fileListContainer=NULL)
This method creates a QWidget that displays a long help message explaining the tool.
QList< QAction * > getViewActions()
This method calls ImageTreeWidget::getViewActions() which returns a list of FootprintColumns.
ImageTreeWidget * m_tree
Tree item associated with this mosaic item.
ImageFileListWidget(Directory *directory=0, QWidget *parent=0)
Constructor.
Directory * m_directory
The directory of the project.
QProgressBar * getProgress()
This method returns the progress bar.
void fromPvl(PvlObject &pvl)
This method loads the state of this class from the pvl.
void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
This method saves the FootprintColumns in the project and the settings associated with every column.
QList< QAction * > getExportActions()
This method creates a new QAction which is connected and when triggered will save the cube list.
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
The main project for ipce.
Definition Project.h:287
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16