00001
00002
00003
00004
00005
00006
00007 #ifndef DLG_SETTINGS_CURVE_PROPERTIES_H
00008 #define DLG_SETTINGS_CURVE_PROPERTIES_H
00009
00010 #include "CurveStyles.h"
00011 #include "DlgSettingsAbstractBase.h"
00012
00013 class GraphicsPoint;
00014 class QComboBox;
00015 class QGraphicsScene;
00016 class QGridLayout;
00017 class QGroupBox;
00018 class QSpinBox;
00019 class ViewPreview;
00020
00022 class DlgSettingsCurveProperties : public DlgSettingsAbstractBase
00023 {
00024 Q_OBJECT;
00025
00026 public:
00028 DlgSettingsCurveProperties(MainWindow &mainWindow);
00029 virtual ~DlgSettingsCurveProperties();
00030
00031 virtual void createOptionalSaveDefault (QHBoxLayout *layout);
00032 virtual QWidget *createSubPanel ();
00033 virtual void load (CmdMediator &cmdMediator);
00034
00036 void setCurveName (const QString &curveName);
00037
00038 private slots:
00039 void slotCurveName(const QString &);
00040 void slotLineColor(const QString &);
00041 void slotLineType(const QString &);
00042 void slotLineWidth(int);
00043 void slotPointColor(const QString &);
00044 void slotPointLineWidth (int);
00045 void slotPointRadius(int);
00046 void slotPointShape(const QString &);
00047 void slotSaveDefault();
00048
00049 protected:
00050 virtual void handleOk ();
00051
00052 private:
00053
00054 void createCurveName (QGridLayout *layout, int &row);
00055 void createLine (QGridLayout *layout, int &row);
00056 void createPoint (QGridLayout *layout, int &row);
00057 void createPreview (QGridLayout *layout, int &row);
00058 void drawLine (bool isRelation,
00059 const LineStyle &lineStyle);
00060 void drawPoints (const PointStyle &pointStyle);
00061 void loadForCurveName(const QString &curveName);
00062 void resetSceneRectangle();
00063 void updateControls();
00064 void updatePreview();
00065
00066 QComboBox *m_cmbCurveName;
00067
00068 QGroupBox *m_groupPoint;
00069 QComboBox *m_cmbPointShape;
00070 QSpinBox *m_spinPointRadius;
00071 QSpinBox *m_spinPointLineWidth;
00072 QComboBox *m_cmbPointColor;
00073
00074 QGroupBox *m_groupLine;
00075 QSpinBox *m_spinLineWidth;
00076 QComboBox *m_cmbLineColor;
00077 QComboBox *m_cmbLineType;
00078
00079 QPushButton *m_btnSaveDefault;
00080
00081 QGraphicsScene *m_scenePreview;
00082 ViewPreview *m_viewPreview;
00083
00084 CurveStyles *m_modelCurveStylesBefore;
00085 CurveStyles *m_modelCurveStylesAfter;
00086
00087 bool m_isDirty;
00088 };
00089
00090 #endif // DLG_SETTINGS_CURVE_PROPERTIES_H