////[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")] public Result Execute( ExternalCommandData commandData, ref string message, ElementSet elements) { if (commandData == null) { return(Result.Failed); } var uidoc = commandData.Application.ActiveUIDocument; var doc = uidoc.Document; // FIXME. this is used a lot. // add to a utility class. if (doc.ActiveView.ViewType == ViewType.ProjectBrowser) { var views = new List <View>(); var s = uidoc.Selection.GetElementIds(); foreach (var id in s) { var projectBrowserView = uidoc.Document.GetElement(id); if (projectBrowserView is View) { var v = (View)projectBrowserView; if (v.ViewType == ViewType.ProjectBrowser) { continue; } views.Add(v); } } foreach (var view in views) { if (view != null) { UIApplication uiApplication = new UIApplication(view.Document.Application); uiApplication.ActiveUIDocument.ActiveView = view; } } return(Result.Succeeded); } var vm = new ViewModels.OpenSheetViewModel(doc); SCaddinsApp.WindowManager.ShowDialog(vm, null, ViewModels.OpenSheetViewModel.DefaultWindowSettings); return(Result.Succeeded); }
////[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")] public Result Execute( ExternalCommandData commandData, ref string message, ElementSet elements) { if (commandData == null) { return(Result.Failed); } Document doc = commandData.Application.ActiveUIDocument.Document; var vm = new ViewModels.OpenSheetViewModel(doc); SCaddinsApp.WindowManager.ShowDialog(vm, null, ViewModels.OpenSheetViewModel.DefaultWindowSettings); return(Result.Succeeded); }