コード例 #1
0
        public static IDocument CreateDocumentFromFile(string filename)
        {
            IDocument document;

            if (!FDocuments.TryGetValue(filename, out document))
            {
                var location = new Uri(filename);

                var fileExtension = Path.GetExtension(filename);
                switch (fileExtension)
                {
                case ".cs":
                    document = new CSDocument(filename, location);
                    break;

                case ".fx":
                case ".fxh":
                case ".xx":
                    document = new FXDocument(filename, location);
                    break;

                default:
                    document = new TextDocument(filename, location);
                    break;
                }

                FDocuments[filename] = document;

                document.Disposed += document_Disposed;
            }

            return(document);
        }
コード例 #2
0
        public CSDocument Create(DataSet dataset, string dbContextName, string defaultNamespaceName, string projectName)
        {
            DbClass     cls      = new DbClass(dataset, dbContextName);
            CSDocument  document = new CSDocument(dbContextName, projectName);
            CSNamespace ns       = CreateNamespace(defaultNamespaceName, GetUsingList(defaultNamespaceName), cls);

            document.Namespaces.Add(ns);

            return(document);
        }
コード例 #3
0
        private CSDocument Create(DataTable dataTable, string namespaceName, string projectName)
        {
            CSNamespace ns       = new CSNamespace(namespaceName);
            CSDocument  document = new CSDocument(dataTable.TableName, projectName);

            ns.Classes.Add(new ModelClass(dataTable));
            document.Namespaces.Add(ns);

            return(document);
        }
コード例 #4
0
        private CSDocument Create(DataTable dataTable, string namespaceName, string projectName)
        {
            RepositoryPackClass cls = new RepositoryPackClass(dataTable);

            CSDocument  document = new CSDocument(dataTable.TableName, projectName);
            CSNamespace ns       = CreateNamespace(CreateNamespaceName(namespaceName, dataTable.TableName), GetUsingList(namespaceName, dataTable.TableName), cls);

            document.Namespaces.Add(ns);

            return(document);
        }
コード例 #5
0
        private CSDocument Create(DataTable dataTable, string defaultNamespaceName, string projectName)
        {
            DeleteClass cls = new DeleteClass(dataTable);

            CSDocument  document = new CSDocument(dataTable.TableName, projectName);
            CSNamespace ns       = CreateNamespace(CreateNamespaceName(defaultNamespaceName, dataTable.TableName), GetUsingList(), cls);

            document.Namespaces.Add(ns);

            return(document);
        }
コード例 #6
0
        private CSDocument Create(DataTable dataTable, string namespaceName, string projectName)
        {
            namespaceName = CreateNamespaceName(namespaceName, dataTable.TableName);
            SelectClass cls = new SelectClass(dataTable);

            CSDocument  document = new CSDocument(dataTable.TableName, projectName);
            CSNamespace ns       = CreateNamespace(namespaceName, GetUsingList(), cls);

            document.Namespaces.Add(ns);

            return(document);
        }
コード例 #7
0
ファイル: CodeEditor.cs プロジェクト: VRaul/vvvv-sdk
 void CSDocument_ParseCompleted(CSDocument document)
 {
     try
     {
         if (document.ParseInfo != null && document.ParseInfo.MostRecentCompilationUnit != null)
         {
             Document.FoldingManager.UpdateFoldings(document.Location.LocalPath, document.ParseInfo);
         }
     }
     catch (Exception)
     {
         // Ignore
     }
 }
コード例 #8
0
        private static bool ContainsNodeInfo(CSDocument document, INodeInfo nodeInfo)
        {
            var parseInfo       = document.ParseInfo;
            var compilationUnit = parseInfo.MostRecentCompilationUnit;

            if (compilationUnit == null)
            {
                return(false);
            }

            foreach (var clss in compilationUnit.Classes)
            {
                foreach (var attribute in clss.Attributes)
                {
                    var attributeType       = attribute.AttributeType;
                    var pluginInfoName      = typeof(PluginInfoAttribute).Name;
                    var pluginInfoShortName = pluginInfoName.Replace("Attribute", "");
                    if (attributeType.Name == pluginInfoName || attributeType.Name == pluginInfoShortName)
                    {
                        // Check name
                        string name = null;
                        if (attribute.NamedArguments.ContainsKey("Name"))
                        {
                            name = (string)attribute.NamedArguments["Name"];
                        }
                        else if (attribute.PositionalArguments.Count >= 0)
                        {
                            name = (string)attribute.PositionalArguments[0];
                        }

                        if (name != nodeInfo.Name)
                        {
                            continue;
                        }

                        // Check category
                        string category = null;
                        if (attribute.NamedArguments.ContainsKey("Category"))
                        {
                            category = (string)attribute.NamedArguments["Category"];
                        }
                        else if (attribute.PositionalArguments.Count >= 1)
                        {
                            category = (string)attribute.PositionalArguments[1];
                        }

                        if (category != nodeInfo.Category)
                        {
                            continue;
                        }

                        // Possible match
                        bool match = true;

                        // Check version
                        if (!string.IsNullOrEmpty(nodeInfo.Version))
                        {
                            string version = null;
                            if (attribute.NamedArguments.ContainsKey("Version"))
                            {
                                version = (string)attribute.NamedArguments["Version"];
                            }
                            else if (attribute.PositionalArguments.Count >= 2)
                            {
                                version = (string)attribute.PositionalArguments[2];
                            }

                            match = version == nodeInfo.Version;
                        }

                        if (match)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }