void TextureFieldContainerEditor::initMethod(InitPhase ePhase) { Inherited::initMethod(ePhase); if(ePhase == TypeObject::SystemPost) { //Fill in all of the editable types UInt32 NumTypes(FieldContainerFactory::the()->getNumTypes()); UInt32 FoundTypes(0); FieldContainerType* type; for(UInt32 i(0) ; FoundTypes<NumTypes; ++i) { type = FieldContainerFactory::the()->findType(i); if(type != NULL) { ++FoundTypes; if(type->isDerivedFrom(TextureBaseChunk::getClassType())) { _EditableTypes.push_back(type); FieldContainerEditorFactory::the()->setDefaultEditor(type, &getClassType()); FieldContainerEditorFactory::the()->setEditorType(type, &getClassType(), "Texture"); } } } } }
void DerivedFieldContainerTypeIterator::operator++ (void) { _pCurrentType = NULL; ++_uiCurrentType; for(; _uiCurrentType < TypeFactory::the()->getNumTypes(); ++_uiCurrentType) { FieldContainerType *pTestType = FieldContainerFactory::the()->findType(_uiCurrentType); if(pTestType != NULL) { if(pTestType->isDerivedFrom(*_pRef) == true ) { _pCurrentType = pTestType; break; } } } }