Example #1
0
 protected override void OnCreateLoopVariables(VariableCreator variableCreator, IPortModel connectedPortModel)
 {
     ItemVariableDeclarationModel       = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultItemName, typeof(Object).GenerateTypeHandle(Stencil), TitleComponentIcon.Item, VariableFlags.Generated | VariableFlags.Hidden);
     IndexVariableDeclarationModel      = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultIndexName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Index, VariableFlags.Generated);
     CountVariableDeclarationModel      = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultCountName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Count, VariableFlags.Generated);
     CollectionVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(DefaultCollectionName, typeof(VSArray <Object>).GenerateTypeHandle(Stencil), TitleComponentIcon.Collection, VariableFlags.Generated | VariableFlags.Hidden);
 }
Example #2
0
 protected override void OnCreateLoopVariables(VariableCreator variableCreator, IPortModel connectedPortModel)
 {
     m_IndexVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(
         k_DefaultIndexName,
         typeof(int).GenerateTypeHandle(Stencil),
         TitleComponentIcon.Index,
         VariableFlags.Generated);
     m_ConditionVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(
         DefaultConditionName,
         typeof(bool).GenerateTypeHandle(Stencil),
         TitleComponentIcon.Condition,
         VariableFlags.Generated);
 }
Example #3
0
        protected override void OnCreateLoopVariables(VariableCreator variableCreator, IPortModel connectedPortModel)
        {
            var collectionType = connectedPortModel != null?connectedPortModel.DataType.Resolve(Stencil) : null;

            Type itemType = typeof(object);

            if (collectionType != null)
            {
                var ienumerable = collectionType.GetInterfaces().FirstOrDefault(i => i.IsConstructedGenericType && i.GetGenericTypeDefinition() == typeof(IEnumerable <>));
                if (ienumerable != null)
                {
                    itemType = ienumerable.GetGenericArguments()[0];
                }
            }

            ItemVariableDeclarationModel       = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultItemName, itemType.GenerateTypeHandle(Stencil), TitleComponentIcon.Item, VariableFlags.Generated | VariableFlags.Hidden);
            IndexVariableDeclarationModel      = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultIndexName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Index, VariableFlags.Generated);
            CountVariableDeclarationModel      = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(k_DefaultCountName, typeof(int).GenerateTypeHandle(Stencil), TitleComponentIcon.Count, VariableFlags.Generated);
            CollectionVariableDeclarationModel = variableCreator.DeclareVariable <LoopVariableDeclarationModel>(DefaultCollectionName, typeof(IEnumerable <object>).GenerateTypeHandle(Stencil), TitleComponentIcon.Collection, VariableFlags.Generated | VariableFlags.Hidden);
        }