namespace OpenTap
|
{
|
class MixinMenuModelFactory : ITypeMenuModelFactory, IMenuModelFactory
|
{
|
public ITypeMenuModel CreateModel(ITypeData type)
|
{
|
if (type.DescendsTo(typeof(ITestStepParent)) || type.DescendsTo(typeof(IResource)))
|
return new MixinMenuModel(type);
|
return null;
|
}
|
public IMenuModel CreateModel(IMemberData member)
|
{
|
switch (member)
|
{
|
case MixinMemberData md:
|
{
|
return new MixinMemberMenuModel(md);
|
}
|
case EmbeddedMemberData emb:
|
{
|
return CreateModel(emb.OwnerMember);
|
}
|
}
|
return null;
|
}
|
}
|
}
|