Esempio n. 1
0
        /// <summary>
        /// 保存
        /// </summary>
        bool SaveOperator()
        {
            if (null == lb_Controls1Function.SelectedItem)
            {
                Wrapper.ShowDialog("方法名称1没有选择");
                return(false);
            }

            CtrlFuctionInfo cfi         = (lb_Controls1Function.SelectedItem as ListBoxItem).Tag as CtrlFuctionInfo;
            string          eventName   = string.Format("{0}", cfi.Name);
            string          controlName = string.Format("{0}", (lb_Controls1.SelectedItem as ListBoxItem).Content);

            var xml = IDesignFramework.GetCurrentXmlTemplate();

            if (null == xml.EventLinkItem)
            {
                xml.EventLinkItem = new List <EventLinkInfo>();
            }
            string _controlName = _GetControlName();
            //-->事件
            var eli = xml.EventLinkItem.Where(p => p.ControlName == _controlName && p.EventName == EventName).GetFirst <EventLinkInfo>();

            if (null == eli)
            {
                eli = new EventLinkInfo();
                xml.EventLinkItem.Add(eli);
            }
            eli.ControlName = _controlName;
            eli.EventName   = this.EventName;
            eli.Item        = new List <ControlActivityInfo>();
            //-->行为
            var cai = eli.Item.Where(p => p.ControlName.Equals(controlName) && p.EventName.Equals(eventName)).GetFirst <ControlActivityInfo>();

            if (null == cai)
            {
                cai = new ControlActivityInfo();
                eli.Item.Add(cai);
            }
            //-->保存操作。
            cai.ActivityName = this.ActivityName;
            cai.ActivityType = this.ActivityType;
            cai.ControlName  = controlName;
            cai.EventName    = eventName;
            cai.Description  = cfi.Description;
            cai.Param        = new List <ParamInfo>();
            foreach (var v in this.sp_Children.Children)
            {
                ParameterSelected select = v as ParameterSelected;
                if (null == select || null == select.ParamForamt)
                {
                    continue;
                }
                cai.Param.Add(select.ParamForamt);
            }
            IDesignFramework.UpdateCurrentTemplate();
            return(true);
        }
Esempio n. 2
0
        void lb_Controls1Function_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            sp_Children.Children.Clear();
            ListBoxItemExtend controls = lb_Controls1.SelectedItem as ListBoxItemExtend;
            var parameterItem          = controls.Tag as List <MetaDataColumnInfo>;

            if (null != parameterItem)
            {
                foreach (var v in parameterItem)
                {
                    ParameterSelected ps = new ParameterSelected();
                    ps.txtParamName.Text = string.Format("{0}【{1}】", v.column_name, v.column_comment);
                    ps.OrgMetaDataColumn = v;
                    ps.FieldName         = v.column_name;
                    ps.DeleteClick      += ps_DeleteClick;
                    ps.ModifyClick      += ps_ModifyClick;
                    sp_Children.Children.Add(ps);
                }
            }

            var ci = controls.ControlInfo;

            /******************************************************************************
             *
             * 控件的参数就是控件MetaData里的row信息,
             *
             * ControlDataSourceTable 所处在的 MetaData信息也要取出来。
             *
             * *****************************************************************************/
            if (!ci.ControlDataSourceTableName.IsNullOrEmpty())
            {
                var mdi = IDesignFramework.GetMetaDataInfoByTableName(ci.ControlDataSourceTableName);
                if (null != mdi && null != mdi.Item && 0 < mdi.Item.Count)
                {
                    Label lbl = new Label();
                    lbl.Height     = 2;
                    lbl.Background = new SolidColorBrush(Colors.Black);
                    sp_Children.Children.Add(lbl);
                    foreach (var item in mdi.Item)
                    {
                        ParameterSelected ps = new ParameterSelected();
                        ps.txtParamName.Text = string.Format("{0}【{1}】", item.column_name, item.column_comment);
                        ps.OrgMetaDataColumn = item;
                        ps.FieldName         = item.column_name;
                        ps.OrgIsDataSource   = true;
                        ps.DeleteClick      += ps_DeleteClick;
                        ps.ModifyClick      += ps_ModifyClick;
                        sp_Children.Children.Add(ps);
                    }
                }
            }
            if (sp_Children.Children.Count > 0)
            {
                _CurrentParamterSelected = sp_Children.Children[0] as ParameterSelected;
            }
        }
