1#ifndef FeatureNomenclatureTool_h
2#define FeatureNomenclatureTool_h
7#include <QProgressDialog>
20template <
typename A,
typename B>
class QMap;
139 void centerOnSelectedFeature();
141 void featureSelected();
143 void findNomenclatureStateChanged(
int);
144 void nomenclaturePositionsOutdated();
145 void onToolActivated();
146 void showDisclaimer();
150 class ViewportFeatureDisplay;
154 void findMissingNomenclature();
156 void rebuildFeaturesCombo();
160 void toolStateChanged();
163 const ViewportFeatureDisplay *
169 void writeSettings();
187 class FeaturePosition {
191 FeaturePosition(
const FeaturePosition &other);
194 bool isValid()
const;
196 QPair<double, double> center()
const;
202 void swap(FeaturePosition &other);
203 FeaturePosition &operator=(
const FeaturePosition &rhs);
209 double m_centerSample;
235 class FeatureDisplayPosition {
237 FeatureDisplayPosition();
238 FeatureDisplayPosition(QRect textRect, QRect fullDisplayRect,
240 FeatureDisplayPosition(
const FeatureDisplayPosition &other);
241 ~FeatureDisplayPosition();
243 QRect textArea()
const;
244 QRect displayArea()
const;
247 void swap(FeatureDisplayPosition &other);
248 FeatureDisplayPosition &operator=(
const FeatureDisplayPosition &rhs);
255 QRect *m_fullDisplayRect;
274 class ViewportFeatureDisplay {
276 ViewportFeatureDisplay();
278 MdiCubeViewport *sourceViewport,
279 QList<FeatureNomenclature::Feature> features,
281 ViewportFeatureDisplay(
const ViewportFeatureDisplay &other);
282 ~ViewportFeatureDisplay();
285 void centerFeature(FeatureNomenclature::Feature);
286 QList<FeatureNomenclature::Feature> features();
287 QList<FeaturePosition> featurePositions();
288 MdiCubeViewport *sourceViewport()
const;
289 void paint(QPainter *painter,
bool showVectors,
296 void swap(ViewportFeatureDisplay &other);
297 ViewportFeatureDisplay &operator=(
298 const ViewportFeatureDisplay &rhs);
301 QPair<QPointF, QPointF> viewportCubeRange()
const;
308 MdiCubeViewport *m_sourceViewport;
310 QList<FeaturePosition> *m_features;
312 QList<FeatureDisplayPosition> *m_featureScreenAreas;
318 QPair<QPointF, QPointF> *m_viewportCubeRange;
323 QPointer<QAction> m_action;
326 QPointer<QCheckBox> m_findNomenclatureCheckBox;
336 QPointer<QComboBox> m_foundFeaturesCombo;
338 QPointer<QPushButton> m_nomenclatureCenterBtn;
340 QPointer<QPushButton> m_nomenclatureOptionsBtn;
342 QPointer<QPushButton> m_disclaimerBtn;
347 QPointer<QProgressBar> m_queryingProgress;
350 QList<ViewportFeatureDisplay> * m_foundNomenclature;
355 QMap< MdiCubeViewport *,
356 FeatureNomenclature *> * m_nomenclatureSearchers;
363 bool m_nomenclatureEnabled;
366 QString m_disclaimerText;
373 bool m_defaultEnabled;
375 bool m_disclaimedAlready;
379 bool m_showApprovedOnly;
A named feature on a target.
Definition FeatureNomenclature.h:117
Feature nomenclature database querier.
Definition FeatureNomenclature.h:51
Cube display widget for certain Isis MDI applications.
Definition MdiCubeViewport.h:39
Universal Ground Map.
Definition UniversalGroundMap.h:69
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 CubeIoHandler.h:23
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16