wxMaxima
Loading...
Searching...
No Matches
DrawWiz.h
Go to the documentation of this file.
1// -*- mode: c++; c-file-style: "linux"; c-basic-offset: 2; indent-tabs-mode: nil -*-
2//
3// Copyright (C) 2004-2015 Andrej Vodopivec <andrej.vodopivec@gmail.com>
4// Copyright (C) 2017-2018 Gunter Königsmann <wxMaxima@physikbuch.de>
5//
6// This program is free software; you can redistribute it and/or modify
7// it under the terms of the GNU General Public License as published by
8// the Free Software Foundation; either version 2 of the License, or
9// (at your option) any later version.
10//
11// This program is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15//
16//
17// You should have received a copy of the GNU General Public License
18// along with this program; if not, write to the Free Software
19// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20//
21// SPDX-License-Identifier: GPL-2.0+
22
27#ifndef DRAWWIZ_H
28#define DRAWWIZ_H
29
30#include "precomp.h"
31#include <wx/wx.h>
32#include <wx/statline.h>
33#include <wx/image.h>
34#include <wx/radiobut.h>
35#include <wx/persist.h>
36#include <wx/persist/toplevel.h>
37
38#include "BTextCtrl.h"
39#include "Configuration.h"
40#include "SvgPanel.h"
41
43// cppcheck-suppress ctuOneDefinitionRuleViolation
44class ExplicitWiz : public wxDialog
45{
46public:
47 ExplicitWiz(wxWindow *parent, Configuration *config, wxString expression, int dimensions = 2);
48 wxString GetValue();
49private:
50 int m_dimensions;
51 BTextCtrl *m_expression;
52 BTextCtrl *m_filledfunc = NULL;
53 BTextCtrl *m_x;
54 BTextCtrl *m_xStart;
55 BTextCtrl *m_xEnd;
56 BTextCtrl *m_y = NULL;
57 BTextCtrl *m_yStart = NULL;
58 BTextCtrl *m_yEnd = NULL;
59};
60
62// cppcheck-suppress ctuOneDefinitionRuleViolation
63class ParametricWiz : public wxDialog
64{
65public:
66 ParametricWiz(wxWindow *parent, Configuration *config, int dimensions = 2);
67 wxString GetValue();
68private:
69 int m_dimensions;
70 BTextCtrl *m_expression_x;
71 BTextCtrl *m_expression_y;
72 BTextCtrl *m_expression_z = NULL;
73 BTextCtrl *m_parameter;
74 BTextCtrl *m_parameterStart = NULL;
75 BTextCtrl *m_parameterEnd;
76};
77
79// cppcheck-suppress ctuOneDefinitionRuleViolation
80class ImplicitWiz : public wxDialog
81{
82public:
83 ImplicitWiz(wxWindow *parent, Configuration *config, wxString expression, int dimensions = 2);
84 wxString GetValue();
85private:
86 int m_dimensions;
87 BTextCtrl *m_expression;
88 BTextCtrl *m_x;
89 BTextCtrl *m_xStart;
90 BTextCtrl *m_xEnd;
91 BTextCtrl *m_y;
92 BTextCtrl *m_yStart;
93 BTextCtrl *m_yEnd;
94 BTextCtrl *m_z = NULL;
95 BTextCtrl *m_zStart = NULL;
96 BTextCtrl *m_zEnd = NULL;
97};
98
100// cppcheck-suppress ctuOneDefinitionRuleViolation
101class AxisWiz : public wxDialog
102{
103public:
104 AxisWiz(wxWindow *parent, Configuration *config, int dimensions = 2);
105 wxString GetValue();
106private:
107 int m_dimensions;
108 BTextCtrl *m_xLabel;
109 BTextCtrl *m_xStart;
110 BTextCtrl *m_xEnd;
111 BTextCtrl *m_yLabel;
112 BTextCtrl *m_yStart;
113 BTextCtrl *m_yEnd;
114 BTextCtrl *m_zLabel = NULL;
115 BTextCtrl *m_zStart = NULL;
116 BTextCtrl *m_zEnd = NULL;
117 wxCheckBox *m_useSecondaryX;
118 wxCheckBox *m_useSecondaryY;
119 BTextCtrl *m_x2Label = NULL;
120 BTextCtrl *m_x2Start = NULL;
121 BTextCtrl *m_x2End = NULL;
122 BTextCtrl *m_y2Label = NULL;
123 BTextCtrl *m_y2Start = NULL;
124 BTextCtrl *m_y2End = NULL;
125};
126
127
129// cppcheck-suppress ctuOneDefinitionRuleViolation
130class DrawWiz : public wxDialog
131{
132public:
133 DrawWiz(wxWindow *parent, Configuration *config, int dimensions);
134 wxString GetValue();
135protected:
136 void OnParametricFocus(wxFocusEvent &event);
137private:
138 int m_dimensions;
139 wxRadioButton *m_singleFrame;
140 wxRadioButton *m_multipleFrames;
141 BTextCtrl *m_frameVar;
142 BTextCtrl *m_varStart;
143 BTextCtrl *m_varEnd;
144};
145
147// cppcheck-suppress ctuOneDefinitionRuleViolation
148class Wiz3D : public wxDialog
149{
150public:
151 Wiz3D(wxWindow *parent, Configuration *config);
152 wxString GetValue();
153private:
154 wxCheckBox *m_hidden3d;
155 wxCheckBox *m_enhanced3d;
156};
157
159// cppcheck-suppress ctuOneDefinitionRuleViolation
160class WizContour : public wxDialog
161{
162public:
163 WizContour(wxWindow *parent, Configuration *config);
164 wxString GetValue();
165protected:
166 void OnRadioButton(wxCommandEvent &dummy);
167private:
168 SvgPanel *m_image;
169 wxRadioButton *m_contourNone;
170 wxRadioButton *m_contourSurface;
171 wxRadioButton *m_contourBase;
172 wxRadioButton *m_contourBoth;
173 wxRadioButton *m_contourOnly;
174};
175
177// cppcheck-suppress ctuOneDefinitionRuleViolation
178class WizPoints : public wxDialog
179{
180public:
181 WizPoints(wxWindow *parent, Configuration *config, int dimensions, wxString expr);
182 wxString GetValue();
183private:
184 BTextCtrl *m_data;
185 wxRadioButton *m_formatStd;
186 wxRadioButton *m_formatListOfLists;
187 wxRadioButton *m_transposedMatrix;
188 wxRadioButton *m_transposedListOfLists;
189 wxCheckBox *m_pointsJoined;
190 wxChoice *m_pointStyle;
191 int m_dimensions;
192};
193
195// cppcheck-suppress ctuOneDefinitionRuleViolation
196class WizDrawAccuracy : public wxDialog
197{
198public:
199 WizDrawAccuracy(wxWindow *parent, Configuration *config, int dimensions);
200 wxString GetValue();
201private:
202 int m_dimensions;
203 BTextCtrl *m_nticks;
204 BTextCtrl *m_adapt_depth;
205 BTextCtrl *m_xu_grid = NULL;
206 BTextCtrl *m_yv_grid = NULL;
207 BTextCtrl *m_ip_grid_x = NULL;
208 BTextCtrl *m_ip_grid_y = NULL;
209 BTextCtrl *m_ip_grid_in_x = NULL;
210 BTextCtrl *m_ip_grid_in_y = NULL;
211 BTextCtrl *m_x_voxel = NULL;
212 BTextCtrl *m_y_voxel = NULL;
213 BTextCtrl *m_z_voxel = NULL;
214};
215
216#endif // DRAWWIZ_H
This file declares all the wizards the draw sidepane needs.
A wizard for axis setup for draw.
Definition: DrawWiz.h:102
A wxTextCtrl with parenthesis matching.
Definition: BTextCtrl.h:33
The configuration storage for the current worksheet.
Definition: Configuration.h:85
A wizard for explicit plots using draw.
Definition: DrawWiz.h:131
A wizard for explicit plots using draw.
Definition: DrawWiz.h:45
A wizard for implicit plots using draw.
Definition: DrawWiz.h:81
A wizard for parametric plots using draw.
Definition: DrawWiz.h:64
A panel that shows an example image.
Definition: SvgPanel.h:40
A wizard for axis setup for draw.
Definition: DrawWiz.h:149
A wizard for contour plots.
Definition: DrawWiz.h:161
A wizard that sets the draw accuracy.
Definition: DrawWiz.h:197
A wizard for the points object for draw.
Definition: DrawWiz.h:179