Ejemplo n.º 1
0
        /// <summary>
        /// 添加活动
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void view_AddAction(object sender, EventArgs arg)
        {
            //确保在录制状态下
            Context.State.IsRecord = true;
            var    item       = sender as ToolStripItem;
            string actionName = item.Tag as string;

            if (string.IsNullOrEmpty(actionName))
            {
                throw new ApplicationException("活动没有定义名称");
            }
            ICoreBrowser browser       = Context.Browser;
            IHTMLElement activeElement = null;

            if (browser.Selector.SelectorElement != null)
            {
                activeElement = browser.Selector.SelectorElement;
            }

            var parameter = ActionFactory.CreateParameter(actionName);

            parameter.Element = activeElement;
            if (parameter is MultiStepActionParameter)
            {
                //用户选择同类元素处理逻辑在browserPresenter.editBrowser_WBLButtonDown处理
                var mp = parameter as MultiStepActionParameter;
                mp.AddActionFun = new Action <string, ActionParameter>(AddAction);
                Context.MultiStepActionParameter = mp;
                return;
            }
            AddAction(actionName, parameter);
        }