コード例 #1
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            var uiApp = commandData.Application;
            var doc   = uiApp.ActiveUIDocument.Document;

            Log.AppendLog(LogMessageType.INFO, "Started");

            try
            {
                // (Konrad) We are gathering information about the addin use. This allows us to
                // better maintain the most used plug-ins or discontiue the unused ones.
                AddinUtilities.PublishAddinLog(new AddinLog("MissionControl-GroupsManager", commandData.Application.Application.VersionNumber));

                var model     = new GroupsManagerModel(doc);
                var viewModel = new GroupsManagerViewModel(model);
                var view      = new GroupsManagerView
                {
                    DataContext = viewModel
                };

                var unused = new WindowInteropHelper(view)
                {
                    Owner = Process.GetCurrentProcess().MainWindowHandle
                };

                view.Show();
            }
            catch (Exception e)
            {
                Log.AppendLog(LogMessageType.EXCEPTION, e.Message);
            }

            Log.AppendLog(LogMessageType.INFO, "Ended");
            return(Result.Succeeded);
        }
コード例 #2
0
        public GroupsManagerViewModel(GroupsManagerModel model)
        {
            Model  = model;
            Groups = Model.CollectGroups();
            Title  = "Mission Control - Groups Manager v." + Assembly.GetExecutingAssembly().GetName().Version;
            BindingOperations.EnableCollectionSynchronization(_groups, _lock);

            WindowLoaded  = new RelayCommand <Window>(OnWindowLoaded);
            WindowClosed  = new RelayCommand <Window>(OnWindowClosed);
            SubmitComment = new RelayCommand(OnSubmitComment);
            Close         = new RelayCommand <Window>(OnClose);
            Delete        = new RelayCommand(OnDelete);
            Ungroup       = new RelayCommand(OnUngroup);
            SelectAll     = new RelayCommand(OnSelectAll);
            SelectNone    = new RelayCommand(OnSelectNone);
            Check         = new RelayCommand <bool>(OnCheck);
            FindGroup     = new RelayCommand <GroupTypeWrapper>(OnFindGroup);
            IsolateGroup  = new RelayCommand <GroupTypeWrapper>(OnIsolateGroup);

            Messenger.Default.Register <GroupsDeleted>(this, OnGroupsDeleted);
            Messenger.Default.Register <DocumentChanged>(this, OnDocumentChanged);
        }