File failed to load: https://isis.astrogeology.usgs.gov/7.1.0/Object/assets/jax/output/NativeMML/config.js
Isis Developer Reference
MatrixSceneWidget.h
Go to the documentation of this file.
1#ifndef MatrixSceneWidget_H
2#define MatrixSceneWidget_H
3
4#include <QWidget>
5
6#include "XmlStackedHandler.h"
7
8template <typename A> class QList;
9class QGraphicsPolygonItem;
11class QGraphicsScene;
12class QGraphicsSceneContextMenuEvent;
13class QMenu;
14class QProgressBar;
15class QRubberBand;
16class QStatusBar;
17class QToolBar;
18class QToolButton;
19
20namespace Isis {
21 class CorrelationMatrix;
22 class Directory;
23 class DisplayProperties;
24 class FileName;
25 class MatrixDisplayTool;
26 class MatrixGraphicsView;
27 class MatrixOptions;
28 class ProgressBar;
29 class Project;
30 class PvlGroup;
31 class PvlObject;
32 class ToolPad;
33
51 class MatrixSceneWidget : public QWidget {
52 Q_OBJECT
53
54 public:
55 MatrixSceneWidget(QStatusBar *status,
56 bool showTools,
57 bool internalizeToolBarsAndProgress,
59 QWidget *parent = 0);
60 virtual ~MatrixSceneWidget();
61
63 QGraphicsScene *getScene() const;
64
65 bool contextMenuEvent(QGraphicsSceneContextMenuEvent *event);
66
67 void drawGrid(CorrelationMatrix corrMatrix);
68 void drawElements(CorrelationMatrix corrMatrix);
69
72 void fromPvl(const PvlObject &);
73// void load(XmlStackedHandlerReader *xmlReader);
74
75 QRectF elementsBoundingRect() const;
76 Directory *directory() const;
79 void redrawItems();
80// void refit();
81
82// void repaintItems(bool colorScheme);
83 void setUpOptions(CorrelationMatrix corrMat);
84
92 template <typename DataType>
94 return QList<QAction *>();
95 }
96
97 signals:
98// add roll over?
99 // Not all these signals are used, descriptions show possible intended use
100 void mouseEnter();
101 void mouseMove(QPointF);
102 void mouseLeave();
103 void mouseDoubleClick(QPointF);
104 void mouseButtonPress(QPointF, Qt::MouseButton s);
105 void mouseButtonRelease(QPointF, Qt::MouseButton s);
106 void mouseWheel(QPointF, int delta);
108 void rubberBandComplete(QRectF r, Qt::MouseButton s);
109 void visibleRectChanged(QRectF);
112
113 void elementClicked(QString);
114
115 public slots:
116 void redrawElements();
117
118 protected:
119 virtual bool eventFilter(QObject *obj, QEvent *ev);
120
121 private slots:
122
123// void fitInView();
124
125 void sendVisibleRectChanged();
126
127 private:
128 // methods
129 QList<double> getSelectedElements() const;
130
131 // member variables
132 Directory *m_directory;
133
134 QGraphicsScene *m_graphicsScene;
135 MatrixGraphicsView *m_graphicsView;
136
137 QGraphicsRectItem *m_outlineRect;
138
139 QAction *m_quickMapAction;
140
141 ProgressBar *m_progress;
142
143 MatrixOptions *m_matrixOptions;
144 };
145}
146
147#endif
148
This is a container for the correlation matrix that comes from a bundle adjust.
Definition: CorrelationMatrix.h:61
Definition: Directory.h:271
A graphics view that resizes in a more friendly way.
Definition: MatrixGraphicsView.h:15
This class holds the matrix color and focus information.
Definition: MatrixOptions.h:28
This widget encompasses the entire matrixDisplay scene.
Definition: MatrixSceneWidget.h:51
MatrixSceneWidget(QStatusBar *status, bool showTools, bool internalizeToolBarsAndProgress, Directory *directory, QWidget *parent=0)
Constructor, creates a matrix scene widget.
Definition: MatrixSceneWidget.cpp:54
void setUpOptions(CorrelationMatrix corrMat)
Change item colors when options are changed.
Definition: MatrixSceneWidget.cpp:651
bool contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
This is called by MatrixGraphicsScene::contextMenuEvent.
Definition: MatrixSceneWidget.cpp:186
Directory * directory() const
Accessor for the directory.
Definition: MatrixSceneWidget.cpp:277
MatrixGraphicsView * getView() const
Accessor for the QGraphicsView.
Definition: MatrixSceneWidget.cpp:164
void redrawItems()
Redraws all the items in the view.
Definition: MatrixSceneWidget.cpp:395
void drawGrid(CorrelationMatrix corrMatrix)
Draw the lines that will show the columns and blocks for each image.
Definition: MatrixSceneWidget.cpp:550
void mouseButtonRelease(QPointF, Qt::MouseButton s)
Emitted when mouse button released.
void mouseDoubleClick(QPointF)
Emitted when handling a mouse double-click.
QList< QAction * > getViewActions()
Accessor for the view actions.
Definition: MatrixSceneWidget.cpp:287
void mouseMove(QPointF)
Emitted when mouse moves in widget.
QList< QAction * > supportedActions(DataType)
Return an empty list of actions for unknown data types.
Definition: MatrixSceneWidget.h:93
QGraphicsScene * getScene() const
Accessor for the QGraphicsScene.
Definition: MatrixSceneWidget.cpp:174
QProgressBar * getProgress()
Accessor for the widget's progress bar.
Definition: MatrixSceneWidget.cpp:246
QList< QAction * > supportedActions(CorrelationMatrix *matrix)
Get a list of applicable actions for the elements in this scene.
Definition: MatrixSceneWidget.cpp:305
void mouseButtonPress(QPointF, Qt::MouseButton s)
Emitted when mouse is pressed.
void redrawElements()
Redraw matrix when the focus is changed.
Definition: MatrixSceneWidget.cpp:618
void mouseWheel(QPointF, int delta)
Emitted when mouse wheel is activated Emitted when rubber band selection is complete.
void fromPvl(const PvlObject &)
void mouseEnter()
Emitted when mouse enters widget focus.
virtual ~MatrixSceneWidget()
Default Destructor.
Definition: MatrixSceneWidget.cpp:154
void queueSelectionChanged()
Emitted when selection is changed.
void visibleRectChanged(QRectF)
Emitted when the visible rectangle is changed.
void elementsChanged()
Emitted when an element of the widget is changed.
virtual bool eventFilter(QObject *obj, QEvent *ev)
Pick the relevant actions given the type of event that occured in the scene.
Definition: MatrixSceneWidget.cpp:360
void drawElements(CorrelationMatrix corrMatrix)
Draw elements.
Definition: MatrixSceneWidget.cpp:415
void mouseLeave()
Emitted when mouse leaves widget focus.
void elementClicked(QString)
Emitted when an element of the widget is clicked.
PvlObject toPvl() const
QRectF elementsBoundingRect() const
Returns the bounding rectangle for the images.
Definition: MatrixSceneWidget.cpp:262
void rubberBandComplete(QRectF r, Qt::MouseButton s)
Definition: ProgressBar.h:15
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:61
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 02/21/2025 21:56:37