BT-MatML-Editor 0.1.4
Editor for the MatML 3.1 XML Schema
BT_MatML_Shape_GUI.h
1
2// Name: BT_MatML_Shape_GUI.h
3// Purpose: Classes of Shape_GUI Base and Derived.
4// Author: Paul McGrath
5// Modified by:
6// Created:
7// Copyright: (c) Paul McGrath
8// Licence: CC licence
10#pragma once
11
12
13// For compilers that support precompilation, includes "wx/wx.h".
14#include "wx/wxprec.h"
15
16
17#ifndef WX_PRECOMP
18#include "wx/wx.h"
19#endif
20
21#include <wx/dcsvg.h>
22#include <wx/notebook.h>
23#include <wx/string.h>
24
25#include <math.h>
26#include <string.h>
27#include "StringStream.h"
28
29#include "matml31.hxx"
30#include "matml31_strongtypedef.h"
31
32#include "BT_MatML_Base_GUI.h"
33#include "BT_MatML_MatMLInfo_GUI.h"
34
35#include "BT_MatML_GUI.h"
36#include "BT_MatML_MatMLTreeItemData.h"
37#include "BT_MatML_TreeCtrlSorted.h"
38
39namespace bellshire {
40
42 {
43 public:
44 wxNotebook* m_GUI;
45 wxTextCtrl* m_ShapeTextCtrl;
46
48 Shape_GUI_Base(wxWindow* parent);
49
50 virtual ~Shape_GUI_Base();
51
52 static wxNotebook* Create(wxWindow* parent, wxTextCtrl*& ShapeTextCtrl);
53
54 void Show(bool show = true) { if (m_GUI != nullptr) m_GUI->Show(show); };
55 bool IsShown() { return m_GUI->IsShown(); };
56 wxNotebook* get() { return m_GUI; };
57
58 void Update( Shape* element);
59 static wxTreeItemId SetupMatMLTreeCtrl(TreeCtrlSorted*& MatMLTreeCtrl,
60 const wxTreeItemId& ParentId,
61 Geometry::Shape_type& Element,
62 const wxTreeItemId& PreviousId
63 );
64
65 void SetConnect();
66 virtual void OnShapeTextCtrl(wxCommandEvent& event) { event.Skip(); }
67
68 private:
69 };
70
72 {
73 public:
74
75 TreeCtrlSorted* m_MatMLTreeCtrl;//Required before Event Handling.
76
77 Shape_GUI();
78 Shape_GUI(wxWindow* parent);
79
80 virtual ~Shape_GUI();
81
82 void SetEvtHandlerVar(TreeCtrlSorted*& MatMLTreeCtrl);//Required before Event Handling.
83 void SetMatMLTreeCtrl(TreeCtrlSorted*& MatMLTreeCtrl);
84
85 //Overwrites the base class functions
86 void OnShapeTextCtrl(wxCommandEvent& event);
87 private:
88 };
89
90}; //namespace bellshire end
91#pragma once
Definition: matml31.hxx:1705
Definition: BT_MatML_Base_GUI.h:163
Definition: BT_MatML_Shape_GUI.h:42
static wxNotebook * Create(wxWindow *parent, wxTextCtrl *&ShapeTextCtrl)
Create the GUI for the Shape MatML Data and Info
Definition: BT_MatML_Shape_GUI.cpp:30
static wxTreeItemId SetupMatMLTreeCtrl(TreeCtrlSorted *&MatMLTreeCtrl, const wxTreeItemId &ParentId, Geometry::Shape_type &Element, const wxTreeItemId &PreviousId)
This set-up the Parent MatML Data into a wxTreeCtrl element and then call on the Children to do the s...
Definition: BT_MatML_Shape_GUI.cpp:84
Definition: BT_MatML_Shape_GUI.h:72
Shape_GUI()
Constructor for the derived class
Definition: BT_MatML_Shape_GUI.cpp:131
void SetMatMLTreeCtrl(TreeCtrlSorted *&MatMLTreeCtrl)
Set the Event Handler associated with the MatML wxTreeCtrl Required before using the derived class's ...
Definition: BT_MatML_Shape_GUI.cpp:169
void SetEvtHandlerVar(TreeCtrlSorted *&MatMLTreeCtrl)
Function used to set up this objects member variables which is used in the EventHandler's functions....
Definition: BT_MatML_Shape_GUI.cpp:159
virtual ~Shape_GUI()
Destructor for the derived class
Definition: BT_MatML_Shape_GUI.cpp:150
Definition: BT_MatML_TreeCtrlSorted.h:19
Contains the GUI and GUI associated classes. OnInit() calls the creation of the MaterialFrame GUI
Definition: BT_MatML_App.h:39