private static DynamoViewModel InitializeCoreViewModel(RevitDynamoModel revitDynamoModel) { var vizManager = new RevitVisualizationManager(revitDynamoModel); var viewModel = DynamoViewModel.Start( new DynamoViewModel.StartConfiguration() { DynamoModel = revitDynamoModel, VisualizationManager = vizManager, WatchHandler = new RevitWatchHandler(vizManager, revitDynamoModel.PreferenceSettings) }); revitDynamoModel.PackageManagerClient.RequestAuthentication += SingleSignOnManager.RegisterSingleSignOn; #if ENABLE_DYNAMO_SCHEDULER revitDynamoModel.ShutdownStarted += (drm) => { var uiApplication = DocumentManager.Instance.CurrentUIApplication; uiApplication.Idling += DeleteKeeperElementOnce; }; #else revitDynamoModel.ShutdownStarted += (drm) => IdlePromise.ExecuteOnShutdown(DeleteKeeperElement); #endif return(viewModel); }
protected override void PreShutdownCore(bool shutdownHost) { if (shutdownHost) { IdlePromise.ExecuteOnShutdown(ShutdownRevitHost); } base.PreShutdownCore(shutdownHost); }
public override void ShutDown() { IdlePromise.ExecuteOnShutdown( delegate { var transaction = new Autodesk.Revit.DB.Transaction(dynRevitSettings.Doc.Document, "Dynamo Script"); transaction.Start(); if (_keeperId != ElementId.InvalidElementId) { dynRevitSettings.Doc.Document.Delete(_keeperId); _keeperId = ElementId.InvalidElementId; } transaction.Commit(); }); base.ShutDown(); Updater.UnRegisterAllChangeHooks(); RevertPythonBindings(); }
public override void ShutDown(bool shutDownHost) { IdlePromise.ExecuteOnShutdown( delegate { var transaction = new Autodesk.Revit.DB.Transaction(dynRevitSettings.Doc.Document, "Dynamo Script"); transaction.Start(); if (_keeperId != ElementId.InvalidElementId) { dynRevitSettings.Doc.Document.Delete(_keeperId); _keeperId = ElementId.InvalidElementId; } transaction.Commit(); }); base.ShutDown(shutDownHost); Updater.UnRegisterAllChangeHooks(); RevertPythonBindings(); if (shutDownHost) { //shut down revit var exitCommand = RevitCommandId.LookupPostableCommandId(PostableCommand.ExitRevit); var uiapp = dynRevitSettings.Revit.ActiveUIDocument.Application; if (uiapp.CanPostCommand(exitCommand)) { uiapp.PostCommand(exitCommand); } else { MessageBox.Show( "A command in progress prevented Dynamo from closing revit. Dynamo update will be cancelled."); } } }
private static DynamoViewModel InitializeCoreViewModel(RevitDynamoModel revitDynamoModel) { var vizManager = new RevitVisualizationManager(revitDynamoModel); var viewModel = DynamoViewModel.Start( new DynamoViewModel.StartConfiguration() { DynamoModel = revitDynamoModel, VisualizationManager = vizManager, WatchHandler = new RevitWatchHandler(vizManager, revitDynamoModel.PreferenceSettings) }); viewModel.RequestAuthentication += SingleSignOnManager.RegisterSingleSignOn; revitDynamoModel.ShuttingDown += (drm) => IdlePromise.ExecuteOnShutdown( delegate { if (null != DocumentManager.Instance.CurrentDBDocument) { TransactionManager.Instance.EnsureInTransaction(DocumentManager.Instance.CurrentDBDocument); var keeperId = vizManager.KeeperId; if (keeperId != ElementId.InvalidElementId) { DocumentManager.Instance.CurrentUIDocument.Document.Delete(keeperId); } TransactionManager.Instance.ForceCloseTransaction(); } }); return(viewModel); }