Isis Developer Reference
CubeDnView.h
Go to the documentation of this file.
1#ifndef CubeDnView_h
2#define CubeDnView_h
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include <QList>
13#include <QMap>
14#include <QWidgetAction>
15
17#include "FileName.h"
18
19class QAction;
20class QMenu;
21class QModelIndex;
22class QToolBar;
23class QXmlStreamWriter;
24class QWidget;
25
26namespace Isis {
27
28 class ControlPoint;
29 class Cube;
30 class Directory;
31 class Image;
32 class ImageList;
33 class MdiCubeViewport;
34 class Project;
35 class ToolPad;
36 class Workspace;
37 class ProjectItemViewMenu;
38
96
97 Q_OBJECT
98
99 public:
100 CubeDnView(Directory *directory, QWidget *parent=0);
101 ~CubeDnView();
102
104
105 void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const;
106
107 signals:
108 void modifyControlPoint(ControlPoint *controlPoint, QString serialNumber);
109 void deleteControlPoint(ControlPoint *controlPoint);
110 void createControlPoint(double latitude, double longitude, Cube *cube,
111 bool isGroundSource = false);
112
113 void controlPointAdded(QString newPointId);
115
116 public slots:
117 void addItem(ProjectItem *item);
118 void enableControlNetTool(bool value);
119
120 private slots:
121 void createActions(Directory *directory);
122
123 void onCurrentChanged(const QModelIndex &current);
124 void onCubeViewportActivated(MdiCubeViewport *);
125 void onItemAdded(ProjectItem *item);
126 void onCubeViewportAdded(MdiCubeViewport *viewport);
127 void onCubeViewportDeleted(QObject *obj);
128 void disableActions();
129
130 private:
131 Cube *workspaceActiveCube();
132 void setWorkspaceActiveCube(Image *image);
133 void leaveEvent(QEvent *event);
134 void enableActions();
135
136 private:
137 QMap<Cube *, ProjectItem *> m_cubeItemMap;
138 Workspace *m_workspace;
139 Directory *m_directory;
140
141 ProjectItemViewMenu *m_viewMenu;
142 ProjectItemViewMenu *m_optionsMenu;
143 ProjectItemViewMenu *m_windowMenu;
144
145 QAction *m_separatorAction;
146
147 QToolBar *m_permToolBar;
148 QToolBar *m_activeToolBar;
149 ToolPad *m_toolPad;
150 QList<QWidget *> m_childWidgets;
151 };
152}
153
154#endif
AbstractProjectItemView is a base class for views of a ProjectItemModel in Qt's model-view framework.
Definition AbstractProjectItemView.h:79
A single control point.
Definition ControlPoint.h:356
View that displays cubes in a QView-like way.
Definition CubeDnView.h:95
bool viewportContainsShape(MdiCubeViewport *viewport)
Definition CubeDnView.cpp:364
void controlPointAdded(QString newPointId)
void createControlPoint(double latitude, double longitude, Cube *cube, bool isGroundSource=false)
void save(QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
Definition CubeDnView.cpp:532
void deleteControlPoint(ControlPoint *controlPoint)
void addItem(ProjectItem *item)
Adds an item to the view.
Definition CubeDnView.cpp:355
CubeDnView(Directory *directory, QWidget *parent=0)
Constructs the view, initializing the tools.
Definition CubeDnView.cpp:80
void modifyControlPoint(ControlPoint *controlPoint, QString serialNumber)
~CubeDnView()
Destructor.
Definition CubeDnView.cpp:331
void enableControlNetTool(bool value)
A slot function that is called when directory emits a signal that an active control network is set.
Definition CubeDnView.cpp:316
IO Handler for Isis Cubes.
Definition Cube.h:168
Definition Directory.h:271
File name manipulation and expansion.
Definition FileName.h:100
This represents a cube in a project-based GUI interface.
Definition Image.h:105
Cube display widget for certain Isis MDI applications.
Definition MdiCubeViewport.h:39
The main project for ipce.
Definition Project.h:287
Represents an item of a ProjectItemModel in Qt's model-view framework.
Definition ProjectItem.h:134
QMenu subclass that overrides the closeEvent.
Definition ProjectItemViewMenu.h:26
Definition ToolPad.h:14
Definition Workspace.h:78
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16