Loading [MathJax]/jax/output/NativeMML/config.js
Isis 3 Developer Reference
EditTool.h
Go to the documentation of this file.
1 #ifndef EditTool_h
2 #define EditTool_h
3 
26 #include "Tool.h"
27 
28 
29 #include <QMap>
30 #include <QStack>
31 
32 
33 class QToolButton;
34 class QLine;
35 class QLineEdit;
36 class QComboBox;
37 
38 namespace Isis {
39  class Brick;
40  class Cube;
41  class MdiCubeViewport;
42 
84  class EditTool : public Tool {
85  Q_OBJECT
86 
87  public:
91  enum EditShape {
97  };
98 
99 
110  };
111 
112  EditTool(QWidget *parent);
113 
114  void addTo(Workspace *);
115 
116  signals:
117  void cubeChanged(bool);
118  void save();
119  void saveAs();
120 
121  protected:
123  QWidget *createToolBarWidget(QStackedWidget *active);
124  void updateTool();
125 
126  protected slots:
127  void mouseButtonRelease(QPoint p, Qt::MouseButton m);
128  virtual void enableRubberBandTool();
129  void rubberBandComplete();
130 
131  private slots:
132  void listenToViewport(MdiCubeViewport *);
133  void selectValType(int index);
134  void changeDn();
135  void undoEdit();
136  void undoAll(CubeViewport *vp);
137  void redoEdit();
138  void save(CubeViewport *vp);
139  void removeViewport(QObject *vp);
140 
141  private:
142  QList<QPoint *> *LineToPoints(const QLine &line);
143  void writeToCube(int iesamp, int issamp, int ieline, int isline, QList<QPoint *> *linePts);
144  QComboBox *p_shapeComboBox;
145  QComboBox *p_valTypeComboBox;
146  QLineEdit *p_dnLineEdit;
147  QToolButton *p_undoButton;
148  QToolButton *p_redoButton;
149  QToolButton *p_saveButton;
150  QToolButton *p_saveAsButton;
151 QWidget *m_container;
152  double p_dn;
153 
156  QMap <CubeViewport *, int> p_saveMarker;
157  };
158 };
159 
160 #endif
Cube display widget for certain Isis MDI applications.
Definition: MdiCubeViewport.h:53
void updateTool()
This is a virtual function belonging to the Tool class which is called when the user selects a differ...
Definition: EditTool.cpp:243
horizontal line
Definition: EditTool.h:93
QWidget * createToolBarWidget(QStackedWidget *active)
Creates the toolbar containing the edit tool widgets.
Definition: EditTool.cpp:98
High representation saturation DN value.
Definition: EditTool.h:106
User Selected DN value.
Definition: EditTool.h:104
void addTo(Workspace *)
Adds the given workspace to the cubeviewport list.
Definition: EditTool.cpp:59
Low representation saturation DN value.
Definition: EditTool.h:107
Widget to display Isis cubes for qt apps.
Definition: CubeViewport.h:132
Null DN value.
Definition: EditTool.h:105
Low instrument satruation DN value.
Definition: EditTool.h:109
rectangle
Definition: EditTool.h:96
EditShape
Enum for possible shapes.
Definition: EditTool.h:91
Interactive image edit tool.
Definition: EditTool.h:84
High instrument saturation DN value.
Definition: EditTool.h:108
void rubberBandComplete()
This method is called any time the RubberBandTool is complete.
Definition: EditTool.cpp:277
point
Definition: EditTool.h:92
start-end line
Definition: EditTool.h:95
EditTool(QWidget *parent)
Constructs and EditTool object.
Definition: EditTool.cpp:55
vertical line
Definition: EditTool.h:94
QAction * toolPadAction(ToolPad *pad)
Adds the EditTool to the tool pad.
Definition: EditTool.cpp:73
Definition: Workspace.h:90
void cubeChanged(bool)
Emitted when cube changed.
ReplacementValue
Enum for DN values.
Definition: EditTool.h:103
Definition: BoxcarCachingAlgorithm.h:29
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Base class for the Qisis tools.
Definition: Tool.h:81
void save()
Emitted when cube should be saved.
void saveAs()
Emitted when cube should be saved as another file.
virtual void enableRubberBandTool()
This method sets up the RubberBandTool depending on which mode is enabled.
Definition: EditTool.cpp:940
Definition: CubeIoHandler.h:38
void mouseButtonRelease(QPoint p, Qt::MouseButton m)
This is a slot called when any mouse button is released inside of a viewport.
Definition: EditTool.cpp:411
Definition: ToolPad.h:14

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/12/2023 23:18:01