1 //
2 //	matrixdialog.h
3 //
4 
5 #ifndef __MATRIXDIALOG_H__
6 #define __MATRIXDIALOG_H__
7 
8 #include "wx/dialog.h"
9 #include "wx/grid.h"
10 #include "wx/spinctrl.h"
11 #include "wx/string.h"
12 
13 #include <vector>
14 #include "graph.h"
15 #include "matrix.h"
16 
17 class wxWindow;
18 
19 
20 class MatrixGrid : public wxGrid
21 {
22 public:
23 	MatrixGrid (wxWindow *parent);
24 	void SetScrollbar (int orient, int pos, int thumb, int range,
25 						bool refresh = true);
26 };
27 
28 class MatrixDialog : public wxDialog
29 {
30 public:
31 	MatrixDialog (wxWindow *parent, const wxString &title,
32 					const Matrix &mat, const Graph &g);
33 
34 private:
35 
36 	static const int max_exponent = 20;
37 
38 	void OnChangeExponent (wxSpinEvent &event);
39 
40 	wxSpinCtrl *m_spinctrl;
41 	MatrixGrid *m_grid;
42 
43 	std::vector<Matrix> matrices;
44 
45 	DECLARE_EVENT_TABLE()
46 };
47 
48 #endif	//__MATRIXDIALOG_H__
49