コード例 #1
0
ファイル: TemplateNode.cs プロジェクト: huangdonghai/titan3d
        public TemplateNode(CodeGenerateSystem.Base.ConstructionParams csParam, string param)
            : base(csParam, param)
        {
            InitConstruction();

            NodeName = TitleNameText;
            if (HostNodesContainer != null)
            {
                NodeName      = HostNodesContainer.GetNodeName(TitleNameText);
                TitleNameText = NodeName;
            }

            mReturnLinkInfo = AddLinkObject(CodeGenerateSystem.Base.enLinkType.Class, mCtrlreturnLink, CodeGenerateSystem.Base.enBezierType.Right, CodeGenerateSystem.Base.enLinkOpType.Start, null, true);
            //             mReturnLinkInfo.OnAddLinkInfo += (info)=>
            //             {
            //                 Method_Pre.Visibility = Visibility.Collapsed;
            //                 Method_Next.Visibility = Visibility.Collapsed;
            //             };
            //             mReturnLinkInfo.OnDelLinkInfo += (info) =>
            //             {
            //                 Method_Pre.Visibility = Visibility.Visible;
            //                 Method_Next.Visibility = Visibility.Visible;
            //             };
            mParanLinkInfo = AddLinkObject(CodeGenerateSystem.Base.enLinkType.NumbericalValue, mCtrlparamLink, CodeGenerateSystem.Base.enBezierType.Left, CodeGenerateSystem.Base.enLinkOpType.End, null, false);

            //AddLinkObject(CodeGenerateSystem.Base.enLinkType.Method, Method_Pre, CodeGenerateSystem.Base.enBezierType.Top, CodeGenerateSystem.Base.enLinkOpType.End, Method_Pre.BackBrush, false);
            //AddLinkObject(CodeGenerateSystem.Base.enLinkType.Method, Method_Next, CodeGenerateSystem.Base.enBezierType.Bottom, CodeGenerateSystem.Base.enLinkOpType.Start, Method_Next.BackBrush, false);

            var types = EngineNS.Rtti.RttiHelper.GetTypes();

            foreach (var type in types)
            {
                var atts = type.GetCustomAttributes(typeof(CSUtility.Data.DataTemplateAttribute), false);
                if (atts.Length <= 0)
                {
                    continue;
                }

                mTemplateTypes.Add(type);
            }

            Init_WPF();
            SetParameters();
            foreach (var i in mTemplateTypes)
            {
                if (i.FullName == param)
                {
                    ComboBoxTemplateSelectItem = i;
                    mReturnType = mComboBoxTemplateSelectItem;
                    break;
                }
            }
            mParamType = CSUtility.Data.DataTemplateManagerAssist.Instance.GetDataTemplateIDType(mReturnType);
            mParanLinkInfo.LinkType = CodeGenerateSystem.Base.LinkObjInfo.GetLinkTypeFromCommonType(mParamType);
        }
コード例 #2
0
ファイル: UnionNode.cs プロジェクト: huangdonghai/titan3d
        public override string GetLinkObjParamInfo(CodeGenerateSystem.Base.LinkObjInfo linkObj)
        {
            string returnStr = "";

            if (linkObj.LinkElement == mResultMethod)
            {
                returnStr += ":" + mParamName + ":" + "@" + mParamType + "#" + linkObj.LinkType.ToString();
            }
            else
            {
                returnStr += "::";
            }
            return(returnStr);
        }
コード例 #3
0
ファイル: TemplateNode.cs プロジェクト: huangdonghai/titan3d
        public override string GetLinkObjParamInfo(CodeGenerateSystem.Base.LinkObjInfo linkObj)
        {
            string returnStr = "";

            if (linkObj.LinkElement == mCtrlparamLink)
            {
                returnStr += ":" + IDText;
            }
            else
            {
                returnStr += ":";
            }
            returnStr += ":" + linkObj.LinkType.ToString();
            return(returnStr);
        }
コード例 #4
0
        public override void GCode_CodeDom_GenerateCode(System.CodeDom.CodeTypeDeclaration codeClass, System.CodeDom.CodeStatementCollection codeStatementCollection, FrameworkElement element, CodeGenerateSystem.Base.GenerateCodeContext_Method context)
        {
            if (element == UpLink || element == null)
            {
                foreach (MethodControl mc in mChildNodes)
                {
                    CodeGenerateSystem.Base.LinkObjInfo info = mc.GetLinkObjInfo(mc.methodEll);
                    if (!info.HasLink)
                    {
                        continue;
                    }

                    info.GetLinkObject(0, true).GCode_CodeDom_GenerateCode(codeClass, codeStatementCollection, info.GetLinkElement(0, true), context);
                }
            }
        }