wxMaxima
Loading...
Searching...
No Matches
MatWiz.h
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//
5// This program is free software; you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation; either version 2 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15//
16// You should have received a copy of the GNU General Public License
17// along with this program; if not, write to the Free Software
18// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19//
20// SPDX-License-Identifier: GPL-2.0+
21
22#ifndef MATWIZ_H
23#define MATWIZ_H
24
25#include "precomp.h"
26#include <wx/wx.h>
27#include <wx/statline.h>
28
29#include "BTextCtrl.h"
30
31#include <vector>
32
33// cppcheck-suppress ctuOneDefinitionRuleViolation
34class MatWiz : public wxDialog
35{
36public:
37 enum MatrixType
38 {
39 MATRIX_GENERAL,
40 MATRIX_DIAGONAL,
41 MATRIX_SYMMETRIC,
42 MATRIX_ANTISYMMETRIC
43 };
44
45 MatWiz(wxWindow *parent, int id,
46 Configuration *cfg,
47 const wxString &title,
48 int type, long h, long w,
49 const wxPoint &pos = wxDefaultPosition,
50 const wxSize &size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE);
51
52 wxString GetValue();
53
54private:
55 void OnButton(wxCommandEvent &event);
56
57 void set_properties();
58
59 void do_layout();
60
61 int m_width, m_height;
62 int m_matrixType;
63 std::vector<BTextCtrl *> m_inputs;
64 wxStaticLine *static_line_1;
65 wxButton *button_1;
66 wxButton *button_2;
67};
68
69class MatDim : public wxDialog
70{
71public:
72 MatDim(wxWindow *parent, int id,
73 Configuration *cfg,
74 const wxString &title,
75 const wxPoint &pos = wxDefaultPosition,
76 const wxSize &size = wxDefaultSize,
77 long style = wxDEFAULT_DIALOG_STYLE);
78
79 wxString GetValue1()
80 {
81 return text_ctrl_1->GetValue();
82 }
83
84 wxString GetValue2()
85 {
86 return text_ctrl_2->GetValue();
87 }
88
89 wxString GetValue0()
90 {
91 return text_ctrl_0->GetValue();
92 }
93
94 int GetMatrixType();
95
96private:
97 void set_properties();
98
99 void do_layout();
100
101protected:
102 wxStaticText *label_0;
103 BTextCtrl *text_ctrl_0;
104 wxStaticText *label_2;
105 BTextCtrl *text_ctrl_1;
106 wxStaticText *label_3;
107 BTextCtrl *text_ctrl_2;
108 wxStaticText *label_4;
109 wxChoice *choice_1;
110 wxStaticLine *static_line_1;
111 wxButton *button_1;
112 wxButton *button_2;
113};
114
115#endif // MATWIZ_H
A wxTextCtrl with parenthesis matching.
Definition: BTextCtrl.h:33
The configuration storage for the current worksheet.
Definition: Configuration.h:85
Definition: MatWiz.h:70
Definition: MatWiz.h:35