コード例 #1
0
 public void FinishDecompilation()
 {
     try
     {
         IPhasePageInteractor prev = CurrentPhase;
         workerDlgSvc.StartBackgroundWork("Finishing decompilation.", delegate()
         {
             for (;;)
             {
                 var next = NextPage(prev);
                 if (next == null)
                 {
                     break;
                 }
                 next.PerformWork(workerDlgSvc);
                 prev = next;
             }
         });
         prev.EnterPage();
         CurrentPhase = prev;
         projectBrowserSvc.Reload();
         procedureListSvc.Load(decompilerSvc.Decompiler.Project);
     }
     catch (Exception ex)
     {
         uiSvc.ShowError(ex, "An error occurred while finishing decompilation.");
     }
     workerDlgSvc.FinishBackgroundWork();
 }
コード例 #2
0
ファイル: MainFormInteractor.cs プロジェクト: mmyydd/reko
        public void SwitchInteractor(IPhasePageInteractor interactor)
        {
            if (interactor == CurrentPhase)
            {
                return;
            }

            if (CurrentPhase != null)
            {
                if (!CurrentPhase.LeavePage())
                {
                    return;
                }
            }
            CurrentPhase = interactor;
            workerDlgSvc.StartBackgroundWork("Entering next phase...", delegate()
            {
                interactor.PerformWork(workerDlgSvc);
            });
            interactor.EnterPage();
        }
コード例 #3
0
 public void FinishDecompilation()
 {
     try
     {
         IPhasePageInteractor prev = CurrentPhase;
         workerDlgSvc.StartBackgroundWork("Finishing decompilation.", delegate()
         {
             IPhasePageInteractor next;
             while (nextPage.TryGetValue(prev, out next))
             {
                 next.PerformWork(workerDlgSvc);
                 prev = next;
             }
         });
         prev.EnterPage();
     }
     catch (Exception ex)
     {
         uiSvc.ShowError(ex, "An error occurred while finishing decompilation.");
     }
     workerDlgSvc.FinishBackgroundWork();
 }
コード例 #4
0
ファイル: MainFormInteractor.cs プロジェクト: nemerle/reko
        public void SwitchInteractor(IPhasePageInteractor interactor)
        {
            if (interactor == CurrentPhase)
                return;

            if (CurrentPhase != null)
            {
                if (!CurrentPhase.LeavePage())
                    return;
            }
            CurrentPhase = interactor;
            workerDlgSvc.StartBackgroundWork("Entering next phase...", delegate()
            {
                interactor.PerformWork(workerDlgSvc);
            });
            interactor.EnterPage();
            UpdateToolbarState();
        }