85 lines
2.4 KiB
C++
85 lines
2.4 KiB
C++
/*
|
|
* ObjectModelReference.cpp
|
|
*
|
|
* Created on: Apr 17, 2016
|
|
* Author: beckermj
|
|
*/
|
|
|
|
#include "ObjectModelReference.h"
|
|
|
|
namespace UniversalEditor {
|
|
|
|
List<ObjectModelReference*>* ObjectModelReference::_objectModelReferencesList = new List<ObjectModelReference*>();
|
|
List<ObjectModelReference*>* ObjectModelReference::_visibleObjectModelReferencesList = NULL;
|
|
|
|
ObjectModelReference::ObjectModelReference() {
|
|
this->_ID = Guid::EMPTY;
|
|
this->_TypeName = String::EMPTY;
|
|
this->_Visible = true;
|
|
}
|
|
|
|
ObjectModelReference::~ObjectModelReference() {
|
|
// TODO Auto-generated destructor stub
|
|
}
|
|
|
|
List<ObjectModelReference*>* ObjectModelReference::getObjectModelReferencesList() {
|
|
return ObjectModelReference::_objectModelReferencesList;
|
|
}
|
|
List<ObjectModelReference*>* ObjectModelReference::getVisibleObjectModelReferencesList() {
|
|
if (ObjectModelReference::_visibleObjectModelReferencesList == NULL)
|
|
{
|
|
List<ObjectModelReference*>* listAll = ObjectModelReference::getObjectModelReferencesList();
|
|
List<ObjectModelReference*>* listVisible = new List<ObjectModelReference*>();
|
|
for (int i = 0; i < listAll->count(); i++)
|
|
{
|
|
ObjectModelReference* item = listAll->get(i);
|
|
if (item->isVisible())
|
|
{
|
|
listVisible->add(item);
|
|
if (item->getTypeName() != NULL)
|
|
{
|
|
printf("'%s' is visible\n", item->getTypeName()->toCharArray());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (item->getTypeName() != NULL)
|
|
{
|
|
printf("'%s' is not visible\n", item->getTypeName()->toCharArray());
|
|
}
|
|
}
|
|
}
|
|
ObjectModelReference::_visibleObjectModelReferencesList = listVisible;
|
|
}
|
|
return ObjectModelReference::_visibleObjectModelReferencesList;
|
|
}
|
|
|
|
ObjectModelReference* ObjectModelReference::getByTypeName(String* typeName, bool includeHidden) {
|
|
return ObjectModelReference::getByTypeName(typeName->toCharArray(), includeHidden);
|
|
}
|
|
ObjectModelReference* ObjectModelReference::getByTypeName(const char* typeName, bool includeHidden) {
|
|
List<ObjectModelReference*>* list = NULL;
|
|
if (includeHidden)
|
|
{
|
|
list = ObjectModelReference::getObjectModelReferencesList();
|
|
}
|
|
else
|
|
{
|
|
list = ObjectModelReference::getVisibleObjectModelReferencesList();
|
|
}
|
|
for (int i = 0; i < list->count(); i++)
|
|
{
|
|
ObjectModelReference* item = list->get(i);
|
|
if (item->getTypeName() == NULL) continue;
|
|
|
|
if (item->getTypeName()->equals(typeName)) return item;
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
ObjectModel* ObjectModelReference::createInstance() {
|
|
return NULL;
|
|
}
|
|
|
|
} /* namespace UniversalEditor */
|