File indexing completed on 2023-05-30 09:03:17
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2010 Oleksiy Protas <elfy.ua@gmail.com> 0004 */ 0005 0006 #ifndef _PLOT_DIRECTIVES_H 0007 #define _PLOT_DIRECTIVES_H 0008 0009 #include "extension.h" 0010 #include "cantor_export.h" 0011 0012 //TODO: comments 0013 namespace Cantor 0014 { 0015 class CANTOR_EXPORT PlotTitleDirective : public AdvancedPlotExtension::PlotDirective 0016 { 0017 public: 0018 PLOT_DIRECTIVE_DISPATCHING(PlotTitleDirective); 0019 const QString& title() const; 0020 explicit PlotTitleDirective(const QString& str); 0021 static AdvancedPlotExtension::DirectiveProducer* widget(QWidget* parent); 0022 0023 private: 0024 QString m_title; 0025 0026 }; 0027 0028 class CANTOR_EXPORT AbstractScaleDirective : public AdvancedPlotExtension::PlotDirective 0029 { 0030 public: 0031 PLOT_DIRECTIVE_DISPATCHING(AbstractScaleDirective); 0032 double min() const; 0033 double max() const; 0034 0035 protected: 0036 AbstractScaleDirective(double a,double b); 0037 0038 private: 0039 double m_min; 0040 double m_max; 0041 }; 0042 0043 class CANTOR_EXPORT OrdinateScaleDirective : public AbstractScaleDirective 0044 { 0045 public: 0046 PLOT_DIRECTIVE_DISPATCHING(OrdinateScaleDirective); 0047 OrdinateScaleDirective(double a,double b); 0048 static AdvancedPlotExtension::DirectiveProducer* widget(QWidget* parent); 0049 }; 0050 0051 class CANTOR_EXPORT AbscissScaleDirective : public AbstractScaleDirective 0052 { 0053 public: 0054 PLOT_DIRECTIVE_DISPATCHING(AbscissScaleDirective); 0055 AbscissScaleDirective(double a,double b); 0056 static AdvancedPlotExtension::DirectiveProducer* widget(QWidget* parent); 0057 }; 0058 } 0059 0060 #endif // _PLOT_DIRECTIVES_H