wxMaxima
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 class ExplicitWiz : public wxDialog
44 {
45 public:
46  ExplicitWiz(wxWindow *parent, Configuration *config, wxString expression, int dimensions = 2);
47  wxString GetValue();
48 private:
49  int m_dimensions;
50  BTextCtrl *m_expression;
51  BTextCtrl *m_filledfunc;
52  BTextCtrl *m_x;
53  BTextCtrl *m_xStart;
54  BTextCtrl *m_xEnd;
55  BTextCtrl *m_y;
56  BTextCtrl *m_yStart;
57  BTextCtrl *m_yEnd;
58 };
59 
61 class ParametricWiz : public wxDialog
62 {
63 public:
64  ParametricWiz(wxWindow *parent, Configuration *config, int dimensions = 2);
65  wxString GetValue();
66 private:
67  int m_dimensions;
68  BTextCtrl *m_expression_x;
69  BTextCtrl *m_expression_y;
70  BTextCtrl *m_expression_z;
71  BTextCtrl *m_parameter;
72  BTextCtrl *m_parameterStart;
73  BTextCtrl *m_parameterEnd;
74 };
75 
77 class ImplicitWiz : public wxDialog
78 {
79 public:
80  ImplicitWiz(wxWindow *parent, Configuration *config, wxString expression, int dimensions = 2);
81  wxString GetValue();
82 private:
83  int m_dimensions;
84  BTextCtrl *m_expression;
85  BTextCtrl *m_x;
86  BTextCtrl *m_xStart;
87  BTextCtrl *m_xEnd;
88  BTextCtrl *m_y;
89  BTextCtrl *m_yStart;
90  BTextCtrl *m_yEnd;
91  BTextCtrl *m_z;
92  BTextCtrl *m_zStart;
93  BTextCtrl *m_zEnd;
94 };
95 
97 class AxisWiz : public wxDialog
98 {
99 public:
100  AxisWiz(wxWindow *parent, Configuration *config, int dimensions = 2);
101  wxString GetValue();
102 private:
103  int m_dimensions;
104  BTextCtrl *m_xLabel;
105  BTextCtrl *m_xStart;
106  BTextCtrl *m_xEnd;
107  BTextCtrl *m_yLabel;
108  BTextCtrl *m_yStart;
109  BTextCtrl *m_yEnd;
110  BTextCtrl *m_zLabel;
111  BTextCtrl *m_zStart;
112  BTextCtrl *m_zEnd;
113  wxCheckBox *m_useSecondaryX;
114  wxCheckBox *m_useSecondaryY;
115  BTextCtrl *m_x2Label;
116  BTextCtrl *m_x2Start;
117  BTextCtrl *m_x2End;
118  BTextCtrl *m_y2Label;
119  BTextCtrl *m_y2Start;
120  BTextCtrl *m_y2End;
121 };
122 
123 
125 class DrawWiz : public wxDialog
126 {
127 public:
128  DrawWiz(wxWindow *parent, Configuration *config, int dimensions);
129  wxString GetValue();
130 protected:
131  void OnParametricFocus(wxFocusEvent &event);
132 private:
133  int m_dimensions;
134  wxRadioButton *m_singleFrame;
135  wxRadioButton *m_multipleFrames;
136  BTextCtrl *m_frameVar;
137  BTextCtrl *m_varStart;
138  BTextCtrl *m_varEnd;
139 };
140 
142 class Wiz3D : public wxDialog
143 {
144 public:
145  Wiz3D(wxWindow *parent, Configuration *config);
146  wxString GetValue();
147 private:
148  wxCheckBox *m_hidden3d;
149  wxCheckBox *m_enhanced3d;
150 };
151 
153 class WizContour : public wxDialog
154 {
155 public:
156  WizContour(wxWindow *parent, Configuration *config);
157  wxString GetValue();
158 protected:
159  void OnRadioButton(wxCommandEvent &dummy);
160 private:
161  SvgPanel *m_image;
162  wxRadioButton *m_contourNone;
163  wxRadioButton *m_contourSurface;
164  wxRadioButton *m_contourBase;
165  wxRadioButton *m_contourBoth;
166  wxRadioButton *m_contourOnly;
167 };
168 
170 class WizPoints : public wxDialog
171 {
172 public:
173  WizPoints(wxWindow *parent, Configuration *config, int dimensions, wxString expr);
174  wxString GetValue();
175 private:
176  BTextCtrl *m_data;
177  wxRadioButton *m_formatStd;
178  wxRadioButton *m_formatListOfLists;
179  wxRadioButton *m_transposedMatrix;
180  wxRadioButton *m_transposedListOfLists;
181  wxCheckBox *m_pointsJoined;
182  wxChoice *m_pointStyle;
183  int m_dimensions;
184 };
185 
187 class WizDrawAccuracy : public wxDialog
188 {
189 public:
190  WizDrawAccuracy(wxWindow *parent, Configuration *config, int dimensions);
191  wxString GetValue();
192 private:
193  int m_dimensions;
194  BTextCtrl *m_nticks;
195  BTextCtrl *m_adapt_depth;
196  BTextCtrl *m_xu_grid;
197  BTextCtrl *m_yv_grid;
198  BTextCtrl *m_ip_grid_x;
199  BTextCtrl *m_ip_grid_y;
200  BTextCtrl *m_ip_grid_in_x;
201  BTextCtrl *m_ip_grid_in_y;
202  BTextCtrl *m_x_voxel;
203  BTextCtrl *m_y_voxel;
204  BTextCtrl *m_z_voxel;
205 };
206 
207 #endif // DRAWWIZ_H
Wiz3D
A wizard for axis setup for draw.
Definition: DrawWiz.h:142
WizDrawAccuracy::WizDrawAccuracy
WizDrawAccuracy(wxWindow *parent, Configuration *config, int dimensions)
A wizard that sets the draw accuracy.
Definition: DrawWiz.cpp:931
SvgPanel.h
WizDrawAccuracy
A wizard that sets the draw accuracy.
Definition: DrawWiz.h:187
ImplicitWiz
A wizard for implicit plots using draw.
Definition: DrawWiz.h:77
ExplicitWiz
A wizard for explicit plots using draw.
Definition: DrawWiz.h:43
WizContour
A wizard for contour plots.
Definition: DrawWiz.h:153
ParametricWiz
A wizard for parametric plots using draw.
Definition: DrawWiz.h:61
SvgPanel
Definition: SvgPanel.h:39
Configuration
Definition: Configuration.h:83
AxisWiz
A wizard for axis setup for draw.
Definition: DrawWiz.h:97
BTextCtrl
Definition: BTextCtrl.h:32
DrawWiz
A wizard for explicit plots using draw.
Definition: DrawWiz.h:125
WizPoints
A wizard for the points object for draw.
Definition: DrawWiz.h:170