Isis 3.0 Programmer Reference
Back | Home
FileTool.h
1 #ifndef FileTool_h
2 #define FileTool_h
3 
4 #include "Tool.h"
5 
6 #include <QDir>
7 #include <QPointer>
8 #include <QStringList>
9 
10 class QAction;
11 
12 namespace Isis {
13  class Brick;
14  class Buffer;
15  class Cube;
16  class CubeAttributeOutput;
17  class MdiCubeViewport;
18  class SaveAsDialog;
19 
54  class FileTool : public Tool {
55  Q_OBJECT
56 
57  public:
58  FileTool(QWidget *parent);
59  void addTo(QMenu *menu);
60  void addTo(Workspace *ws);
61  void addToPermanent(QToolBar *perm);
63  QPointer<QAction> openAction() {
64  return p_open;
65  };
67  QPointer<QAction> saveAction() {
68  return p_saveAs;
69  };
71  QDir p_dir;
73 
74 
76  QString menuName() const {
77  return "&File";
78  }
79 
80  signals:
81  void fileSelected(QString);
82 
87  void saveChanges(CubeViewport *vp);
93  void discardChanges(CubeViewport *vp);
94 
95  public slots:
96  virtual void open();
97  virtual void browse();
98  void print();
99  virtual void save();
100  virtual void saveAs();
101  virtual void saveInfo();
102  virtual void exportView();
103  virtual bool closeAll();
104  virtual void exit();
105  void enableSave(bool enable);
106  void discard();
107  void saveAsCubeByOption(QString);
108 
109  protected:
111  void updateTool();
112 
113  private:
114  static void copy(Buffer &in, Buffer &out);
115  QPointer<QAction> p_open;
116  QPointer<QAction> p_browse;
117  QPointer<QAction> p_print;
118  QPointer<QAction> p_save;
119  QPointer<QAction> p_saveAs;
120  QPointer<QAction> p_saveInfo;
121  QPointer<QAction> p_exportView;
122  QPointer<QAction> p_closeAll;
123  QPointer<QAction> p_exit;
124  QPointer<QWidget> p_parent;
125  QString p_lastDir;
126  QPointer<Workspace> p_workSpace;
127  QPointer<MdiCubeViewport> p_lastViewport;
128  QPointer<SaveAsDialog> p_saveAsDialog;
129 
131  void saveAsFullImage(Cube *icube, Cube *ocube);
132 
134  void copyCubeDetails(const QString & psFileName, Cube *icube,
135  Cube *ocube, int piNumSamples, int piNumLines, int piNumBands);
136 
138  void saveAs_AsIs(Cube *icube, const QString & psOutFile);
139 
141  void saveAs_FullResolution(Cube *pInCube, Cube *pOutCube,
142  int pNumSamples, int pNumLines);
143 
145  void saveAsEnlargedCube(Cube *icube, const QString & psOutFile);
146 
148  void saveAsReducedCube (Cube *icube, const QString & psOutFile);
149  };
150 };
151 
152 #endif
QPointer< QAction > p_browse
Action to browse and open files.
Definition: FileTool.h:116
Buffer for reading and writing cube data.
Definition: Buffer.h:68
void saveChanges(CubeViewport *vp)
This signal is called when changes should be saved.
QPointer< QAction > p_exportView
Action to export the view as a picture.
Definition: FileTool.h:121
QPointer< QAction > saveAction()
Returns the save as action.
Definition: FileTool.h:67
void fileSelected(QString)
This signal is called when a file is selected.
void discard()
This slot emits a signal to discard all changes to the current viewport.
Definition: FileTool.cpp:753
virtual void open()
This method allows the user to navigate and open a cube with a file dialog.
Definition: FileTool.cpp:197
QDir p_dir
Directory.
Definition: FileTool.h:71
QStringList p_fileList
File list.
Definition: FileTool.h:72
QStringList p_filterList
Filter List.
Definition: FileTool.h:69
QPointer< QAction > openAction()
Returns the open action.
Definition: FileTool.h:63
void discardChanges(CubeViewport *vp)
This signal is called when changes should be discarded.
static void copy(Buffer &in, Buffer &out)
This method copies from the input buffer to the output buffer.
Definition: FileTool.cpp:744
virtual void saveInfo()
Saves the whatsthis info of the cubeviewport.
Definition: FileTool.cpp:711
QPointer< QAction > p_open
Action to open a file.
Definition: FileTool.h:115
void saveAsFullImage(Cube *icube, Cube *ocube)
Save Image in its entirety to an output file.
Definition: FileTool.cpp:627
void enableSave(bool enable)
This slot enables or disables save and save as.
Definition: FileTool.cpp:882
virtual bool closeAll()
Try to close all open cubes and save/discard if necessary.
Definition: FileTool.cpp:843
void addTo(QMenu *menu)
Adds the file tool&#39;s actions to the menu.
Definition: FileTool.cpp:155
void print()
This method allows the user to print the current viewport.
Definition: FileTool.cpp:808
virtual void save()
This method saves any changes made to the current cube, these changes are finalized! There is no undo...
Definition: FileTool.cpp:238
void addToPermanent(QToolBar *perm)
Adds the file tool&#39;s actions to the permanent toolbar.
Definition: FileTool.cpp:186
void saveAsEnlargedCube(Cube *icube, const QString &psOutFile)
Save image AsIs Enlarged into output.
Definition: FileTool.cpp:387
Widget to display Isis cubes for qt apps.
Definition: CubeViewport.h:121
virtual void browse()
This method allows the user to navigate and browse cubes with a file dialog .
Definition: FileTool.cpp:217
QString menuName() const
Returns the menu name for the file tool.
Definition: FileTool.h:76
QPointer< QAction > p_exit
Action to exit qview.
Definition: FileTool.h:123
virtual void saveAs()
SaveAs Action - Displays the FileDialog with the filterlist (*.cub) to select the output cube...
Definition: FileTool.cpp:263
virtual void exportView()
This method allows the user to export the current view as an image file.
Definition: FileTool.cpp:761
QPointer< QAction > p_print
Action to print the current view.
Definition: FileTool.h:117
void updateTool()
Updates the tool.
Definition: FileTool.cpp:890
void saveAs_AsIs(Cube *icube, const QString &psOutFile)
Save image AsIs (As viewed in the viewport window) into output file.
Definition: FileTool.cpp:493
void saveAsCubeByOption(QString)
Save as Isis Cube (FullImage, AsIs, FullRes)
Definition: FileTool.cpp:295
QPointer< QAction > p_save
Action to save the current cube.
Definition: FileTool.h:118
void saveAs_FullResolution(Cube *pInCube, Cube *pOutCube, int pNumSamples, int pNumLines)
Save image Full Resolution (image viewed in the viewport window) into output.
Definition: FileTool.cpp:664
FileTool(QWidget *parent)
Constructs a FileTool object.
Definition: FileTool.cpp:44
void copyCubeDetails(const QString &psFileName, Cube *icube, Cube *ocube, int piNumSamples, int piNumLines, int piNumBands)
Copy input cube details into output file given its dimensions.
Definition: FileTool.cpp:519
virtual void exit()
Exit the program, this slot called when the exit is chosen from the File menu.
Definition: FileTool.cpp:870
QPointer< QWidget > p_parent
The parent widget of this object.
Definition: FileTool.h:124
QPointer< Workspace > p_workSpace
The workspace being used.
Definition: FileTool.h:126
void saveAsReducedCube(Cube *icube, const QString &psOutFile)
Save image AsIs Reduced into output.
Definition: FileTool.cpp:433
Base class for the Qisis tools.
Definition: Tool.h:81
QPointer< QAction > p_saveAs
Action save the current cube as a user specified file.
Definition: FileTool.h:119
QPointer< QAction > p_closeAll
Action to close all windows.
Definition: FileTool.h:122
QPointer< SaveAsDialog > p_saveAsDialog
SaveAs Dialog with different save options.
Definition: FileTool.h:128
QPointer< MdiCubeViewport > p_lastViewport
The last cubeviewport that was used.
Definition: FileTool.h:127
QPointer< QAction > p_saveInfo
Action to save the current cube&#39;s Whatsthis info.
Definition: FileTool.h:120
IO Handler for Isis Cubes.
Definition: Cube.h:158
QString p_lastDir
The last directory opened.
Definition: FileTool.h:125

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 ISIS Support Center
File Modified: 07/12/2023 23:18:12