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 QLabel;
00022 class QLineEdit;
00023 class ViewPreview;
00024
00026 class DlgSettingsGridDisplay : public DlgSettingsAbstractBase
00027 {
00028 Q_OBJECT;
00029
00030 public:
00032 DlgSettingsGridDisplay(MainWindow &mainWindow);
00033 virtual ~DlgSettingsGridDisplay();
00034
00035 virtual void createOptionalSaveDefault (QHBoxLayout *layout);
00036 virtual QWidget *createSubPanel ();
00037 virtual void load (CmdMediator &cmdMediator);
00038 virtual void setSmallDialogs (bool smallDialogs);
00039
00040 private slots:
00041
00042 void slotColor (const QString &);
00043
00044 void slotDisableX(const QString &);
00045 void slotCountX(const QString &);
00046 void slotStartX(const QString &);
00047 void slotStepX(const QString &);
00048 void slotStopX(const QString &);
00049
00050 void slotDisableY(const QString &);
00051 void slotCountY(const QString &);
00052 void slotStartY(const QString &);
00053 void slotStepY(const QString &);
00054 void slotStopY(const QString &);
00055
00056 protected:
00057 virtual void handleOk ();
00058
00059 private:
00060
00061 void createDisplayCommon (QGridLayout *layout, int &row);
00062 void createDisplayGridLinesX (QGridLayout *layoutGridLines, int &row);
00063 void createDisplayGridLinesY (QGridLayout *layoutGridLines, int &row);
00064 void createPreview (QGridLayout *layout, int &row);
00065 bool textItemsAreValid () const;
00066 bool textItemsDoNotBreakLineCountLimit ();
00067 void updateControls ();
00068 void updateDisplayedVariableX ();
00069 void updateDisplayedVariableY ();
00070 void updatePreview();
00071
00072 QGroupBox *m_groupX;
00073 QComboBox *m_cmbDisableX;
00074 QLineEdit *m_editCountX;
00075 QLineEdit *m_editStartX;
00076 QLineEdit *m_editStepX;
00077 QLineEdit *m_editStopX;
00078 QDoubleValidator *m_validatorCountX;
00079 QDoubleValidator *m_validatorStartX;
00080 QDoubleValidator *m_validatorStepX;
00081 QDoubleValidator *m_validatorStopX;
00082
00083 QGroupBox *m_groupY;
00084 QComboBox *m_cmbDisableY;
00085 QLineEdit *m_editCountY;
00086 QLineEdit *m_editStartY;
00087 QLineEdit *m_editStepY;
00088 QLineEdit *m_editStopY;
00089 QDoubleValidator *m_validatorCountY;
00090 QDoubleValidator *m_validatorStartY;
00091 QDoubleValidator *m_validatorStepY;
00092 QDoubleValidator *m_validatorStopY;
00093
00094 QLabel *m_labelLimitWarning;
00095
00096 QComboBox *m_cmbColor;
00097
00098 GridLines m_gridLines;
00099
00100 QGraphicsScene *m_scenePreview;
00101 ViewPreview *m_viewPreview;
00102
00103 DocumentModelGridDisplay *m_modelGridDisplayBefore;
00104 DocumentModelGridDisplay *m_modelGridDisplayAfter;
00105 };
00106
00107 #endif // DLG_SETTINGS_GRID_DISPLAY_H