示例#1
0
        public LocateObjectData LocateObject(object obj, ObjectStyle style, int locateOptions)
        {
            LocateObjectData result = default(LocateObjectData);

            if (style == ObjectStyle.TrackingObject)
            {
                RowCol rowCol = (RowCol)obj;
                result.Row     = rowCol.Row;
                result.Column  = rowCol.Col;
                result.Options = 1;
            }
            else
            {
                if (style == ObjectStyle.ExpandedBranch)
                {
                    OperationParameterTree parameterTreeAdapter  = (OperationParameterTree)obj;
                    OperationParameterTree parameterTreeAdapter2 = parameterTreeAdapter.m_Parent;
                    result.Row = -1;
                    for (int i = 0; i < parameterTreeAdapter2.m_Children.Length; i++)
                    {
                        if (parameterTreeAdapter2.m_Children[i] == parameterTreeAdapter)
                        {
                            result.Row = i;
                        }
                    }

                    result.Column  = 0;
                    result.Options = result.Row == m_RelativeRow ? 0 : 1;
                }
            }
            return(result);
        }
 private static void CreateRootTree(IList<MemberInfo> parameters, VirtualTreeControl parameterTreeView, bool readOnly)
 {
     parameterTreeView.MultiColumnTree = new MultiColumnTree(3);
     ITree tree = (ITree)parameterTreeView.MultiColumnTree;
     OperationParameterTree operationParameterTree = new OperationParameterTree(3, tree, parameterTreeView, parameters, readOnly, null);
     tree.Root = operationParameterTree;
 }
示例#3
0
 public OperationParameterTree AddChild(int row, IList <MemberInfo> memberInfos)
 {
     return
         (m_Children[row] =
              new OperationParameterTree(
                  m_ColumnCount, m_VirtualTree, m_VirtualTreeControl, memberInfos, m_ReadOnly, this));
 }
        private static void CreateRootTree(IList <MemberInfo> parameters, VirtualTreeControl parameterTreeView, bool readOnly)
        {
            parameterTreeView.MultiColumnTree = new MultiColumnTree(3);
            ITree tree = (ITree)parameterTreeView.MultiColumnTree;
            OperationParameterTree operationParameterTree = new OperationParameterTree(3, tree, parameterTreeView, parameters, readOnly, null);

            tree.Root = operationParameterTree;
        }
示例#5
0
        public void PropagateValueUpdateEvent()
        {
            OperationParameterTree operationParameterTree = this;

            while (operationParameterTree.m_Parent != null)
            {
                operationParameterTree = operationParameterTree.m_Parent;
            }
        }
示例#6
0
 public OperationParameterTree(int columnCount, ITree virtualTree, VirtualTreeControl virtualTreeControl, IList <MemberInfo> parameters, bool readOnly, OperationParameterTree parent)
 {
     m_ColumnCount        = columnCount;
     m_VirtualTree        = virtualTree;
     m_VirtualTreeControl = virtualTreeControl;
     m_Parameters         = parameters;
     m_ReadOnly           = readOnly;
     m_Parent             = parent;
     m_Children           = new OperationParameterTree[parameters.Count];
 }
 public OperationParameterTree(int columnCount, ITree virtualTree, VirtualTreeControl virtualTreeControl, IList<MemberInfo> parameters, bool readOnly, OperationParameterTree parent)
 {
     m_ColumnCount = columnCount;
     m_VirtualTree = virtualTree;
     m_VirtualTreeControl = virtualTreeControl;
     m_Parameters = parameters;
     m_ReadOnly = readOnly;
     m_Parent = parent;
     m_Children = new OperationParameterTree[parameters.Count];
 }
        private static void SetProperties(object value, int row, OperationParameterTree operationParameterTree)
        {
            OperationParameterTree childOperationParameterTree = operationParameterTree.Children[row];
            if (childOperationParameterTree != null && value != null)
            {
                for (int i = 0; i < childOperationParameterTree.Parameters.Count; i++)
                {
                    MemberInfo parameter = childOperationParameterTree.Parameters[i];
                    DynamicMethodCompilerCache.SetPropertyValue(value, parameter.Member.Name, parameter.Value);

                    SetProperties(parameter.Value, i, childOperationParameterTree);
                }
            }
        }
        private static void SetProperties(object value, int row, OperationParameterTree operationParameterTree)
        {
            OperationParameterTree childOperationParameterTree = operationParameterTree.Children[row];

            if (childOperationParameterTree != null && value != null)
            {
                for (int i = 0; i < childOperationParameterTree.Parameters.Count; i++)
                {
                    MemberInfo parameter = childOperationParameterTree.Parameters[i];
                    DynamicMethodCompilerCache.SetPropertyValue(value, parameter.Member.Name, parameter.Value);

                    SetProperties(parameter.Value, i, childOperationParameterTree);
                }
            }
        }
        private IDictionary <string, ReflectionUtils.Parameter> GetParameters()
        {
            OperationParameterTree operationParameterTree = ((OperationParameterTree)((ITree)inputControl.MultiColumnTree).Root);

            IDictionary <string, ReflectionUtils.Parameter> dictionary = new Dictionary <string, ReflectionUtils.Parameter>();

            for (int i = 0; i < operationParameterTree.Parameters.Count; i++)
            {
                MemberInfo memberInfo = operationParameterTree.Parameters[i];
                object     value      = memberInfo.Value;
                dictionary.Add(memberInfo.Member.Name, new ReflectionUtils.Parameter {
                    Value = value, Type = memberInfo.Member.Type
                });

                SetProperties(value, i, operationParameterTree);
            }
            return(dictionary);
        }
示例#11
0
 internal ChoiceContainer(OperationParameterTree branch, int row, int column)
 {
     m_Branch = branch;
     m_Row    = row;
     m_Column = column;
 }
 internal ChoiceContainer(OperationParameterTree branch, int row, int column)
 {
     m_Branch = branch;
     m_Row = row;
     m_Column = column;
 }
 public OperationParameterTree AddChild(int row, IList<MemberInfo> memberInfos)
 {
     return
         m_Children[row] =
         new OperationParameterTree(
             m_ColumnCount, m_VirtualTree, m_VirtualTreeControl, memberInfos, m_ReadOnly, this);
 }