Esempio n. 3
0
        void ps_DeleteClick(object sender, RoutedEventArgs e)
        {
            ParameterSelected ps = sender as ParameterSelected;

            if (null == ps)
            {
                return;
            }
            ps.Text                 = string.Empty;
            ps.TargetCtrlName       = string.Empty;
            ps.TargetMetaDataColumn = null;
            ps.InitLoadValue        = null;
        }
        void ps_ModifyClick(object sender, RoutedEventArgs e)
        {
            //-->将值显示到text上去
            var ps = sender as ParameterSelected;

            if (null == ps)
            {
                return;
            }
            if (null != _CurrentParamterSelected)
            {
                _CurrentParamterSelected.BackgroundReset();
            }
            //-->获取所有其它控件
            _CurrentParamterSelected = ps;
            _CurrentParamterSelected.BackgroundSet();
        }
        void LoadCtrlParam(ControlInfo ci, List <MetaDataColumnInfo> paramItem)
        {
            if (ci.MetaData.IsNotEmpty())
            {
                foreach (var v in paramItem)
                {
                    var ps = new ParameterSelected();
                    ps.txtParamName.Text = string.Format("{0}【{1}】", v.column_name, v.column_comment);
                    ps.OrgMetaDataColumn = v;
                    ps.FieldName         = v.column_name;
                    ps.DeleteClick      += ps_DeleteClick;
                    ps.ModifyClick      += ps_ModifyClick;
                    spCtrlParams.Children.Add(ps);
                }
            }

            /******************************************************************************
             *
             * 控件的参数就是控件MetaData里的row信息,
             *
             * ControlDataSourceTable 所处在的 MetaData信息也要取出来。
             *
             * *****************************************************************************/
            if (ci.ControlDataSourceTableName.IsNotEmpty())
            {
                var mdi = IDesignFramework.GetMetaDataInfoByTableName(ci.ControlDataSourceTableName);
                if (null != mdi && null != mdi.Item && 0 < mdi.Item.Count)
                {
                    Label lbl = new Label();
                    lbl.Height     = 2;
                    lbl.Background = new SolidColorBrush(Colors.Black);
                    spCtrlParams.Children.Add(lbl);
                    foreach (var item in mdi.Item)
                    {
                        ParameterSelected ps = new ParameterSelected();
                        ps.txtParamName.Text = string.Format("{0}【{1}】", item.column_name, item.column_comment);
                        ps.OrgMetaDataColumn = item;
                        ps.FieldName         = item.column_name;
                        ps.OrgIsDataSource   = true;
                        ps.DeleteClick      += ps_DeleteClick;
                        ps.ModifyClick      += ps_ModifyClick;
                        spCtrlParams.Children.Add(ps);
                    }
                }
            }
        }
Esempio n. 6
0
        void ps_ModifyClick(object sender, RoutedEventArgs e)
        {
            //-->将值显示到text上去
            ParameterSelected ps = sender as ParameterSelected;

            if (null == ps)
            {
                return;
            }
            if (null != _CurrentParamterSelected)
            {
                _CurrentParamterSelected.BackgroundReset();
            }
            //-->获取所有其它控件
            _CurrentParamterSelected = ps;
            _CurrentParamterSelected.BackgroundSet();
            this.lb_Controls2.Visibility          = System.Windows.Visibility.Visible;
            this.lb_Controls2Parameter.Visibility = System.Windows.Visibility.Visible;
        }
        void SetParametSelected(ParameterSelected ps, MetaDataColumnInfo mdci)
        {
            if (null == ps || null == mdci)
            {
                return;
            }
            ps.Text = mdci.column_comment;
            ps.TargetMetaDataColumn = mdci;
            if (null == cbbCtrl.SelectedItem)
            {
                ps.OrgCtrlInfo    = _CurrentControlInfo;
                ps.TargetCtrlName = this.EventControlName;
            }
            else
            {
                var ci = cbbCtrl.SelectedItem as ControlInfo;
                ps.OrgCtrlInfo    = ci;
                ps.TargetCtrlName = ci.Name;
            }
            //-->这个还要进一步确定一下。
            var item = this.lbCtrls.SelectedItem as ListBoxItemExtend;

            ps.OrgIsDataSource = item.ControlInfo.ControlDataSourceTableName.IsNotEmpty() ? true : false;
        }
Esempio n. 8
0
        /// <summary>
        /// 释放资源
        /// </summary>
        public void Dispose()
        {
            this.lb_Controls1.SelectionChanged          -= lb_Controls1_SelectionChanged;
            this.lb_Controls1Function.SelectionChanged  -= lb_Controls1Function_SelectionChanged;
            this.lb_Controls2.SelectionChanged          -= lb_Controls2_SelectionChanged;
            this.lb_Controls2Parameter.SelectionChanged -= lb_Controls2Parameter_SelectionChanged;
            this.Loaded -= CallFunctionSelectors_Loaded;
            foreach (var v in this.sp_Children.Children)
            {
                var ps = v as ParameterSelected;
                if (null == ps)
                {
                    continue;
                }
                ps.DeleteClick -= ps_DeleteClick;
                ps.ModifyClick -= ps_ModifyClick;
                ps.Dispose();
            }
            this.sp_Children.Children.Clear();
            foreach (var v in this.lb_Controls1.Items)
            {
                var child = v as IDisposable;
                if (null == child)
                {
                    continue;
                }
                child.Dispose();
            }
            this.lb_Controls1.Items.Clear();
            foreach (var v in this.lb_Controls1Function.Items)
            {
                var child = v as IDisposable;
                if (null == child)
                {
                    continue;
                }
                child.Dispose();
            }
            this.lb_Controls1Function.Items.Clear();

            foreach (var v in this.lb_Controls2.Items)
            {
                var child = v as IDisposable;
                if (null == child)
                {
                    continue;
                }
                child.Dispose();
            }
            this.lb_Controls2.Items.Clear();

            foreach (var v in this.lb_Controls2Parameter.Items)
            {
                var child = v as IDisposable;
                if (null == child)
                {
                    continue;
                }
                child.Dispose();
            }
            this.lb_Controls2Parameter.Items.Clear();

            IDesignFramework       = null;
            CurrentContextMenuInfo = null;
            ActivityName           = string.Empty; IActivity = null;
            EventControlName       = string.Empty;
            ActivityType           = string.Empty;
            EventName = string.Empty;
            CurrentSelectedSetEventControl = null;
            _Controls2Item = null;
            _CurrentParamterSelected.Dispose();
            _CurrentParamterSelected = null;
            _CurrentControlInfo      = null;
        }