BT-MatML-Editor 0.1.4
Editor for the MatML 3.1 XML Schema
BT_MatML_GUI.h
1
2// Name: BT_MatML_GUI.h
3// Purpose: Headers of GUI interfaces.
4// Author: Paul McGrath
5// Modified by:
6// Created:
7// Copyright: (c) Paul McGrath
8// Licence: CC licence
10#pragma once
11
12#include "BT_MatML_MatMLInfo_GUI.h"
13#include "BT_MatML_PropertyDetails_Display_GUI.h"
14#include "BT_MatML_MeasurementTechniqueDetails_Display_GUI.h"
15#include "BT_MatML_DataSourceDetails_Display_GUI.h"
16#include "BT_MatML_SpecimenDetails_Display_GUI.h"
17#include "BT_MatML_TestConditionDetails_Display_GUI.h"
18#include "BT_MatML_ParameterDetails_Display_GUI.h"
19#include "BT_MatML_AuthorityDetails_Display_GUI.h"
20#include "BT_MatML_SourceDetails_Display_GUI.h"
21#include "BT_MatML_ID_GUI.h"
22
23#include "BT_MatML_Intro_GUI.h"
24#include "BT_MatML_Graph_GUI.h"
25#include "BT_MatML_MatML_Doc_GUI.h"
26#include "BT_MatML_Material_GUI.h"
27#include "BT_MatML_Associate_GUI.h"
28#include "BT_MatML_AssociationDetails_GUI.h"
29#include "BT_MatML_AuthorityDetails_GUI.h"
30#include "BT_MatML_BulkDetails_GUI.h"
31#include "BT_MatML_Characterization_GUI.h"
32#include "BT_MatML_ChemicalComposition_GUI.h"
33#include "BT_MatML_ChemicalElementSymbol_GUI.h"
34#include "BT_MatML_Class_GUI.h"
35#include "BT_MatML_Subclass_GUI.h"
36#include "BT_MatML_Subclass1_GUI.h"
37#include "BT_MatML_ParentMaterial_GUI.h"
38#include "BT_MatML_ParentSubClass_GUI.h"
39#include "BT_MatML_ComponentDetails_GUI.h"
40#include "BT_MatML_Compound_GUI.h"
41#include "BT_MatML_Concentration_GUI.h"
42#include "BT_MatML_CurrencyCode_GUI.h"
43#include "BT_MatML_DataSourceDetails_GUI.h"
44#include "BT_MatML_DimensionalDetails_GUI.h"
45#include "BT_MatML_Element_GUI.h"
46#include "BT_MatML_Form_GUI.h"
47#include "BT_MatML_Formula_GUI.h"
48#include "BT_MatML_Geometry_GUI.h"
49#include "BT_MatML_Shape_GUI.h"
50#include "BT_MatML_Dimensions_GUI.h"
51#include "BT_MatML_Orientation_GUI.h"
52#include "BT_MatML_Glossary_GUI.h"
53#include "BT_MatML_GlossaryTerm_GUI.h"
54#include "BT_MatML_Definition_GUI.h"
55#include "BT_MatML_Abbreviation_GUI.h"
56#include "BT_MatML_Symbol_GUI.h"
57#include "BT_MatML_Synonym_GUI.h"
58#include "BT_MatML_Graphs_GUI.h"
59#include "BT_MatML_MeasurementTechniqueDetails_GUI.h"
60#include "BT_MatML_Metadata_GUI.h"
61#include "BT_MatML_Name_GUI.h"
62#include "BT_MatML_Notes_GUI.h"
63#include "BT_MatML_ParameterDetails_GUI.h"
64#include "BT_MatML_ParameterValue_GUI.h"
65#include "BT_MatML_Data_GUI.h"
66#include "BT_MatML_PhaseComposition_GUI.h"
67#include "BT_MatML_ProcessingDetails_GUI.h"
68#include "BT_MatML_Result_GUI.h"
69#include "BT_MatML_Relationship_GUI.h"
70#include "BT_MatML_PropertyData_GUI.h"
71#include "BT_MatML_Data1_GUI.h"
72#include "BT_MatML_PropertyDetails_GUI.h"
73#include "BT_MatML_Qualifier_GUI.h"
74#include "BT_MatML_Source_GUI.h"
75#include "BT_MatML_SourceDetails_GUI.h"
76#include "BT_MatML_Specification_GUI.h"
77#include "BT_MatML_SpecimenDetails_GUI.h"
78#include "BT_MatML_TestConditionDetails_GUI.h"
79#include "BT_MatML_Uncertainty_GUI.h"
80#include "BT_MatML_Scale_GUI.h"
81#include "BT_MatML_Unit_GUI.h"
82#include "BT_MatML_Unitless_GUI.h"
83#include "BT_MatML_Units_GUI.h"
84#include "BT_MatML_Value_GUI.h"
85
86namespace bellshire {
87
88 class Intro_GUI;
89 class MatML_Doc_GUI;
90 class Material_GUI;
91 class Associate_GUI;
94 class BulkDetails_GUI;
98 class Class_GUI;
99 class Subclass_GUI;
100 class Subclass1_GUI;
101 class ParentMaterial_GUI;
102 class ParentSubClass_GUI;
104 class Compound_GUI;
105 class Concentration_GUI;
106 class CurrencyCode_GUI;
109 class Element_GUI;
110 class Symbol_GUI;
111 class Form_GUI;
112 class Formula_GUI;
113 class Geometry_GUI;
114 class Shape_GUI;
115 class Dimensions_GUI;
116 class Orientation_GUI;
117 class Glossary_GUI;
118 class GlossaryTerm_GUI;
119 class Definition_GUI;
120 class Abbreviation_GUI;
121 class Synonym_GUI;
122 class Graphs_GUI;
123 class Graph_GUI;
125 class Metadata_GUI;
126 class Name_GUI;
127 class Notes_GUI;
129 class ParameterValue_GUI;
130 class Data_GUI;
133 class Result_GUI;
134 class Relationship_GUI;
135 class PropertyData_GUI;
136 class Data1_GUI;
138 class Qualifier_GUI;
139 class Source_GUI;
140 class SourceDetails_GUI;
141 class Specification_GUI;
144 class Uncertainty_GUI;
145 class Scale_GUI;
146 class Unit_GUI;
147 class Unitless_GUI;
148 class Units_GUI;
149 class Value_GUI;
150
158 class GUI
159 {
160 public:
161 static const unsigned m_nclasses=63;
162 Intro_GUI* m_Intro_GUI;
163 MatML_Doc_GUI* m_MatML_Doc_GUI;
164 Material_GUI* m_Material_GUI;
165 Associate_GUI* m_Associate_GUI;
166 AssociationDetails_GUI* m_AssociationDetails_GUI;
167 AuthorityDetails_GUI* m_AuthorityDetails_GUI;
168 BulkDetails_GUI* m_BulkDetails_GUI;
169 Characterization_GUI* m_Characterization_GUI;
170 ChemicalComposition_GUI* m_ChemicalComposition_GUI;
171 ChemicalElementSymbol_GUI* m_ChemicalElementSymbol_GUI;
172 Class_GUI* m_Class_GUI;
173 Subclass_GUI* m_Subclass_GUI;
174 Subclass1_GUI* m_Subclass1_GUI;
175 ParentMaterial_GUI* m_ParentMaterial_GUI;
176 ParentSubClass_GUI* m_ParentSubClass_GUI;
177 ComponentDetails_GUI* m_ComponentDetails_GUI;
178 Compound_GUI* m_Compound_GUI;
179 Concentration_GUI* m_Concentration_GUI;
180 CurrencyCode_GUI* m_CurrencyCode_GUI;
181 DataSourceDetails_GUI* m_DataSourceDetails_GUI;
182 DimensionalDetails_GUI* m_DimensionalDetails_GUI;
183 Element_GUI* m_Element_GUI;
184 Symbol_GUI* m_Symbol_GUI;
185 Form_GUI* m_Form_GUI;
186 Formula_GUI* m_Formula_GUI;
187 Geometry_GUI* m_Geometry_GUI;
188 Shape_GUI* m_Shape_GUI;
189 Dimensions_GUI* m_Dimensions_GUI;
190 Orientation_GUI* m_Orientation_GUI;
191 Glossary_GUI* m_Glossary_GUI;
192 GlossaryTerm_GUI* m_GlossaryTerm_GUI;
193 Definition_GUI* m_Definition_GUI;
194 Abbreviation_GUI* m_Abbreviation_GUI;
195 Synonym_GUI* m_Synonym_GUI;
196 Graphs_GUI* m_Graphs_GUI;
197 Graph_GUI* m_Graph_GUI;
198 MeasurementTechniqueDetails_GUI* m_MeasurementTechniqueDetails_GUI;
199 Metadata_GUI* m_Metadata_GUI;
200 Name_GUI* m_Name_GUI;
201 Notes_GUI* m_Notes_GUI;
202 ParameterDetails_GUI* m_ParameterDetails_GUI;
203 ParameterValue_GUI* m_ParameterValue_GUI;
204 Data_GUI* m_Data_GUI;
205 PhaseComposition_GUI* m_PhaseComposition_GUI;
206 ProcessingDetails_GUI* m_ProcessingDetails_GUI;
207 Result_GUI* m_Result_GUI;
208 Relationship_GUI* m_Relationship_GUI;
209 PropertyData_GUI* m_PropertyData_GUI;
210 Data1_GUI* m_Data1_GUI;
211 PropertyDetails_GUI* m_PropertyDetails_GUI;
212 Qualifier_GUI* m_Qualifier_GUI;
213 Source_GUI* m_Source_GUI;
214 SourceDetails_GUI* m_SourceDetails_GUI;
215 Specification_GUI* m_Specification_GUI;
216 SpecimenDetails_GUI* m_SpecimenDetails_GUI;
217 TestConditionDetails_GUI* m_TestConditionDetails_GUI;
218 Uncertainty_GUI* m_Uncertainty_GUI;
219 Scale_GUI* m_Scale_GUI;
220 Unit_GUI* m_Unit_GUI;
221 Unitless_GUI* m_Unitless_GUI;
222 Units_GUI* m_Units_GUI;
223 Value_GUI* m_Value_GUI;
224
225 GUI();
226 GUI(wxWindow* parent);
227 virtual ~GUI();
229 void SetSizer(wxFlexGridSizer*& fgSizer);
231 template<class MatML_Class, class GUI_Class>
232 bool Update_individual_GUI(::boost::any anyptr, GUI_Class GUI);
234 template<class MatML_Class, class GUI_Class>
235 bool Update_individual_GUI(::boost::any anyptr, GUI_Class GUI, ::boost::shared_ptr<MatML_Doc> doc);
237 void Update_GUI(::boost::any anyptr, ::boost::shared_ptr<MatML_Doc> doc);
239 void HideAllPanels();
241 void SetEvtHandlerVar(TreeCtrlSorted* MatMLTreeCtrl, ::boost::shared_ptr<MatML_Doc> doc);
242 };
243
244}//bellshire
Definition: BT_MatML_Abbreviation_GUI.h:73
Definition: BT_MatML_Associate_GUI.h:63
Definition: BT_MatML_AssociationDetails_GUI.h:79
Definition: BT_MatML_AuthorityDetails_GUI.h:87
Definition: BT_MatML_BulkDetails_GUI.h:97
Definition: BT_MatML_Characterization_GUI.h:80
Definition: BT_MatML_ChemicalComposition_GUI.h:72
Definition: BT_MatML_ChemicalElementSymbol_GUI.h:69
Definition: BT_MatML_Class_GUI.h:75
Definition: BT_MatML_ComponentDetails_GUI.h:109
Definition: BT_MatML_Compound_GUI.h:77
Definition: BT_MatML_Concentration_GUI.h:82
Definition: BT_MatML_CurrencyCode_GUI.h:66
Definition: BT_MatML_Data1_GUI.h:85
Definition: BT_MatML_Data_GUI.h:83
Definition: BT_MatML_DataSourceDetails_GUI.h:91
Definition: BT_MatML_Definition_GUI.h:69
Definition: BT_MatML_DimensionalDetails_GUI.h:88
Definition: BT_MatML_Dimensions_GUI.h:71
Definition: BT_MatML_Element_GUI.h:85
Definition: BT_MatML_Form_GUI.h:79
Definition: BT_MatML_Formula_GUI.h:69
GUI for each of the MatML classes
Definition: BT_MatML_GUI.h:159
void SetEvtHandlerVar(TreeCtrlSorted *MatMLTreeCtrl, ::boost::shared_ptr< MatML_Doc > doc)
Sets the variables for the Event Handlers related to the MatML_GUIs. These variables are members of t...
Definition: BT_MatML_GUI.cpp:504
void SetSizer(wxFlexGridSizer *&fgSizer)
Assumes the same sizer for all the MatML GUIs and that the panels are placed adjacent....
Definition: BT_MatML_GUI.cpp:226
GUI()
Definition: BT_MatML_GUI.cpp:10
virtual ~GUI()
Destroys individual MatML GUIs
Definition: BT_MatML_GUI.cpp:151
bool Update_individual_GUI(::boost::any anyptr, GUI_Class GUI)
Template for updating the individual GUI based on the boost::any pointer caste type.
Definition: BT_MatML_GUI.cpp:303
void Update_GUI(::boost::any anyptr, ::boost::shared_ptr< MatML_Doc > doc)
Updating one of the MatML GUIs based on the boost::any pointer. Polymorphic calls using the anyptr.
Definition: BT_MatML_GUI.cpp:357
void HideAllPanels()
Definition: BT_MatML_GUI.cpp:432
Definition: BT_MatML_Geometry_GUI.h:79
Definition: BT_MatML_Glossary_GUI.h:74
Definition: BT_MatML_GlossaryTerm_GUI.h:90
Definition: BT_MatML_Graph_GUI.h:76
Definition: BT_MatML_Graphs_GUI.h:71
Definition: BT_MatML_Intro_GUI.h:67
Definition: BT_MatML_MatML_Doc_GUI.h:74
Definition: BT_MatML_Material_GUI.h:102
Definition: BT_MatML_MeasurementTechniqueDetails_GUI.h:91
Definition: BT_MatML_Metadata_GUI.h:97
Definition: BT_MatML_Name_GUI.h:79
Definition: BT_MatML_Notes_GUI.h:64
Definition: BT_MatML_Orientation_GUI.h:69
Definition: BT_MatML_ParameterDetails_GUI.h:95
Definition: BT_MatML_ParameterValue_GUI.h:94
Definition: BT_MatML_ParentMaterial_GUI.h:104
Definition: BT_MatML_ParentSubClass_GUI.h:76
Definition: BT_MatML_PhaseComposition_GUI.h:83
Definition: BT_MatML_ProcessingDetails_GUI.h:84
Definition: BT_MatML_PropertyData_GUI.h:131
Definition: BT_MatML_PropertyDetails_GUI.h:99
Definition: BT_MatML_Qualifier_GUI.h:78
Definition: BT_MatML_Relationship_GUI.h:65
Definition: BT_MatML_Result_GUI.h:69
Definition: BT_MatML_Scale_GUI.h:78
Definition: BT_MatML_Shape_GUI.h:72
Definition: BT_MatML_Source_GUI.h:80
Definition: BT_MatML_SourceDetails_GUI.h:93
Definition: BT_MatML_Specification_GUI.h:80
Definition: BT_MatML_SpecimenDetails_GUI.h:97
Definition: BT_MatML_Subclass1_GUI.h:78
Definition: BT_MatML_Subclass_GUI.h:77
Definition: BT_MatML_Symbol_GUI.h:66
Definition: BT_MatML_Synonym_GUI.h:73
Definition: BT_MatML_TestConditionDetails_GUI.h:92
Definition: BT_MatML_TreeCtrlSorted.h:19
Definition: BT_MatML_Uncertainty_GUI.h:100
Definition: BT_MatML_Unit_GUI.h:89
Definition: BT_MatML_Unitless_GUI.h:64
Definition: BT_MatML_Units_GUI.h:85
Definition: BT_MatML_Value_GUI.h:84
Contains the GUI and GUI associated classes. OnInit() calls the creation of the MaterialFrame GUI
Definition: BT_MatML_App.h:39