Isis 3 Programmer Reference
TargetGetInfoWorkOrder.cpp
Go to the documentation of this file.
1 
23 #include "TargetGetInfoWorkOrder.h"
24 
25 #include <QFileDialog>
26 #include <QInputDialog>
27 #include <QtDebug>
28 
29 #include "Directory.h"
30 #include "IException.h"
31 #include "Project.h"
32 #include "TargetBody.h"
33 #include "TargetInfoWidget.h"
34 
35 namespace Isis {
36 
46  WorkOrder(project) {
47  QAction::setText(tr("Get Info...") );
48  // This work order is not undoable
49  m_isUndoable = false;
50  m_isSavedToHistory = false;
51  }
52 
53 
59  WorkOrder(other) {
60  }
61 
62 
67  }
68 
69 
75  return new TargetGetInfoWorkOrder(*this);
76  }
77 
78 
90  if (!targetBody)
91  return false;
92 
93  // if we already have a view for this target, don't redisplay
95  for (int i = 0; i < existingViews.size(); i++) {
96  if (existingViews.at(i)->objectName() == targetBody->displayProperties()->displayName() )
97  return false;
98  }
99 
100  return true;
101  }
102 
103 
112  bool success = WorkOrder::setupExecution();
113 
114  if (success) {
115  QString targetDisplayName = targetBody()->displayProperties()->displayName();
116  QUndoCommand::setText(tr("Get %1 target info").arg(targetDisplayName));
117 
119  internalData.append(targetDisplayName);
121  }
122 
123  return success;
124  }
125 
126 
133 
134  TargetInfoWidget *targetInfoWidget =
136 
137  if (!targetInfoWidget) {
138  QString msg = "error displaying target info";
140  }
141  }
142 
143 
150  // depend on types of ourselves.
151  return dynamic_cast<TargetGetInfoWorkOrder *>(other);
152  }
153 }
TargetGetInfoWorkOrder(Project *project)
Creates a WorkOrder that will retrieve Target info.
The main project for ipce.
Definition: Project.h:289
virtual bool setupExecution()
This sets up the state for the work order.
Definition: WorkOrder.cpp:1275
TargetInfoWidget * addTargetInfoView(TargetBodyQsp target)
Add target body data view widget to the window.
Definition: Directory.cpp:959
bool dependsOn(WorkOrder *other) const
Determines whether another WorkOrder depends upon TargetGetInfoWorkOrder.
virtual TargetGetInfoWorkOrder * clone() const
Returns a copy of this TargetGetInfoWorkOrder instance.
This work order allows the user to view target body info.
virtual bool isExecutable(TargetBodyQsp targetBody)
Determines if we can get target info.
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:162
QList< TargetInfoWidget * > targetInfoViews()
Accessor for the list of TargetInfoWidgets currently available.
Definition: Directory.cpp:1394
TargetBodyQsp targetBody()
WorkOrder::targetBody.
Definition: WorkOrder.cpp:760
Directory * directory() const
Returns the directory associated with this Project.
Definition: Project.cpp:1229
Provide Undo/redo abilities, serialization, and history for an operation.
Definition: WorkOrder.h:322
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:40
Widget for displaying information about a target.
bool m_isUndoable
Set the workorder to be undoable/redoable This is defaulted to true - his will allow the workorder to...
Definition: WorkOrder.h:534
virtual void execute()
Executes this work order.
Isis exception class.
Definition: IException.h:107
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Project * project() const
Returns the Project this WorkOrder is attached to.
Definition: WorkOrder.cpp:1314
virtual bool setupExecution()
Attempt to retrieve the Target info.
bool m_isSavedToHistory
Set the work order to be shown in the HistoryTreeWidget.
Definition: WorkOrder.h:548
QStringList internalData() const
Gets the internal data for this WorkOrder.
Definition: WorkOrder.cpp:1391
void setInternalData(QStringList data)
Sets the internal data for this WorkOrder.
Definition: WorkOrder.cpp:1332