Isis Developer Reference
Isis::MatrixSceneWidget Class Reference

This widget encompasses the entire matrixDisplay scene. More...

#include <MatrixSceneWidget.h>

Inheritance diagram for Isis::MatrixSceneWidget:
Inheritance graph
Collaboration diagram for Isis::MatrixSceneWidget:
Collaboration graph

Public Slots

void redrawElements ()
 Redraw matrix when the focus is changed. More...
 

Signals

void mouseEnter ()
 Emitted when mouse enters widget focus. More...
 
void mouseMove (QPointF)
 Emitted when mouse moves in widget. More...
 
void mouseLeave ()
 Emitted when mouse leaves widget focus. More...
 
void mouseDoubleClick (QPointF)
 Emitted when handling a mouse double-click. More...
 
void mouseButtonPress (QPointF, Qt::MouseButton s)
 Emitted when mouse is pressed. More...
 
void mouseButtonRelease (QPointF, Qt::MouseButton s)
 Emitted when mouse button released. More...
 
void mouseWheel (QPointF, int delta)
 Emitted when mouse wheel is activated Emitted when rubber band selection is complete. More...
 
void rubberBandComplete (QRectF r, Qt::MouseButton s)
 
void visibleRectChanged (QRectF)
 Emitted when the visible rectangle is changed. More...
 
void elementsChanged ()
 Emitted when an element of the widget is changed. More...
 
void queueSelectionChanged ()
 Emitted when selection is changed. More...
 
void elementClicked (QString)
 Emitted when an element of the widget is clicked. More...
 

Public Member Functions

 MatrixSceneWidget (QStatusBar *status, bool showTools, bool internalizeToolBarsAndProgress, Directory *directory, QWidget *parent=0)
 Constructor, creates a matrix scene widget. More...
 
virtual ~MatrixSceneWidget ()
 Default Destructor. More...
 
MatrixGraphicsViewgetView () const
 Accessor for the QGraphicsView. More...
 
QGraphicsScenegetScene () const
 Accessor for the QGraphicsScene. More...
 
bool contextMenuEvent (QGraphicsSceneContextMenuEvent *event)
 This is called by MatrixGraphicsScene::contextMenuEvent. More...
 
void drawGrid (CorrelationMatrix corrMatrix)
 Draw the lines that will show the columns and blocks for each image. More...
 
void drawElements (CorrelationMatrix corrMatrix)
 Draw elements. More...
 
QProgressBargetProgress ()
 Accessor for the widget's progress bar. More...
 
PvlObject toPvl () const
 
void fromPvl (const PvlObject &)
 
QRectF elementsBoundingRect () const
 Returns the bounding rectangle for the images. More...
 
Directorydirectory () const
 Accessor for the directory. More...
 
QList< QAction * > getViewActions ()
 Accessor for the view actions. More...
 
QList< QAction * > supportedActions (CorrelationMatrix *matrix)
 Get a list of applicable actions for the elements in this scene. More...
 
void redrawItems ()
 Redraws all the items in the view. More...
 
void setUpOptions (CorrelationMatrix corrMat)
 Change item colors when options are changed. More...
 
template<typename DataType >
QList< QAction * > supportedActions (DataType)
 Return an empty list of actions for unknown data types. More...
 

Protected Member Functions

virtual bool eventFilter (QObject *obj, QEvent *ev)
 Pick the relevant actions given the type of event that occured in the scene. More...
 

Detailed Description

This widget encompasses the entire matrixDisplay scene.

This widget is a self-contained view of the correlation matrix resulting from a bundle adjust. It uses Qt's graphics scene/view framework. This widget holds the graphics scene, view, and items. It will also hold the options dialog for the matrix.

Author
2014-05-10 Kimberly Oyama

Constructor & Destructor Documentation

◆ MatrixSceneWidget()

Isis::MatrixSceneWidget::MatrixSceneWidget ( QStatusBar *  status,
bool  showTools,
bool  internalizeToolBarsAndProgress,
Directory directory,
QWidget parent = 0 
)

