예제 #1
0
        ////[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);
        }
예제 #2
0
        ////[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);
        }