![]() |
BT-MatML-Editor 0.1.4
Editor for the MatML 3.1 XML Schema
|
#include <BT_MatML_MatML_Doc_GUI.h>
Public Member Functions | |
MatML_Doc_GUI_Base () | |
MatML_Doc_GUI_Base (wxWindow *parent) | |
virtual | ~MatML_Doc_GUI_Base () |
void | Show (bool show=true) |
wxNotebook * | get () |
void | Update () |
void | SetConnect () |
virtual void | OnDeleteMaterial (wxCommandEvent &event) |
![]() | |
bool | Warning (::std::string msg) |
template<class MatML_Class > | |
MatML_Class * | GetSelMatML (TreeCtrlSorted *MatMLTreeCtrl) |
template<class MatML_Class > | |
MatML_Class * | GetSelParentMatML (TreeCtrlSorted *MatMLTreeCtrl) |
template<typename MatML_ParentClass , typename GUI_ParentClass > | |
void | SetupSel (TreeCtrlSorted *MatMLTreeCtrl) |
template<typename MatML_ParentClass , typename GUI_ParentClass > | |
void | SetupStrongTypeSel (TreeCtrlSorted *MatMLTreeCtrl) |
template<typename MatML_ParentClass , typename GUI_ParentClass > | |
void | SetupSelParent (TreeCtrlSorted *MatMLTreeCtrl) |
template<class InputIterator , class T > | |
InputIterator | find (InputIterator first, InputIterator last, const T &val) |
template<typename MatML_Class , typename MatML_ContClass > | |
void | InsertChild (MatML_ContClass &MatML_Cont) |
Does Nothing. Child are required in the MatML structure and are inserted automatically through the Default classes. More... | |
template<typename MatML_Class , typename MatML_ContClass > | |
void | InsertContChild (MatML_ContClass &MatML_Cont) |
Inserts the MatML Data into the MatML container element More... | |
template<typename MatML_Class , typename MatML_ContClass > | |
void | InsertSeqContChild (MatML_ContClass &MatML_Cont) |
Inserts the MatML Data into the MatML sequence container element More... | |
template<typename MatML_ContClass > | |
void | DeleteChild (MatML_ContClass &MatML) |
Does Nothing. Child are REQUIRED in the MatML structure and are inserted automatically through the Default classes. More... | |
template<typename MatML_ContClass > | |
void | DeleteContChild (MatML_ContClass &MatML_Cont) |
template<typename MatML_Class , typename MatML_ContClass > | |
void | DeleteSeqContChild (MatML_Class *MatML, MatML_ContClass &MatML_Cont) |
template<typename MatML_Class , typename MatML_ContClass > | |
void | PasteChild (MatML_Class *MatML, MatML_ContClass &MatML_Cont) |
template<typename MatML_Class , typename MatML_ContClass > | |
void | PasteContChild (MatML_Class *MatML, MatML_ContClass &MatML_Cont) |
template<typename MatML_Class , typename MatML_ContClass > | |
void | PasteSeqContChild (MatML_Class *MatML, MatML_ContClass &MatML_Cont) |
template<class MatML_Class > | |
void | SwapHavingId (MatML_Class *matml0, MatML_Class *matml1) |
Swap function with MatML Classes that have required Id. This has the added complication that the id's can not be duplicated during the swap. More... | |
template<class MatML_Class > | |
void | SwapHavingOptionalId (MatML_Class *matml0, MatML_Class *matml1) |
Swap function with MatML Classes that have Optional Id. This has the added complication that the id's can not be duplicated during the swap. More... | |
template<class MatML_Class , class MatML_ContClass > | |
std::pair< MatML_Class *, MatML_Class * > | MatMLFindAndBumpDown (MatML_Class *matml, MatML_ContClass &cont) |
template<class MatML_Class , class MatML_ContClass > | |
std::pair< MatML_Class *, MatML_Class * > | MatMLFindAndBumpDownStrongtype (MatML_Class *matml, MatML_ContClass &cont) |
template<class MatML_Class , class MatML_ContClass > | |
std::pair< MatML_Class *, MatML_Class * > | MatMLFindAndBumpDownHavingId (MatML_Class *matml, MatML_ContClass &cont) |
Similar to MatMLFindAndBumpDown with the added complication that the Required Id's cannot be duplicated during the swap. More... | |
template<class MatML_Class , class MatML_ContClass > | |
std::pair< MatML_Class *, MatML_Class * > | MatMLFindAndBumpDownHavingOptionalId (MatML_Class *matml, MatML_ContClass &cont) |
Similar to MatMLFindAndBumpDown with the added complication that the optional Id's cannot be duplicated during the swap. More... | |
template<class Child_GUI , class MatML > | |
void | MatMLTreeCtrlBumpDown (TreeCtrlSorted *&treectrl, wxTreeItemId &itemParentId, wxTreeItemId &itemId, MatML *first, wxTreeItemId &nextitemId, MatML *second) |
template<class MatML_Class , class MatML_ContClass > | |
std::pair< MatML_Class *, MatML_Class * > | MatMLFindAndBumpUp (MatML_Class *matml, MatML_ContClass &cont) |
template<class MatML_Class , class MatML_ContClass > | |
std::pair< MatML_Class *, MatML_Class * > | MatMLFindAndBumpUpStrongtype (MatML_Class *matml, MatML_ContClass &cont) |
template<class MatML_ContClass > | |
std::pair< typename MatML_ContClass::value_type *, typename MatML_ContClass::value_type * > | MatMLFindAndBumpUpHavingId (typename MatML_ContClass::value_type *matml, MatML_ContClass &cont) |
Similar to MatMLFindAndBumpUp with the added complication that the Required Id's cannot be duplicated during the swap. More... | |
template<class MatML_ContClass > | |
std::pair< typename MatML_ContClass::value_type *, typename MatML_ContClass::value_type * > | MatMLFindAndBumpUpHavingOptionalId (typename MatML_ContClass::value_type *matml, MatML_ContClass &cont) |
Similar to MatMLFindAndBumpUp with the added complication that the optional Id's cannot be duplicated during the swap. More... | |
template<class Child_GUI , class MatML > | |
void | MatMLTreeCtrlBumpUp (TreeCtrlSorted *&treectrl, wxTreeItemId &itemParentId, wxTreeItemId &previtemId, MatML *first, wxTreeItemId &itemId, MatML *second) |
template<class Child_GUI , class MatML > | |
void | MatMLTreeCtrlBumpUpStrongtype (TreeCtrlSorted *&treectrl, wxTreeItemId &itemParentId, wxTreeItemId &previtemId, MatML *first, wxTreeItemId &itemId, MatML *second) |
template<class MatML_Class , class MatML_ParentClass , class MatML_ContClass , class MatML_GUI , MatML_ContClass &(MatML_ParentClass::*)() cont_func> | |
void | IndividualBumpUp (boost::any anyptr, boost::any anyptrparent, TreeCtrlSorted *MatMLTreeCtrl, wxTreeItemId itemParentId, wxTreeItemId itemId, wxTreeItemId nextitemId) |
template<class MatML_Class , class MatML_ParentClass , class MatML_ContClass , class MatML_GUI , MatML_ContClass &(MatML_ParentClass::*)() cont_func> | |
void | IndividualBumpUpStrongtype (boost::any anyptr, boost::any anyptrparent, TreeCtrlSorted *MatMLTreeCtrl, wxTreeItemId itemParentId, wxTreeItemId itemId, wxTreeItemId nextitemId) |
template<class MatML_Class , class MatML_ParentClass , class MatML_ContClass , class MatML_GUI , MatML_ContClass &(MatML_ParentClass::*)() cont_func> | |
void | IndividualBumpUpHavingId (boost::any anyptr, boost::any anyptrparent, TreeCtrlSorted *MatMLTreeCtrl, wxTreeItemId itemParentId, wxTreeItemId itemId, wxTreeItemId nextitemId) |
template<class MatML_Class , class MatML_ParentClass , class MatML_ContClass , class MatML_GUI , MatML_ContClass &(MatML_ParentClass::*)() cont_func> | |
void | IndividualBumpUpHavingOptionalId (boost::any anyptr, boost::any anyptrparent, TreeCtrlSorted *MatMLTreeCtrl, wxTreeItemId itemParentId, wxTreeItemId itemId, wxTreeItemId nextitemId) |
template<class MatML_Class , class MatML_ParentClass , class MatML_ContClass , class MatML_GUI , MatML_ContClass &(MatML_ParentClass::*)() cont_func> | |
void | IndividualBumpDown (boost::any &anyptr, boost::any &anyptrparent, TreeCtrlSorted *MatMLTreeCtrl, wxTreeItemId itemParentId, wxTreeItemId previtemId, wxTreeItemId itemId) |
template<class MatML_Class , class MatML_ParentClass , class MatML_ContClass , class MatML_GUI , MatML_ContClass &(MatML_ParentClass::*)() cont_func> | |
void | IndividualBumpDownStrongtype (boost::any &anyptr, boost::any &anyptrparent, TreeCtrlSorted *MatMLTreeCtrl, wxTreeItemId itemParentId, wxTreeItemId previtemId, wxTreeItemId itemId) |
template<class MatML_Class , class MatML_ParentClass , class MatML_ContClass , class MatML_GUI , MatML_ContClass &(MatML_ParentClass::*)() cont_func> | |
void | IndividualBumpDownHavingId (boost::any &anyptr, boost::any &anyptrparent, TreeCtrlSorted *MatMLTreeCtrl, wxTreeItemId itemParentId, wxTreeItemId previtemId, wxTreeItemId itemId) |
template<class MatML_Class , class MatML_ParentClass , class MatML_ContClass , class MatML_GUI , MatML_ContClass &(MatML_ParentClass::*)() cont_func> | |
void | IndividualBumpDownHavingOptionalId (boost::any &anyptr, boost::any &anyptrparent, TreeCtrlSorted *MatMLTreeCtrl, wxTreeItemId itemParentId, wxTreeItemId previtemId, wxTreeItemId itemId) |
![]() | |
void | CollectBranchMaterials (boost::shared_ptr< MatML_Doc > doc, Material *m, std::vector< Material * > &ms) |
Collect Branch of Materials More... | |
void | CollectBranchMaterialsBackwards (Material *m, std::vector< Material * > &ms) |
Collect Branch of Materials in the Backwards direction More... | |
void | CollectBranchMaterialsForewards (boost::shared_ptr< MatML_Doc > doc, Material *m, std::vector< Material * > &ms) |
Collect Branch of Materials in the Forwards direction More... | |
Static Public Member Functions | |
static wxNotebook * | Create (wxWindow *parent) |
static void | SetupMatMLTreeCtrl (TreeCtrlSorted *&MatMLTreeCtrl, MatML_Doc &Element) |
This set-up the Parent MatML data into a wxTreeCtrl element and then call on the Children to do the same. This mimics the MatML data tree into wxWidget wxTreeCtrl. More... | |
![]() | |
static wxTreeItemId | MatMLtoTreeCtrl (TreeCtrlSorted *MatMLTreeCtrl, Material *MatMLMaterial) |
Searches the TreeCtrl to find the MatML Element More... | |
static std::list< std::pair< Material *, xml_schema::string > > | GetMaterialIDPair (::boost::shared_ptr< MatML_Doc > MatMLDoc, std::list< xml_schema::string > ClassFilters=std::list< xml_schema::string >()) |
Gather Material* and Material->ID paired together in a list. More... | |
static bool | InFilter (Material *material, std::list< xml_schema::string > Filter) |
Determines if the Material has a Class->Name for each of the ClassFilter strings If the filter is empty then the default is true. More... | |
static bool | InFilter (Material *material, xml_schema::string *Filter) |
Determines if the Material has a Class->Name that matches the ClassFilter string More... | |
static std::list< Name * > | GetMatMLDocClassNames (::boost::shared_ptr< MatML_Doc > MatMLDoc) |
Gathers within the MatMLDoc all of the materials->BulkDetails->Class->Name More... | |
static std::list< Name * > | GetBulkDetailsClassNames (Material *material) |
Get the Materials BulkDetails->Class->Names More... | |
static bool | CompareName (Name *&first, Name *&second) |
Comparision of the First Name to the Second Name More... | |
static bool | SameName (Name *&first, Name *&second) |
Compare if the First Name and Second Name are the same a binary predicate implemented as a function More... | |
::std::string | Label (::std::string name, ::std::string id) |
Creates a string of the Labels used in wxWidgets displays More... | |
::std::string | LabelToId (::std::string label) |
static std::list< xml_schema::string > | wx2std (const wxArrayString &wxstr) |
Converts wxArrayString to std::list of xml_schema::string More... | |
static wxArrayString | std2wx (const std::list< xml_schema::string > &stdstr) |
Converts list of xml_schema::string to wxArrayString More... | |
Public Attributes | |
wxNotebook * | m_GUI |
MatML_Doc_GUI_Base Base Gui class for MatML data MatML_Doc.
MatML_Doc_GUI_Base::MatML_Doc_GUI_Base | ( | ) |
Constructor
MatML_Doc_GUI_Base::MatML_Doc_GUI_Base | ( | wxWindow * | parent | ) |
Main Constructor
parent |
Create Gui
|
virtual |
Destructor
parent will distroy Ctrl or window
|
static |
Creates the Gui for the MatML_Doc MatML data and Info.
parent |
Creates wxNotebook
Creates the MatML data panel
Creates the MatML Info panel
Adds the above panels to the wxNotebook
|
inlinevirtual |
Reimplemented in bellshire::MatML_Doc_GUI.
|
static |
This set-up the Parent MatML data into a wxTreeCtrl element and then call on the Children to do the same. This mimics the MatML data tree into wxWidget wxTreeCtrl.
As this is the root element in the wxTreeCtrl, clear out all wxTreeCtrl data and start fresh.
Create the current element and add the MatMLTreeItemData
Setup element Material
Setup element Metadata
Sort Children in order. Order is set by TreeCtrlSorted.
void MatML_Doc_GUI_Base::Update | ( | ) |
Nothing to update
Show Gui