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;
146 bool showTools,
bool internalizeToolBarsAndProgress,
163 return *m_mosaicSceneItems;
166 void addTo(QMenu *menu);
168 void addToPermanent(
QToolBar *toolBar);
171 using QWidget::contextMenuEvent;
176 bool cubesSelectable()
const {
177 return m_cubesSelectable;
180 void enableRubberBand(
bool);
181 bool blockSelectionChange(
bool);
183 bool userHasTools()
const {
184 return m_userToolControl;
191 void save(QXmlStreamWriter &stream,
Project *project,
FileName newProjectRoot)
const;
194 QRectF cubesBoundingRect()
const;
206 double moveDownOne(
Image *);
210 double moveToBottom(
Image *);
214 double moveUpOne(
Image *);
218 double moveToTop(
Image *);
222 double moveZ(
Image *image,
double newZ,
bool newZValueMightExist =
true);
227 template <
typename DataType>
232 bool isControlNetToolActive();
234 static QWidget *getControlNetHelp(
QWidget *cnetToolContainer = NULL);
236 static QWidget *getLongHelp(
QWidget *mosaicSceneContainer = NULL);
238 static QWidget *getPreviewHelp(
QWidget *worldViewContainer = NULL);
242 void mouseMove(QPointF);
244 void mouseDoubleClick(QPointF);
245 void mouseButtonPress(QPointF, Qt::MouseButton s);
246 void mouseButtonRelease(QPointF, Qt::MouseButton s);
247 void mouseWheel(QPointF,
int delta);
249 void rubberBandComplete(QRectF r, Qt::MouseButton s);
250 void visibleRectChanged(QRectF);
254 void queueSelectionChanged();
258 void createControlPoint(
double latitude,
double longitude);
262 void controlPointChanged(QString pointId);
263 void controlPointAdded(QString pointId);
265 void deleteControlPoint(QString pointId);
266 void controlPointDeleted();
272 void setCubesSelectable(
bool);
274 void setOutlineRect(QRectF);
288 void onSelectionChanged();
289 void onQueuedSelectionChanged();
292 void quickConfigProjectionParameters();
293 void sendVisibleRectChanged();
296 virtual bool eventFilter(
QObject *obj, QEvent *ev);
304 void recalcSceneRect();
326 virtual bool startElement(
const QString &namespaceURI,
const QString &localName,
327 const QString &qName,
const QXmlAttributes &atts);
328 virtual bool characters(
const QString &ch);
329 virtual bool endElement(
const QString &namespaceURI,
const QString &localName,
330 const QString &qName);
335 QString m_characterData;
338 int m_scrollBarXValue;
339 int m_scrollBarYValue;
348 bool m_cubesSelectable;
349 bool m_customRubberBandEnabled;
350 QRubberBand *m_customRubberBand;
351 QPoint *m_rubberBandOrigin;
359 QToolButton *m_mapButton;
373 bool m_blockingSelectionChanged;
374 bool m_userToolControl;
375 bool m_ownProjection;
376 bool m_queuedSelectionChanged;
377 bool m_shouldRequeueSelectionChanged;
379 double m_currentMinimumFootprintZ;
380 double m_currentMaximumFootprintZ;
Internalizes a list of images and allows for operations on the entire list.
The main project for cnetsuite.
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.
QProgressBar with customizable text.
Contains Pvl Groups and Pvl Objects.
A single cube in the mosaic scene.
his enables stack-based XML parsing of XML files.