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
00037 private slots:
00038 void slotAcceptedPointColor (const QString &);
00039 void slotCandidatePointColor (const QString &);
00040 void slotMaxPointSize (int);
00041 void slotMouseMove (QPointF pos);
00042 void slotRejectedPointColor (const QString &);
00043
00044 protected:
00045 virtual void handleOk ();
00046
00047 private:
00048
00049 QPointF boxPositionConstraint(const QPointF &posIn);
00050 void createControls (QGridLayout *layout,
00051 int &row);
00052 void createPreview(QGridLayout *layout,
00053 int &row);
00054 void createTemplate();
00055 void initializeBox();
00056 double radiusAlongDiagonal () const;
00057 void updateControls();
00058 void updatePreview();
00059
00060 QSpinBox *m_spinMinPointSeparation;
00061 QSpinBox *m_spinPointSize;
00062 QComboBox *m_cmbAcceptedPointColor;
00063 QComboBox *m_cmbRejectedPointColor;
00064 QComboBox *m_cmbCandidatePointColor;
00065
00066 QGraphicsScene *m_scenePreview;
00067 ViewPreview *m_viewPreview;
00068 QGraphicsEllipseItem *m_circle;
00069
00070 DocumentModelPointMatch *m_modelPointMatchBefore;
00071 DocumentModelPointMatch *m_modelPointMatchAfter;
00072 };
00073
00074 #endif // DLG_SETTINGS_POINT_MATCH_H