00001
00002
00003
00004
00005
00006
00007 #ifndef DLG_SETTINGS_GRID_DISPLAY_H
00008 #define DLG_SETTINGS_GRID_DISPLAY_H
00009
00010 #include "DlgSettingsAbstractBase.h"
00011 #include "GridLines.h"
00012
00013 class DocumentModelGridDisplay;
00014 class QCheckBox;
00015 class QComboBox;
00016 class QDoubleValidator;
00017 class QGraphicsScene;
00018 class QGridLayout;
00019 class QGroupBox;
00020 class QHBoxLayout;
00021 class QLineEdit;
00022 class ViewPreview;
00023
00025 class DlgSettingsGridDisplay : public DlgSettingsAbstractBase
00026 {
00027 Q_OBJECT;
00028
00029 public:
00031 DlgSettingsGridDisplay(MainWindow &mainWindow);
00032 virtual ~DlgSettingsGridDisplay();
00033
00034 virtual void createOptionalSaveDefault (QHBoxLayout *layout);
00035 virtual QWidget *createSubPanel ();
00036 virtual void load (CmdMediator &cmdMediator);
00037
00038 private slots:
00039
00040 void slotColor (const QString &);
00041
00042 void slotDisableX(const QString &);
00043 void slotCountX(const QString &);
00044 void slotStartX(const QString &);
00045 void slotStepX(const QString &);
00046 void slotStopX(const QString &);
00047
00048 void slotDisableY(const QString &);
00049 void slotCountY(const QString &);
00050 void slotStartY(const QString &);
00051 void slotStepY(const QString &);
00052 void slotStopY(const QString &);
00053
00054 protected:
00055 virtual void handleOk ();
00056
00057 private:
00058
00059 void createDisplayCommon (QGridLayout *layout, int &row);
00060 void createDisplayGridLinesX (QGridLayout *layoutGridLines, int &row);
00061 void createDisplayGridLinesY (QGridLayout *layoutGridLines, int &row);
00062 void createPreview (QGridLayout *layout, int &row);
00063 bool textItemsAreValid () const;
00064 void updateControls ();
00065 void updateDisplayedVariableX ();
00066 void updateDisplayedVariableY ();
00067 void updatePreview();
00068
00069 QGroupBox *m_groupX;
00070 QComboBox *m_cmbDisableX;
00071 QLineEdit *m_editCountX;
00072 QLineEdit *m_editStartX;
00073 QLineEdit *m_editStepX;
00074 QLineEdit *m_editStopX;
00075 QDoubleValidator *m_validatorCountX;
00076 QDoubleValidator *m_validatorStartX;
00077 QDoubleValidator *m_validatorStepX;
00078 QDoubleValidator *m_validatorStopX;
00079
00080 QGroupBox *m_groupY;
00081 QComboBox *m_cmbDisableY;
00082 QLineEdit *m_editCountY;
00083 QLineEdit *m_editStartY;
00084 QLineEdit *m_editStepY;
00085 QLineEdit *m_editStopY;
00086 QDoubleValidator *m_validatorCountY;
00087 QDoubleValidator *m_validatorStartY;
00088 QDoubleValidator *m_validatorStepY;
00089 QDoubleValidator *m_validatorStopY;
00090
00091 QComboBox *m_cmbColor;
00092
00093 GridLines m_gridLines;
00094
00095 QGraphicsScene *m_scenePreview;
00096 ViewPreview *m_viewPreview;
00097
00098 DocumentModelGridDisplay *m_modelGridDisplayBefore;
00099 DocumentModelGridDisplay *m_modelGridDisplayAfter;
00100 };
00101
00102 #endif // DLG_SETTINGS_GRID_DISPLAY_H