--- a/src/dialogs.h Tue May 14 03:23:01 2013 +0300 +++ b/src/dialogs.h Tue May 14 03:49:15 2013 +0300 @@ -10,6 +10,9 @@ class QLineEdit; class QSpinBox; class RadioBox; +template<class T> class CheckBoxGroup; +class QLabel; +class QAbstractButton; class OverlayDialog : public QDialog { Q_OBJECT @@ -39,4 +42,36 @@ void fillDefaults (int newcam); }; +class ReplaceCoordsDialog : public QDialog { +public: + explicit ReplaceCoordsDialog (QWidget* parent = null, Qt::WindowFlags f = 0); + + vector<Axis> axes () const; + double searchValue () const; + double replacementValue () const; + +private: + CheckBoxGroup<Axis>* cbg_axes; + QLabel* lb_search, *lb_replacement; + QDoubleSpinBox* dsb_search, *dsb_replacement; +}; + +// ============================================================================= +// SetContentsDialog +// +// Performs the Set Contents dialog on the given LDObject. Object's contents +// are exposed to the user and is reinterpreted if the user accepts the new +// contents. +// ============================================================================= +class SetContentsDialog : public QDialog { +public: + explicit SetContentsDialog (QWidget* parent = null, Qt::WindowFlags f = 0); + str text () const; + void setObject (LDObject* obj); + +private: + QLabel* lb_contents, *lb_errorIcon, *lb_error; + QLineEdit* le_contents; +}; + #endif // DIALOGS_H \ No newline at end of file