BT-MatML-Editor 0.1.4
Editor for the MatML 3.1 XML Schema
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
bellshire::MatML_Doc_GUI_Base Class Reference

More...

#include <BT_MatML_MatML_Doc_GUI.h>

Inheritance diagram for bellshire::MatML_Doc_GUI_Base:
bellshire::MatML_Base_GUI bellshire::Utilities bellshire::MatML_Doc_GUI

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)
 
- Public Member Functions inherited from bellshire::MatML_Base_GUI
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)
 
- Public Member Functions inherited from bellshire::Utilities
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 Public Member Functions inherited from bellshire::Utilities
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
 

Detailed Description

MatML_Doc_GUI_Base Base Gui class for MatML data MatML_Doc.

Constructor & Destructor Documentation

◆ MatML_Doc_GUI_Base() [1/2]

MatML_Doc_GUI_Base::MatML_Doc_GUI_Base ( )

Constructor

◆ MatML_Doc_GUI_Base() [2/2]

MatML_Doc_GUI_Base::MatML_Doc_GUI_Base ( wxWindow *  parent)

Main Constructor

Parameters
parent

Create Gui

◆ ~MatML_Doc_GUI_Base()

MatML_Doc_GUI_Base::~MatML_Doc_GUI_Base ( )
virtual

Destructor

parent will distroy Ctrl or window

Member Function Documentation

◆ Create()

wxNotebook * MatML_Doc_GUI_Base::Create ( wxWindow *  parent)
static

Creates the Gui for the MatML_Doc MatML data and Info.

Parameters
parent
Returns
wxNotebook*

Creates wxNotebook

Creates the MatML data panel

Creates the MatML Info panel

Adds the above panels to the wxNotebook

◆ OnDeleteMaterial()

virtual void bellshire::MatML_Doc_GUI_Base::OnDeleteMaterial ( wxCommandEvent &  event)
inlinevirtual

Reimplemented in bellshire::MatML_Doc_GUI.

◆ SetupMatMLTreeCtrl()

void MatML_Doc_GUI_Base::SetupMatMLTreeCtrl ( TreeCtrlSorted *&  MatMLTreeCtrl,
MatML_Doc Element 
)
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.

◆ Update()

void MatML_Doc_GUI_Base::Update ( )

Nothing to update

Show Gui


The documentation for this class was generated from the following files: