Esempio n. 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="aceOperationArgs"/> class.
        /// </summary>
        /// <param name="__executor">The executor.</param>
        /// <param name="__menu">The menu.</param>
        /// <param name="__item">The item.</param>
        /// <param name="__method">The method.</param>
        /// <param name="__component">The component.</param>
        public aceOperationArgs(aceOperationSetExecutorBase __executor, aceMenuItemCollection __menu, aceMenuItem __item, MethodInfo __method, IAceComponent __component = null)
        {
            _executor     = __executor;
            _menu         = __menu;
            _item         = __item;
            _method       = __method;
            _component    = __component;
            _itemMetaData = new aceMenuItemMeta(_method);

            _methodInfo = new settingsMemberInfoEntry(_method);

            _item.deployMeta(_itemMetaData, this);
            _paramSet = itemMetaData.cmdParams;
        }
Esempio n. 2
0
        /// <summary>
        /// Populates menu with provided <c>executor</c>
        /// </summary>
        /// <param name="executor">The executor: Console or Screen that performs operations</param>
        /// <param name="component">The specific component that is related to the execution of this menu</param>
        public void setItems(aceOperationSetExecutorBase executor, IAceComponent component = null, BindingFlags binding = BindingFlags.Public | BindingFlags.Instance)
        {
            var executorType = executor.GetType();

            MethodInfo[] __methods = executorType.GetMethods(binding);
            foreach (var __m in __methods)
            {
                if (__m.Name.StartsWith(aceMenuItemMeta.METHOD_PREFIX))
                {
                    aceMenuItem item        = new aceMenuItem();
                    var         args        = new aceOperationArgs(executor, this, item, __m, component);
                    String      displayName = __m.Name.removeStartsWith(aceMenuItemMeta.METHOD_PREFIX);

                    item.itemName = displayName.removeStartsWith(args.methodInfo.categoryName);

                    item.metaObject = args;
                    item.index      = Count;
                    //item.group = ;
                    Add(item);
                }
            }
        }