File indexing completed on 2024-04-28 11:20:44

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