Warning, file /education/cantor/src/lib/directives/plotdirectives.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2010 Oleksiy Protas <elfy.ua@gmail.com> 0004 */ 0005 0006 #include "directives/plotdirectives.h" 0007 #include "ui_axisrange.h" 0008 #include "ui_plottitle.h" 0009 0010 #include <KLocalizedString> 0011 0012 namespace Cantor 0013 { 0014 0015 // FIXME maybe this belongs to headers rather 0016 class PlotTitleControl : public AdvancedPlotExtension::DirectiveControl<Ui_PlotTitleControl> 0017 { 0018 public: // FIXME: move window title setting upward, or maybe not 0019 PlotTitleControl(QWidget *parent) : AbstractParent(parent) { setWindowTitle(ki18n("Main title").toString()); } 0020 0021 AdvancedPlotExtension::PlotDirective* produceDirective() const override 0022 { 0023 return new PlotTitleDirective(titleEdit->text()); 0024 } 0025 }; 0026 0027 class AbscissScaleControl : public AdvancedPlotExtension::DirectiveControl<Ui_AxisRangeControl> 0028 { 0029 public: 0030 AbscissScaleControl(QWidget *parent) : AbstractParent(parent) { setWindowTitle(ki18n("Abscissa scale").toString()); } 0031 0032 AdvancedPlotExtension::PlotDirective* produceDirective() const override 0033 { 0034 return new AbscissScaleDirective(minEdit->value(),maxEdit->value()); 0035 } 0036 }; 0037 0038 class OrdinateScaleControl : public AdvancedPlotExtension::DirectiveControl<Ui_AxisRangeControl> 0039 { 0040 public: 0041 OrdinateScaleControl(QWidget *parent) : AbstractParent(parent) { setWindowTitle(ki18n("Ordinate scale").toString()); } 0042 0043 AdvancedPlotExtension::PlotDirective* produceDirective() const override 0044 { 0045 return new OrdinateScaleDirective(minEdit->value(),maxEdit->value()); 0046 } 0047 }; 0048 0049 0050 const QString& PlotTitleDirective::title() const 0051 { 0052 return m_title; 0053 } 0054 0055 PlotTitleDirective::PlotTitleDirective(const QString& str) : m_title(str) 0056 { 0057 } 0058 0059 AdvancedPlotExtension::DirectiveProducer* PlotTitleDirective::widget(QWidget* parent) 0060 { 0061 return new PlotTitleControl(parent); 0062 } 0063 0064 double AbstractScaleDirective::min() const 0065 { 0066 return m_min; 0067 } 0068 double AbstractScaleDirective::max() const 0069 { 0070 return m_max; 0071 } 0072 0073 AbstractScaleDirective::AbstractScaleDirective(double a,double b) : m_min(a),m_max(b) 0074 { 0075 } 0076 0077 AbscissScaleDirective::AbscissScaleDirective(double a,double b) : AbstractScaleDirective(a,b) 0078 { 0079 } 0080 0081 AdvancedPlotExtension::DirectiveProducer* AbscissScaleDirective::widget(QWidget* parent) 0082 { 0083 return new AbscissScaleControl(parent); 0084 } 0085 0086 OrdinateScaleDirective::OrdinateScaleDirective(double a,double b) : AbstractScaleDirective(a,b) 0087 { 0088 } 0089 0090 AdvancedPlotExtension::DirectiveProducer* OrdinateScaleDirective::widget(QWidget* parent) 0091 { 0092 return new OrdinateScaleControl(parent); 0093 } 0094 0095 }