00001
00002
00003
00004
00005
00006
00007 #ifndef DLG_SETTINGS_POINT_MATCH_H
00008 #define DLG_SETTINGS_POINT_MATCH_H
00009
00010 #include "CoordsType.h"
00011 #include "DlgSettingsAbstractBase.h"
00012
00013 class DocumentModelPointMatch;
00014 class QComboBox;
00015 class QGraphicsEllipseItem;
00016 class QGraphicsLineItem;
00017 class QGraphicsPixmapItem;
00018 class QGraphicsScene;
00019 class QGridLayout;
00020 class QSpinBox;
00021 class ViewPreview;
00022
00024 class DlgSettingsPointMatch : public DlgSettingsAbstractBase
00025 {
00026 Q_OBJECT;
00027
00028 public:
00030 DlgSettingsPointMatch(MainWindow &mainWindow);
00031 virtual ~DlgSettingsPointMatch();
00032
00033 virtual void createOptionalSaveDefault (QHBoxLayout *layout);
00034 virtual QWidget *createSubPanel ();
00035 virtual void load (CmdMediator &cmdMediator);
00036 virtual void setSmallDialogs (bool smallDialogs);
00037
00038 private slots:
00039 void slotAcceptedPointColor (const QString &);
00040 void slotCandidatePointColor (const QString &);
00041 void slotMaxPointSize (int);
00042 void slotMouseMove (QPointF pos);
00043 void slotRejectedPointColor (const QString &);
00044
00045 protected:
00046 virtual void handleOk ();
00047
00048 private:
00049
00050 QPointF boxPositionConstraint(const QPointF &posIn);
00051 void createControls (QGridLayout *layout,
00052 int &row);
00053 void createPreview(QGridLayout *layout,
00054 int &row);
00055 void createTemplate();
00056 void initializeBox();
00057 double radiusAlongDiagonal () const;
00058 void updateControls();
00059 void updatePreview();
00060
00061 QSpinBox *m_spinMinPointSeparation;
00062 QSpinBox *m_spinPointSize;
00063 QComboBox *m_cmbAcceptedPointColor;
00064 QComboBox *m_cmbRejectedPointColor;
00065 QComboBox *m_cmbCandidatePointColor;
00066
00067 QGraphicsScene *m_scenePreview;
00068 ViewPreview *m_viewPreview;
00069 QGraphicsEllipseItem *m_circle;
00070
00071 DocumentModelPointMatch *m_modelPointMatchBefore;
00072 DocumentModelPointMatch *m_modelPointMatchAfter;
00073 };
00074
00075 #endif // DLG_SETTINGS_POINT_MATCH_H