Isis 3 Programmer Reference
ProjectionConfigDialog.h
1#ifndef ProjectionConfigDialog_h
2#define ProjectionConfigDialog_h
3
4#include <QDialog>
5
6#include <QPointer>
7
8class QLabel;
9class QPushButton;
10class QTextEdit;
11
12namespace Isis {
13 class MosaicSceneWidget;
14 class Projection;
15 class Pvl;
16
25 Q_OBJECT
26
27 public:
28 ProjectionConfigDialog(MosaicSceneWidget *scene, QWidget *parent = NULL);
30
31 void setQuickConfig(bool quick);
32
33 signals:
34 void shown();
35
36 public slots:
37 void applySettings();
38 void readSettings();
39
40 protected:
41 void showEvent(QShowEvent *);
42
43 private:
44 Q_DISABLE_COPY(ProjectionConfigDialog);
45 Pvl addMissingKeywords(Pvl mappingPvl);
47
48 private slots:
49 void beginQuickLoad();
50 void loadFromFile();
51 void saveToFile();
53 void showErrors(int);
54
55 private:
57 QPointer<QLabel> m_stateLabel;
59 QPointer<QLabel> m_errorsLabel;
61 QPointer<QTextEdit> m_mapFileEdit;
62
64 QPointer<QPushButton> m_readFromFileButton;
65
67 QPointer<QPushButton> m_applyButton;
69 QPointer<QPushButton> m_okayButton;
70
72 QPointer<MosaicSceneWidget> m_scene;
73
75 bool m_dirty;
76
78 bool m_quick;
79 };
80}
81
82#endif
This widget encompasses the entire mosaic scene.
This is the configuration dialog for the MosaicSceneWidget's projection parameters (map file).
void applySettings()
Take the settings that have been configured and apply them to the mosaic scene.
void saveToFile()
Save mapping parameters to the given file.
ProjectionConfigDialog(MosaicSceneWidget *scene, QWidget *parent=NULL)
Create a projection configuration dialog.
void beginQuickLoad()
If using quick load, this will prompt the user for an input file right after the show event.
void showErrors(int)
This is called when "Show Errors" is checked.
bool m_dirty
To reduce redundant computations, keep track of dirty state of the dialog.
QPointer< QTextEdit > m_mapFileEdit
This is the text area that a user can type in for editing the projection.
QPointer< MosaicSceneWidget > m_scene
The mosaic scene we're configuring the projection for.
Projection * createProjection()
Convert the current text in the text edit to a projection.
bool m_quick
Should we minimize the user interaction?
QPointer< QPushButton > m_okayButton
This button applies the current projection to the scene and closes the dialog.
QPointer< QLabel > m_errorsLabel
This shows errors generated by trying to create a projection from the current mapping pvl.
Pvl addMissingKeywords(Pvl mappingPvl)
Get a modified mapping pvl that the mosaic scene will be compatible with.
void setQuickConfig(bool quick)
Enable/disable minimal interaction mode.
void refreshWidgetStates()
Update the enabled/disabled states of the various widgets based on the current user inputs' states.
QPointer< QPushButton > m_readFromFileButton
This button corresponds to 'Load Map File...' and causes a prompt for file input.
QPointer< QLabel > m_stateLabel
This shows a general idea of the current state of the mapping pvl (always shown)
void loadFromFile()
Read mapping parameters from a file (prompts user for the file name).
QPointer< QPushButton > m_applyButton
This button applies the current projection to the scene.
void readSettings()
Update the current widgets' states with the current settings in the mosaic scene.
Base class for Map Projections.
Definition Projection.h:155
Container for cube-like labels.
Definition Pvl.h:119
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16