25#include <QInputDialog>
28#include "CorrelationMatrix.h"
30#include "IException.h"
31#include "MatrixSceneWidget.h"
44 QAction::setText( tr(
"View Correlation &Matrix...") );
55 qDebug() <<
"matrix good?";
101 if ( existingViews.count() ) {
102 for (
int i = 0; i < existingViews.count(); i++) {
103 viewOptions.append( existingViews[i]->windowTitle() );
107 viewOptions.append( tr(
"New Matrix View") );
109 if (viewOptions.count() > 1) {
110 QString selected = QInputDialog::getItem(NULL, tr(
"View to see matrix in"),
111 tr(
"Which view would you like your\nmatrix to be put into?"),
112 viewOptions, viewOptions.count() - 1,
false, &success);
114 viewToUse = viewOptions.indexOf(selected);
117 viewToUse = viewOptions.count() - 1;
120 bool newView =
false;
121 if (viewToUse == viewOptions.count() - 1) {
124 QUndoCommand::setText( tr(
"View matrix in new matrix view") );
127 else if (viewToUse != -1) {
132 corrMat.computeCorrelationMatrix();
133 matrixView->setUpOptions(corrMat);
134 matrixView->drawElements(corrMat);
135 matrixView->drawGrid(corrMat);
140 internalData.append(newView?
"new view" :
"existing view");
173 corrMat.computeCorrelationMatrix();
174 matrixViewToUse->setUpOptions(corrMat);
175 matrixViewToUse->drawElements(corrMat);
176 matrixViewToUse->drawGrid(corrMat);
177 if (matrixViewToUse == NULL) {
178 QString msg =
"The Correlation Matrix for this bundle could not be displayed";
185 QMessageBox::critical(NULL, tr(
"Error"), tr(e.what()));
This is a container for the correlation matrix that comes from a bundle adjust.
bool isValid()
This is the public accessor for the list of elements that should be displayed in the current view.
MatrixSceneWidget * addMatrixView()
Add the matrix view widget to the window.
QList< MatrixSceneWidget * > matrixViews()
Accessor for the list of MatrixSceneWidgets currently available.
@ Programmer
This error is for when a programmer made an API call that was illegal.
This work order will open a MatrixSceneWidget and display the correlation matrix.
~MatrixViewWorkOrder()
Destructor.
bool dependsOn(WorkOrder *other) const
This method returns true if other depends on a MatrixViewWorkOrder.
MatrixViewWorkOrder(Project *project)
This method sets the text of the work order.
void execute()
This method computes and displays the correlation matrix.
void undoExecution()
This method deletes the last matrix viewed.
bool setupExecution()
If WorkOrder::execute() returns true, a new matrix view is created.
virtual bool isExecutable(CorrelationMatrix matrix)
This check is used by Directory::supportedActions(DataType data).
virtual MatrixViewWorkOrder * clone() const
This method clones the MatrixViewWorkOrder.
The main project for ipce.
Directory * directory() const
Returns the directory associated with this Project.
void setClean(bool value)
Function to change the clean state of the project.
Provide Undo/redo abilities, serialization, and history for an operation.
bool m_isSavedToHistory
Set the work order to be shown in the HistoryTreeWidget.
@ WorkOrderFinished
This is used for work orders that will not undo or redo (See createsCleanState())
virtual bool setupExecution()
This sets up the state for the work order.
QStringList internalData() const
Gets the internal data for this WorkOrder.
void setInternalData(QStringList data)
Sets the internal data for this WorkOrder.
Project * project() const
Returns the Project this WorkOrder is attached to.
CorrelationMatrix correlationMatrix()
Returns the CorrleationMatrix for this WorkOrder.
This is free and unencumbered software released into the public domain.