1 #ifndef MosaicSceneWidget_H 2 #define MosaicSceneWidget_H 9 template <
typename A>
class QList;
11 class QGraphicsPolygonItem;
14 class QGraphicsSceneContextMenuEvent;
26 class MosaicGraphicsView;
27 class MosaicSceneItem;
158 bool showTools,
bool internalizeToolBarsAndProgress,
175 return *m_mosaicSceneItems;
178 void addTo(
QMenu *menu);
180 void addToPermanent(
QToolBar *toolBar);
183 using QWidget::contextMenuEvent;
188 bool cubesSelectable()
const {
189 return m_cubesSelectable;
192 void enableRubberBand(
bool);
193 bool blockSelectionChange(
bool);
195 bool userHasTools()
const {
196 return m_userToolControl;
203 void save(QXmlStreamWriter &stream,
Project *project,
FileName newProjectRoot)
const;
206 QRectF cubesBoundingRect()
const;
218 double moveDownOne(
Image *);
222 double moveToBottom(
Image *);
226 double moveUpOne(
Image *);
230 double moveToTop(
Image *);
234 double moveZ(
Image *image,
double newZ,
bool newZValueMightExist =
true);
239 template <
typename DataType>
244 bool isControlNetToolActive();
246 static QWidget *getControlNetHelp(
QWidget *cnetToolContainer = NULL);
248 static QWidget *getLongHelp(
QWidget *mosaicSceneContainer = NULL);
250 static QWidget *getPreviewHelp(
QWidget *worldViewContainer = NULL);
254 void mouseMove(QPointF);
256 void mouseDoubleClick(QPointF);
257 void mouseButtonPress(QPointF, Qt::MouseButton s);
258 void mouseButtonRelease(QPointF, Qt::MouseButton s);
259 void mouseWheel(QPointF,
int delta);
261 void rubberBandComplete(QRectF r, Qt::MouseButton s);
262 void visibleRectChanged(QRectF);
266 void queueSelectionChanged();
270 void createControlPoint(
double latitude,
double longitude);
275 void controlPointChanged(QString pointId);
276 void controlPointDeleted();
278 void mosCubeClosed(
Image *);
284 void setCubesSelectable(
bool);
286 void setOutlineRect(QRectF);
300 void onSelectionChanged();
301 void onQueuedSelectionChanged();
304 void quickConfigProjectionParameters();
305 void sendVisibleRectChanged();
308 virtual bool eventFilter(
QObject *obj, QEvent *ev);
316 void recalcSceneRect();
338 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
339 const QString &qName,
const QXmlAttributes &atts);
340 virtual bool characters(
const QString &ch);
341 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
342 const QString &qName);
347 QString m_characterData;
350 int m_scrollBarXValue;
351 int m_scrollBarYValue;
360 bool m_cubesSelectable;
361 bool m_customRubberBandEnabled;
362 QRubberBand *m_customRubberBand;
363 QPoint *m_rubberBandOrigin;
371 QToolButton *m_mapButton;
385 bool m_blockingSelectionChanged;
386 bool m_userToolControl;
387 bool m_ownProjection;
388 bool m_queuedSelectionChanged;
389 bool m_shouldRequeueSelectionChanged;
391 double m_currentMinimumFootprintZ;
392 double m_currentMaximumFootprintZ;
Internalizes a list of images and allows for operations on the entire list.
The main project for ipce.
A graphics view that resizes in a more friendly way.
File name manipulation and expansion.
Base class for Map Projections.
Contains multiple PvlContainers.
XML Handler that parses XMLs in a stack-oriented way.
This represents a cube in a project-based GUI interface.
Container for cube-like labels.
Namespace for ISIS/Bullet specific routines.
Contains Pvl Groups and Pvl Objects.
A single cube in the mosaic scene.
Manage a stack of content handlers for reading XML files.