コード例 #1
0
        /// <summary>
        /// 参入对象方法参数面板
        /// </summary>
        private void LoadMethodPlan()
        {
            //if (this.ddlMethod.SelectedValue == this.SelectedEvent)
            //    return;

            //先移除之前的树节点
            if (this._treeNode != null)
            {
                FormEventEditor.Instance.RemoveParameterTreeNode(_treeNode);
            }

            //EventProvideAttribute attribute = ddlMethod.SelectedValue as EventProvideAttribute;
            //this.SelectedEvent = availabilityMethod.CreateInstance(attribute);

            IEventEditorSupport eventParameterSet = this.SelectedEvent as IEventEditorSupport;

            if (eventParameterSet == null)
            {
                return;
            }

            ICallEntityMethod callEntityMethod = this.SelectedEvent as ICallEntityMethod;

            if (callEntityMethod == null)
            {
                return;
            }

            //获取该事件的设置树节点
            _treeNode = eventParameterSet.EditorAdapter.EditorNode;

            //将窗体元素对象实体作为参数传过去
            CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm objectForm =
                (CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm)Enum.Parse(typeof(CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm), ddlObjectForm.SelectedValue.ToString());

            callEntityMethod.CallEntityMethodObjectForm = objectForm;

            switch (objectForm)
            {
            case CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Caller:
                callEntityMethod.CallEntityMethodFormElement = this.txtFormElement.Text;
                break;

            case CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Current:
                callEntityMethod.CallEntityMethodFormElement = this.ddlFormElement.SelectedFormElement;
                break;
            }

            //加入树节点
            FormEventEditor.Instance.AddParameterTreeNode(_treeNode);
        }
コード例 #2
0
        public EventTypeCollection GetAvailabilityEntityMethod(CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm objectForm)
        {
            EventTypeCollection availabilityEvent = new EventTypeCollection();

            switch (objectForm)
            {
            case CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Current:
                availabilityEvent.Add(typeof(DataListRefreshEvent));
                availabilityEvent.Add(typeof(DataListAddRowEvent));
                availabilityEvent.Add(typeof(DataListUpdateRowEvent));
                availabilityEvent.Add(typeof(DataListDeleteRowEvent));
                break;

            case CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Caller:
                availabilityEvent.Add(typeof(DataListAddRowEvent));
                availabilityEvent.Add(typeof(DataListUpdateRowEvent));
                availabilityEvent.Add(typeof(DataListDeleteRowEvent));
                break;
            }
            return(availabilityEvent);
        }
コード例 #3
0
        public override List <XObject> GetXml()
        {
            List <XObject> _xObject = new List <XObject>();

            _xObject.Add(new XAttribute("Name", txtName.Text));
            _xObject.Add(new XAttribute("Code", txtCode.Text));

            CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm objectForm =
                (CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm)Enum.Parse(typeof(CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm), ddlObjectForm.SelectedValue.ToString());

            _xObject.Add(new XElement("ObjectForm", (int)objectForm));

            switch (objectForm)
            {
            case CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Caller:
                _xObject.Add(new XElement("FormElement", this.txtFormElement.Text));
                break;

            case CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Current:
                _xObject.Add(new XElement("FormElement", ((EntityBase)this.ddlFormElement.SelectedItem).Id));
                break;
            }

            _xObject.Add(new XElement("FormElementControlType", FormElementEntityDevTypes.Instance.GetProvideAttribute((EntityBase)this.ddlFormElement.SelectedItem).Code));
            //EventProvideAttribute attribute = ddlEvent.SelectedValue as EventProvideAttribute;
            EventProvideAttribute attribute = availabilityEvent.GetSelectedValue() as EventProvideAttribute;

            _xObject.Add(new XElement("EventCode", attribute.Code));

            IEventEditorSupport eventParameterSet = this.SelectedEvent as IEventEditorSupport;

            XElement xElement = eventParameterSet.EditorAdapter.GetParameterSetXml();

            xElement.Add(new XAttribute("Name", Guid.NewGuid().ToString()));
            xElement.Add(new XAttribute("Code", Guid.NewGuid().ToString()));

            _xObject.Add(xElement);

            return(_xObject);
        }
コード例 #4
0
        private void ddlObjectForm_SelectedIndexChanged(object sender, EventArgs e)
        {
            CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm objectForm =
                (CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm)Enum.Parse(typeof(CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm), ddlObjectForm.SelectedValue.ToString());

            switch (objectForm)
            {
            case CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Caller:
                this.txtFormElement.Visible = true;
                this.ddlFormElement.Visible = false;

                this.txtFormElement.AllowEmpty = false;
                this.ddlFormElement.AllowEmpty = true;

                this.btnBrowse.Enabled = true;

                this.txtFormElement.Text = String.Empty;

                break;

            case CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Current:
                this.txtFormElement.Visible = false;
                this.ddlFormElement.Visible = true;

                this.txtFormElement.AllowEmpty = true;
                this.ddlFormElement.AllowEmpty = false;

                this.btnBrowse.Enabled = false;

                this.ddlFormElement.SelectedIndex = -1;

                break;
            }

            availabilityEvent.SetSelectedValue(null);
            availabilityEvent.Enabled = false;
        }
コード例 #5
0
        /// <summary>
        /// 初始化当前可用事件
        /// </summary>
        /// <param name="formElementEntityDev"></param>
        /// <param name="objectForm"></param>
        private void InitAvailabilityMethod(ICallEntityMethodSupport formElementEntityDev, CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm objectForm)
        {
            //if (this.treeNode != null)
            //{
            //    FormEventEditor.Instance.RemoveParameterTreeNode(treeNode);
            //    this.treeNode = null;
            //    this.SelectedEvent = null;
            //    this.eventParameterSet = null;
            //}

            _eventProvideAttribute.Clear();
            if (_availabilityMethod != null)
            {
                _availabilityMethod.Clear();
            }

            if (formElementEntityDev == null)
            {
                this.availabilityEvent.SetSelectedValue(null);
                this.availabilityEvent.Enabled = false;

                return;
            }

            //加个空行
            //_eventProvideAttribute.Add(new EventProvideAttribute(String.Empty, -1));

            _availabilityMethod = formElementEntityDev.GetAvailabilityEntityMethod(objectForm);
            foreach (Type eventType in _availabilityMethod)
            {
                _eventProvideAttribute.Add(_availabilityMethod.GetProvideAttribute(eventType));
            }

            //显示当前可用事件
            availabilityEvent.DataBind(_eventProvideAttribute);

            //如果可有事件为0
            if (_availabilityMethod.Count == 0)
            {
                availabilityEvent.Enabled = false;
            }
            else
            {
                availabilityEvent.Enabled = true;
            }
        }