void updateProgress(object sender, GenerateProgressEventArgs e) { //string s = Formatter.Format(e.RootText); //mOutputDoc.SetText(s); lblStatCount.Text = string.Format("Level {0} Max {1} CurInRoot {2} / {3} CurInCur {4}", e.CurrentListLevel, e.MaxLevel, e.CurrentInRoot, e.TotalInRoot, e.CurrentInCurrent); if (mGenerator.StopGenerate) { lblStatCount.Text += "Stopping"; } lblStatCur.Text = e.CurrentListText; if (e.PausedAtList != null) { //Update debug window mLevelListDoc.Clear(); ListDerivation p = e.PausedAtList; while (p != null) { string text = string.Format("{0} {1} {2}", p.Level, p.ExpandingSymbol, p.mCurrentItemIndex); mLevelListDoc.Add(text, p); p = p.ParentDerivation as ListDerivation; } } }
void mGenerator_Progress(object sender, GenerateProgressEventArgs e) { mOutputDoc.BeginInvoke(new EventHandler <GenerateProgressEventArgs>(updateProgress), sender, e); }