Exemple #1
0
        public override void SetParameter(EventBase even)
        {
            CallUIElementMethodDev _event = even as CallUIElementMethodDev;

            this.txtName.Text = _event.Name;
            this.txtCode.Text = _event.Code;

            this.ddlObjectForm.SelectedValue = (int)_event.TargetWindow;

            if (_event.TargetWindow == CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Current)
            {
                //先把选择的项置为null
                //因为,当指定的窗体元素不存在时,在编辑面板上选个窗体元素,不保存,再打开编辑功能,上次的选择还存在着。
                this.ddlFormElement.SelectedItem = null;

                foreach (object obj in this.ddlFormElement.Items)
                {
                    UIElement entity = obj as UIElement;
                    if (entity.Id == _event.FormElement)
                    {
                        this.ddlFormElement.SelectedItem = entity;
                        break;
                    }
                }
            }
            else
            {
                txtFormElement.Text = _event.FormElement;

                //调入可用事件列表
                ICallEntityMethodSupport formElementEntityDev =
                    FormElementEntityDevTypes.Instance.CreateInstance(_event.FormElementControlType) as ICallEntityMethodSupport;
                if (formElementEntityDev != null)
                {
                    InitAvailabilityMethod(formElementEntityDev, CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Caller);
                }
            }

            this.availabilityEvent.SelectedValueChanged -= new EventHandler <SEComboSelector2.OnSelectedValueChangedEventArgs>(availabilityEvent_SelectedValueChanged);
            //选择对应的动作
            //注意的是,availabilityMethod 是有可能为 null的,如果是当前窗体,但指定的窗体元素已不存在
            //就没有办法拿到 availabilityMethod 此时availabilityMethod 为null
            if (_availabilityMethod != null)
            {
                availabilityEvent.SetSelectedValue(_availabilityMethod.GetProvideAttribute(_event.CallEvent));
                //this.SelectedEvent = _event.CallEvent;
                //LoadMethodPlan();
            }
            this.availabilityEvent.SelectedValueChanged += new EventHandler <SEComboSelector2.OnSelectedValueChangedEventArgs>(availabilityEvent_SelectedValueChanged);

            this.SelectedEvent = _event.CallEvent;
            IEventEditorSupport eventParameterSet = this.SelectedEvent as IEventEditorSupport;

            if (eventParameterSet != null)
            {
                LoadMethodPlan();
                eventParameterSet.EditorAdapter.BeginEdit();
            }
        }
Exemple #2
0
        /// <summary>
        /// 切换对象
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ddlFormElement_SelectedIndexChanged(object sender, EventArgs e)
        {
            //看所选择的对象是否有可用的对象方法
            ICallEntityMethodSupport formElementEntityDev =
                this.ddlFormElement.SelectedItem as ICallEntityMethodSupport;

            InitAvailabilityMethod(formElementEntityDev, CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Current);
        }
Exemple #3
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;
            }
        }
Exemple #4
0
        private void btnBrowse_Click(object sender, EventArgs e)
        {
            if (_formGlobalFormElementChoose == null || _formGlobalFormElementChoose.IsDisposed)
            {
                _formGlobalFormElementChoose = new FormGlobalFormElementChoose();
                _formGlobalFormElementChoose.InitFormElementTree();
            }

            if (_formGlobalFormElementChoose.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            this.txtFormElement.Text = _formGlobalFormElementChoose.FormElementFullCode;

            //this.formElementControlType = FormElementEntityDevTypes.Instance.GetProvideAttribute(formGlobalFormElementChoose.SelectedFormElement);

            //根据选择的窗体元素,取可用的对象事件
            ICallEntityMethodSupport formElementEntityDev =
                _formGlobalFormElementChoose.SelectedFormElement as ICallEntityMethodSupport;

            InitAvailabilityMethod(formElementEntityDev, CallUIElementMethodEvent.EnumCallUIElementMethodTargetForm.Caller);
        }