17 #include "Reflex/Base.h"
39 const std::string& iPurpose,
40 unsigned int iBitPackedViews,
41 bool iRepresentsSubPart) :
43 m_typeidName(iTypeName)
76 const std::string& iParentTypeName,
77 unsigned int& distance) {
78 if(iChild.TypeInfo().name() == iParentTypeName) {
81 if(iChild.BaseSize() == 0) {
85 for(Reflex::Base_Iterator it = iChild.Base_Begin(),
86 itEnd = iChild.Base_End();
89 if(
inheritsFrom(it->ToType(),iParentTypeName,distance)) {
100 unsigned int distance=1;
104 TClass* clss = TClass::GetClass(iTypeName.c_str());
106 if(0==clss || 0==clss->GetTypeInfo()) {
109 boost::shared_ptr<FWItemAccessorBase> accessor = factory.
accessorFor(clss);
111 const TClass* modelClass = accessor->modelType();
114 if(0==modelClass || 0 == modelClass->GetTypeInfo()) {
120 Reflex::Type::ByTypeInfo( *(modelClass->GetTypeInfo()));
virtual FWRepresentationInfo infoFor(const std::string &iTypeName) const
FWSimpleRepresentationChecker(const std::string &iTypeidName, const std::string &iPurpose, unsigned int iBitPackedViews, bool iRepresentsSubPart)
const std::string & purpose() const
bool representsSubPart() const
static bool inheritsFrom(const Reflex::Type &iChild, const std::string &iParentTypeName, unsigned int &distance)
const std::string m_typeidName
virtual ~FWSimpleRepresentationChecker()
boost::shared_ptr< FWItemAccessorBase > accessorFor(const TClass *) const
unsigned int bitPackedViews() const