00001 #ifndef PLOT_PROPERTIES_H 00002 #define PLOT_PROPERTIES_H 00003 00004 #include <QString> 00005 #include <QDate> 00006 #include <QXmlStreamAttributes> 00007 00008 class PlotProperties 00009 { 00010 //=============================================================================================== 00011 // Enums 00012 //=============================================================================================== 00013 public: 00014 enum LineStyle { Lines, Dots, DotsLines, ThinLines }; 00015 00016 //=============================================================================================== 00017 // Constructors and destructor 00018 //=============================================================================================== 00019 public: 00020 PlotProperties(); 00021 virtual ~PlotProperties(); 00022 00023 //=============================================================================================== 00024 // Member functions 00025 //=============================================================================================== 00026 public: 00027 void setName( QString name ) { m_name = name; }; 00028 QString name() { return m_name; }; 00029 void setLineStyle( LineStyle style ) { m_lineStyle = style; }; 00030 LineStyle lineStyle() { return m_lineStyle; }; 00031 void enableGrid( bool flag ) { m_enableGrid = flag; }; 00032 bool isGridEnabled() { return m_enableGrid; }; 00033 void setXAxisAutoscale( bool flag ) { m_xAxisAutoscale = flag; }; 00034 bool xAxisAutoscale() { return m_xAxisAutoscale; }; 00035 void setXAxisMinimum( QDate date ) { m_xAxisMinimum = date; }; 00036 QDate xAxisMinimum() { return m_xAxisMinimum; }; 00037 void setXAxisMaximum( QDate date ) { m_xAxisMaximum = date; }; 00038 QDate xAxisMaximum() { return m_xAxisMaximum; }; 00039 void setYAxisAutoscale( bool flag ) { m_yAxisAutoscale = flag; }; 00040 bool yAxisAutoscale() { return m_yAxisAutoscale; }; 00041 void setYAxisMinimum( double minimum ) { m_yAxisMinimum = minimum; }; 00042 double yAxisMinimum() { return m_yAxisMinimum; }; 00043 void setYAxisMaximum( double maximum ) { m_yAxisMaximum = maximum; }; 00044 double yAxisMaximum() { return m_yAxisMaximum; }; 00045 00046 // Inherited from Xml 00047 QString stream(); 00048 bool parseElement( QString name, QXmlStreamAttributes attributes ); 00049 00050 private: 00051 void init(); 00052 00053 //=============================================================================================== 00054 // Members 00055 //=============================================================================================== 00056 private: 00057 QString m_name; 00058 LineStyle m_lineStyle; 00059 bool m_enableGrid; 00060 bool m_xAxisAutoscale; 00061 QDate m_xAxisMinimum; 00062 QDate m_xAxisMaximum; 00063 bool m_yAxisAutoscale; 00064 double m_yAxisMinimum; 00065 double m_yAxisMaximum; 00066 }; 00067 00068 #endif