public void UpdateMessages(CodeEditor.ParsedDocument parsedDocument) { treeView.TreeNodes.Clear(); if (parsedDocument != null) { foreach (CodeEditor.ParsedDocument.Message message in parsedDocument.Messages) { treeView.TreeNodes.Add(message.CreateMessageNode()); } } treeView.Refresh(); }
//private volatile bool parseRequested = false; //public virtual bool ParseRequested { get {return parseRequested; } set { parseRequested = value; } } //private volatile bool reloadRequested = false; //public virtual bool CloseRequested { get { return reloadRequested; } set { reloadRequested = value; } } public virtual void AcceptParsedDocument(ParsedDocument newParsedDocument) { ParsedDocument oldParsedDocument = ParsedDocument; ParsedDocument = null; if (oldParsedDocument != null) { oldParsedDocument.Dispose(); } ParsedDocument = newParsedDocument; Update(); }
private void worker() { projectNode.Project.Update(); //int idCount = projectNode.Project.GetRegisteredIdList().Count; //while (idCount != projectNode.Project.GetRegisteredIdList().Count) //{ // List<string> ids = projectNode.Project.GetRegisteredIdList(); // idCount = ids.Count; // for (int i = 0; i < ids.Count; i++) // { // Data.Item item = projectNode.Project.GetRegisterdItem(ids[i]); // item.Update(); // } //} { // data update projectNode.HierarchicalVisibleUpdate(); List <Data.Item> items = projectNode.Project.FindItems( (x) => (x is Data.TextFile), (x) => (false) ); Invoke(new Action(() => { progressBar.Maximum = items.Count; })); // parse items int i = 0; foreach (Data.Item item in items) { Invoke(new Action(() => { progressBar.Value = i; })); i++; if (!(item is Data.TextFile)) { continue; } Data.TextFile textFile = item as Data.TextFile; Invoke(new Action(() => { label.Text = textFile.Name; })); CodeEditor.DocumentParser parser = textFile.CreateDocumentParser(CodeEditor.DocumentParser.ParseModeEnum.LoadParse); if (parser == null) { continue; } parser.Parse(); textFile.CodeDocument.CopyFrom(parser.Document); if (textFile.ParsedDocument != null) { CodeEditor.ParsedDocument oldParsedDocument = textFile.ParsedDocument; textFile.ParsedDocument = null; oldParsedDocument.Dispose(); } textFile.AcceptParsedDocument(parser.ParsedDocument); // textFile.ParseRequested = true; textFile.Close(); } } close = true; Invoke(new Action(() => { Close(); })); }