Constructor, creates a matrix scene widget.

Parameters
statusPointer to an existing status bar
showToolsWhether or not create a matrix scene or matrix world view
internalizeToolBarsAndProgressWhether or not to show progress and status
directoryThe directory of the current project
parentQPointer to the parent widget

References directory(), Isis::MatrixGraphicsView::enableResizeZooming(), and getView().

◆ ~MatrixSceneWidget()

Isis::MatrixSceneWidget::~MatrixSceneWidget ( )
virtual

Default Destructor.

Member Function Documentation

◆ contextMenuEvent()

bool Isis::MatrixSceneWidget::contextMenuEvent ( QGraphicsSceneContextMenuEvent *  event)

This is called by MatrixGraphicsScene::contextMenuEvent.

Parameters
eventThe context menu event
Returns
bool false if not handled, true if handled.

References getScene().

◆ directory()

Directory * Isis::MatrixSceneWidget::directory ( ) const

Accessor for the directory.

Returns
Directory* The directory

Referenced by MatrixSceneWidget().

◆ drawElements()

void Isis::MatrixSceneWidget::drawElements ( CorrelationMatrix  corrMatrix)

Draw elements.

If element is drawn in black, something is wrong. The correlation value is out of range.

Need separate redraw method because we will already have the list of MatrixSceneItems.

Parameters
corrMatrixThe matrix that belongs to the project.

References Isis::MatrixOptions::badCorrelationColor(), Isis::MatrixOptions::colorScheme(), Isis::MatrixOptions::colorTolerance(), Isis::MatrixOptions::goodCorrelationColor(), Isis::CorrelationMatrix::imagesAndParameters(), and Isis::CorrelationMatrix::visibleBlocks().

Referenced by Isis::MatrixViewWorkOrder::execute(), redrawElements(), and Isis::MatrixViewWorkOrder::setupExecution().

◆ drawGrid()

void Isis::MatrixSceneWidget::drawGrid ( CorrelationMatrix  corrMatrix)

Draw the lines that will show the columns and blocks for each image.

Parameters
corrMatrixThe matrix that belongs to the project

References Isis::CorrelationMatrix::imagesAndParameters().

Referenced by Isis::MatrixViewWorkOrder::execute(), and Isis::MatrixViewWorkOrder::setupExecution().

◆ elementClicked

void Isis::MatrixSceneWidget::elementClicked ( QString  )
signal

Emitted when an element of the widget is clicked.

Referenced by eventFilter().

◆ elementsBoundingRect()

QRectF Isis::MatrixSceneWidget::elementsBoundingRect ( ) const

Returns the bounding rectangle for the images.

Returns
QRectF Bounding rectangle for image elements

◆ elementsChanged

void Isis::MatrixSceneWidget::elementsChanged ( )
signal

Emitted when an element of the widget is changed.

◆ eventFilter()

bool Isis::MatrixSceneWidget::eventFilter ( QObject obj,
QEvent *  event 
)
protectedvirtual

Pick the relevant actions given the type of event that occured in the scene.

Mouse Events:

Press - Emit elementClicked signal to update the options dialog Release - nolowerColorValue? Double-Click - same as press Move - nolowerColorValue Enter - change label to match current item. Leave - clear label

Parameters
objPointer to the target QObject to watch events on
eventThe event to inspect
Returns
bool True if the event is filter (stopping all future processing of the event)

References elementClicked(), and mouseDoubleClick().

◆ fromPvl()

void Isis::MatrixSceneWidget::fromPvl ( const PvlObject )

◆ getProgress()

QProgressBar * Isis::MatrixSceneWidget::getProgress ( )

Accessor for the widget's progress bar.

Returns
QProgressBar* The progress bar

◆ getScene()

QGraphicsScene * Isis::MatrixSceneWidget::getScene ( ) const

Accessor for the QGraphicsScene.

Returns
MatrixGraphicsScene* The matrix scene.

Referenced by contextMenuEvent().

◆ getView()

MatrixGraphicsView * Isis::MatrixSceneWidget::getView ( ) const

Accessor for the QGraphicsView.

Returns
MatrixGraphicsView* The matrix view.

Referenced by MatrixSceneWidget().

◆ getViewActions()

QList< QAction * > Isis::MatrixSceneWidget::getViewActions ( )

Accessor for the view actions.

Returns
QList<QAction*> List of view actions

◆ mouseButtonPress

void Isis::MatrixSceneWidget::mouseButtonPress ( QPointF  ,
Qt::MouseButton  s 
)
signal

Emitted when mouse is pressed.

◆ mouseButtonRelease

void Isis::MatrixSceneWidget::mouseButtonRelease ( QPointF  ,
Qt::MouseButton  s 
)
signal

Emitted when mouse button released.

◆ mouseDoubleClick

void Isis::MatrixSceneWidget::mouseDoubleClick ( QPointF  )
signal

Emitted when handling a mouse double-click.

Referenced by eventFilter().

◆ mouseEnter

void Isis::MatrixSceneWidget::mouseEnter ( )
signal

Emitted when mouse enters widget focus.

◆ mouseLeave

void Isis::MatrixSceneWidget::mouseLeave ( )
signal

Emitted when mouse leaves widget focus.

◆ mouseMove

void Isis::MatrixSceneWidget::mouseMove ( QPointF  )
signal

Emitted when mouse moves in widget.

◆ mouseWheel

void Isis::MatrixSceneWidget::mouseWheel ( QPointF  ,
int  delta 
)
signal

Emitted when mouse wheel is activated Emitted when rubber band selection is complete.

◆ queueSelectionChanged

void Isis::MatrixSceneWidget::queueSelectionChanged ( )
signal

Emitted when selection is changed.

◆ redrawElements

void Isis::MatrixSceneWidget::redrawElements ( )
slot

Redraw matrix when the focus is changed.

References drawElements(), and Isis::MatrixOptions::parentMatrix().

Referenced by setUpOptions().

◆ redrawItems()

void Isis::MatrixSceneWidget::redrawItems ( )

Redraws all the items in the view.

Also makes sure to resize the view rectangle to fit the newly drawn items.

◆ rubberBandComplete

void Isis::MatrixSceneWidget::rubberBandComplete ( QRectF  r,
Qt::MouseButton  s 
)
signal

◆ setUpOptions()

void Isis::MatrixSceneWidget::setUpOptions ( CorrelationMatrix  corrMat)

Change item colors when options are changed.

Parameters
colorSchemeTrue if using tolerance. False if using gradient. Allows for changing the options on a CorrelationMatrix
corrMatThe matrix to set up options for

References redrawElements().

Referenced by Isis::MatrixViewWorkOrder::execute(), and Isis::MatrixViewWorkOrder::setupExecution().

◆ supportedActions() [1/2]

QList< QAction * > Isis::MatrixSceneWidget::supportedActions ( CorrelationMatrix matrix)

Get a list of applicable actions for the elements in this scene.

Parameters
matrixPointer to the CorrelationMatrix that belongs to the project
Returns
QList<QAction*> List of supported actions for the CorrelationMatrix elements

◆ supportedActions() [2/2]

template<typename DataType >
QList<QAction *> Isis::MatrixSceneWidget::supportedActions ( DataType  )
inline

Return an empty list of actions for unknown data types.

Parameters
DataTypeThe type of data we want to get actions for
Returns
QList<QAction*> Empty list of actions (currently)

◆ toPvl()

PvlObject Isis::MatrixSceneWidget::toPvl ( ) const

◆ visibleRectChanged

void Isis::MatrixSceneWidget::visibleRectChanged ( QRectF  )
signal

Emitted when the visible rectangle is changed.


The documentation for this class was generated from the following files: