IPropertyField* PropertyFieldManager::createPropertyField(MyGUI::Widget* _window, const std::string& _type) { IPropertyField* result = nullptr; MapFactoryItem::iterator item = mFactories.find(_type); MYGUI_ASSERT(item != mFactories.end(), "Factory PropertyField '" << _type << "' not found."); (*item).second(result, _window); result->initialise(_type); return result; }