Isis 3 Programmer Reference
SensorGetInfoWorkOrder.cpp
Go to the documentation of this file.
1
24
25#include <QtDebug>
26
27#include <QFileDialog>
28#include <QInputDialog>
29
30#include "Directory.h"
31#include "IException.h"
32#include "Project.h"
33#include "GuiCamera.h"
34#include "SensorInfoWidget.h"
35
36namespace Isis {
37
44 WorkOrder(project) {
45 QAction::setText(tr("Get Info...") );
46 // Currently undo is not implemented.
47 m_isUndoable =false;
48 m_isSavedToHistory = false;
49 }
50
51
59
60
66
67
75
76
87 if (!guiCamera)
88 return false;
89
90 // if we already have a view for this camera, don't redisplay
91 QList<SensorInfoWidget *> existingViews = project()->directory()->sensorInfoViews();
92 for (int i = 0; i < existingViews.size(); i++) {
93 if (existingViews.at(i)->objectName() == guiCamera->displayProperties()->displayName() )
94 return false;
95 }
96
97 return true;
98 }
99
100
107 bool success = WorkOrder::setupExecution();
108
109 if (success) {
110 QString sensorDisplayName = guiCamera()->displayProperties()->displayName();
111 QUndoCommand::setText(tr("Get %1 sensor info").arg(sensorDisplayName) );
112
114 internalData.append(sensorDisplayName);
116 }
117
118 return success;
119 }
120
121
128 // depend on types of ourselves.
129 return dynamic_cast<SensorGetInfoWorkOrder *>(other);
130 }
131
132
137
138 SensorInfoWidget *sensorInfoWidget =
140
141
142 if (!sensorInfoWidget) {
143 QString msg = "error displaying sensor info";
144 throw IException(IException::Programmer, msg, _FILEINFO_);
145 }
146 }
147
148
153 //delete project()->directory()->cnetEditorViews().last();
154 }
155}
QList< SensorInfoWidget * > sensorInfoViews()
Accessor for the list of SensorInfoWidgets currently available.
SensorInfoWidget * addSensorInfoView(GuiCameraQsp camera)
Add sensor data view widget to the window.
Isis exception class.
Definition IException.h:91
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition IException.h:146
The main project for ipce.
Definition Project.h:289
Directory * directory() const
Returns the directory associated with this Project.
Definition Project.cpp:1228
This is a child of class WorkOrder which is used for anything that performs an action in a Project.
bool setupExecution()
Attempts to retrieve target body info from the camera and display it in a view.
void execute()
Redisplays the sensor view.
virtual bool isExecutable(GuiCameraQsp camera)
Determine if we already have a view for this camera.
void undoExecution()
Deletes the last view.
virtual SensorGetInfoWorkOrder * clone() const
Returns a copy of the current instance of this WorkOrder.
SensorGetInfoWorkOrder(Project *project)
Creates a WorkOrder that will retrieve target body info.
bool dependsOn(WorkOrder *other) const
Determines whether a WorkOrder depends upon SensorGetInfoWorkerOrder.
Widget for displaying information about a sensor.
Provide Undo/redo abilities, serialization, and history for an operation.
Definition WorkOrder.h:311
bool m_isSavedToHistory
Set the work order to be shown in the HistoryTreeWidget.
Definition WorkOrder.h:537
bool m_isUndoable
Set the workorder to be undoable/redoable This is defaulted to true - his will allow the workorder to...
Definition WorkOrder.h:523
virtual bool setupExecution()
This sets up the state for the work order.
QStringList internalData() const
Gets the internal data for this WorkOrder.
GuiCameraQsp guiCamera()
WorkOrder::guiCamera.
void setInternalData(QStringList data)
Sets the internal data for this WorkOrder.
Project * project() const
Returns the Project this WorkOrder is attached to.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16