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(); }
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(); }
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(); }
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(); }