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 
13 class QLabel;
14 class QLineEdit;
15 class QProgressBar;
16 class QSettings;
17 class QToolBar;
18 class QTreeWidgetItem;
19 
20 namespace Isis {
21  class Directory;
22  class ImageTreeWidgetItem;
23  class ProgressBar;
24 
64  class ImageFileListWidget : public QWidget {
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 load(XmlStackedHandlerReader *xmlReader);
74  void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const;
75 
79 
80  static QWidget *getLongHelp(QWidget *fileListContainer = NULL);
81 
82  public slots:
83  void addImages(ImageList *images);
84  void removeImages(ImageList *images);
85  void clear();
86  void filterFileList();
87 
88  protected:
89  void contextMenuEvent(QContextMenuEvent *event);
90 
91  private slots:
92  void saveList();
93 
94  private:
95  void save(QXmlStreamWriter &stream, QTreeWidgetItem *itemToWrite) const;
96 
97  ImageTreeWidget::ImagePosition find(const Image *image) const;
98  void restoreExpandedStates(QVariant expandedStates, QTreeWidgetItem *item);
99  QVariant saveExpandedStates(QTreeWidgetItem *item);
100 
101  private:
107  class XmlHandler : public XmlStackedHandler {
108  public:
109  XmlHandler(ImageFileListWidget *fileList);
110  ~XmlHandler();
111 
112  virtual bool startElement(const QString &namespaceURI, const QString &localName,
113  const QString &qName, const QXmlAttributes &atts);
114  virtual bool endElement(const QString &namespaceURI, const QString &localName,
115  const QString &qName);
116 
117  private:
118  Q_DISABLE_COPY(XmlHandler);
119 
124  };
125 
126  private:
127  QPointer<ProgressBar> m_progress;
128  QScopedPointer<PvlObject> m_serialized;
130 
132  QLineEdit *m_searchLineEdit;
133  QLabel *m_fileCount;
134 
135 
138  };
139 }
140 
141 #endif
QPointer< ProgressBar > m_progress
The ProgressBar of the ImageFileListWidget Serialized (file) version of this object.
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:55
The main project for ipce.
Definition: Project.h:289
ImageFileListWidget * m_fileList
The widget we are working with.
ImageList * m_currentImageList
The list of images being worked on.
XmlHandler(ImageFileListWidget *fileList)
Creates a XmlHandler for fileList.
File name manipulation and expansion.
Definition: FileName.h:116
QToolBar * m_searchToolbar
Tool bar for the FileList widget to search.
ImageFileListWidget(Directory *directory=0, QWidget *parent=0)
Constructor.
void load(XmlStackedHandlerReader *xmlReader)
This method pushes a new XmlHandler into the parser stack.
QTreeWidgetItem * m_currentGroup
The group of cubes being worked on.
Directory * m_directory
The directory of the project.
void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
This method saves the FootprintColumns in the project and the settings associated with every column...
virtual ~ImageFileListWidget()
Destructor.
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
This method calls XmlStackedHandler&#39;s startElement() and retrieves attributes from atts according to ...
PvlObject toPvl() const
This method writes the state of this class to a pvl.
void saveList()
This method saves the list to the choosen output file.
void restoreExpandedStates(QVariant expandedStates, QTreeWidgetItem *item)
This method returns the QTreeWidgetItem to it&#39;s expanded state.
QList< QAction * > getExportActions()
This method creates a new QAction which is connected and when triggered will save the cube list...
QProgressBar * getProgress()
This method returns the progress bar.
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...
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
This method calls XmlStackedHandler&#39;s endElement() and dereferences pointers according to the value o...
XML Handler that parses XMLs in a stack-oriented way.
void addImages(ImageList *images)
This method adds the new images to the tree.
This represents a cube in a project-based GUI interface.
Definition: Image.h:107
QList< QAction * > getViewActions()
This method calls ImageTreeWidget::getViewActions() which returns a list of FootprintColumns.
QTreeWidgetItem * m_currentImageListItem
The image being worked on.
static QWidget * getLongHelp(QWidget *fileListContainer=NULL)
This method creates a QWidget that displays a long help message explaining the tool.
A colored, grouped cube list.
void fromPvl(PvlObject &pvl)
This method loads the state of this class from the pvl.
QList< QAction * > actions()
This method calls ImageTreeWidget::actions() which sets up a QAction that sets a default for the file...
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
QVariant saveExpandedStates(QTreeWidgetItem *item)
This method saves the the expanded state of item.
ImageTreeWidget * m_tree
Tree item associated with this mosaic item.
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
ImageTreeWidget::ImagePosition find(const Image *image) const
This method takes an image and finds it&#39;s position.
Manage a stack of content handlers for reading XML files.