Пример #1
0
        async void sink_ProjectRemoved(object sender, DispatcherEventArgs <VBProject> e)
        {
            if (e.Item.Protection == vbext_ProjectProtection.vbext_pp_locked)
            {
                Debug.WriteLine(string.Format("Locked project '{0}' was removed.", e.Item.Name));
                return;
            }

            var projectId = e.Item.HelpFile;

            _componentsEventsSinks.Remove(projectId);
            _referencesEventsSinks.Remove(projectId);
            _parser.State.RemoveProject(e.Item);

            Debug.WriteLine(string.Format("Project '{0}' was removed.", e.Item.Name));
            Tuple <IConnectionPoint, int> componentsTuple;

            if (_componentsEventsConnectionPoints.TryGetValue(projectId, out componentsTuple))
            {
                componentsTuple.Item1.Unadvise(componentsTuple.Item2);
                _componentsEventsConnectionPoints.Remove(projectId);
            }

            Tuple <IConnectionPoint, int> referencesTuple;

            if (_referencesEventsConnectionPoints.TryGetValue(projectId, out referencesTuple))
            {
                referencesTuple.Item1.Unadvise(referencesTuple.Item2);
                _referencesEventsConnectionPoints.Remove(projectId);
            }
        }
Пример #2
0
 protected override void OnPreSave(DispatcherEventArgs args)
 {
     if (RoleNames != null)
     {
         Container.RoleName = String.Join(";", RoleNames);
     }
 }
Пример #3
0
 private void _sink_ProjectRemoved(object sender, DispatcherEventArgs <VBProject> e)
 {
     if (_app != null)
     {
         _app.RemoveVBProject(e.Item);
     }
 }
Пример #4
0
        async void sink_ProjectAdded(object sender, DispatcherEventArgs <VBProject> e)
        {
            if (!_handleSinkEvents)
            {
                return;
            }

            _logger.Debug("Project '{0}' was added.", e.Item.Name);
            if (e.Item.Protection == vbext_ProjectProtection.vbext_pp_locked)
            {
                _logger.Debug("Project is protected and will not be added to parser state.");
                return;
            }

            _parser.State.AddProject(e.Item); // note side-effect: assigns ProjectId/HelpFile
            var projectId = e.Item.HelpFile;

            RegisterComponentsEventSink(e.Item.VBComponents, projectId);

            if (!_parser.State.AllDeclarations.Any())
            {
                // forces menus to evaluate their CanExecute state:
                Parser_StateChanged(this, new ParserStateEventArgs(ParserState.Pending));
                _stateBar.SetStatusText();
                return;
            }

            _parser.State.OnParseRequested(sender);
        }
Пример #5
0
        async void sink_ProjectActivated(object sender, DispatcherEventArgs <VBProject> e)
        {
            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            Debug.WriteLine(string.Format("Project '{0}' was activated.", e.Item.Name));
            // do something?
        }
Пример #6
0
        async void sink_ComponentAdded(object sender, DispatcherEventArgs <VBComponent> e)
        {
            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            Debug.WriteLine(string.Format("Component '{0}' was added.", e.Item.Name));
            _parser.State.OnParseRequested(sender, e.Item);
        }
Пример #7
0
        async void sink_ComponentRemoved(object sender, DispatcherEventArgs <VBComponent> e)
        {
            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            Debug.WriteLine(string.Format("Component '{0}' was removed.", e.Item.Name));
            _parser.State.ClearStateCache(e.Item);
        }
Пример #8
0
        async void sink_ComponentSelected(object sender, DispatcherEventArgs <VBComponent> e)
        {
            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            Debug.WriteLine(string.Format("Component '{0}' was selected.", e.Item.Name));
            // do something?
        }
Пример #9
0
        private void _sink_ProjectActivated(object sender, DispatcherEventArgs <VBProject> e)
        {
            var projectId = e.Item.HelpFile;

            var handler = ProjectActivated;

            if (handler != null)
            {
                handler(sender, new ProjectEventArgs(projectId, e.Item));
            }
        }
Пример #10
0
        private void _sink_ProjectActivated(object sender, DispatcherEventArgs <VBProject> e)
        {
            if (_menu != null)
            {
                _menu.Initialize();
            }

            if (_ctxMenu != null)
            {
                _ctxMenu.Initialize();
            }
        }
Пример #11
0
        private void _sink_ProjectRemoved(object sender, DispatcherEventArgs <VBProject> e)
        {
            UnregisterComponentsEventSink(e.Item.HelpFile);

            var projectId = e.Item.HelpFile;

            var handler = ProjectRemoved;

            if (handler != null)
            {
                handler(sender, new ProjectEventArgs(projectId, e.Item));
            }
        }
Пример #12
0
        private void _sink_ProjectAdded(object sender, DispatcherEventArgs <VBProject> e)
        {
            e.Item.AssignProjectId();
            var projectId = e.Item.HelpFile;

            RegisterComponentsEventSink(e.Item.VBComponents, projectId);

            var handler = ProjectAdded;

            if (handler != null)
            {
                handler(sender, new ProjectEventArgs(projectId, e.Item));
            }
        }
Пример #13
0
        async void sink_ProjectActivated(object sender, DispatcherEventArgs <VBProject> e)
        {
            if (!_handleSinkEvents)
            {
                return;
            }

            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            _logger.Debug("Project '{0}' was activated.", e.Item.Name);
            // do something?
        }
Пример #14
0
        async void sink_ComponentReloaded(object sender, DispatcherEventArgs <VBComponent> e)
        {
            if (!_handleSinkEvents)
            {
                return;
            }

            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            _logger.Debug("Component '{0}' was reloaded.", e.Item.Name);
            _parser.State.OnParseRequested(sender, e.Item);
        }
Пример #15
0
        async void sink_ComponentSelected(object sender, DispatcherEventArgs <VBComponent> e)
        {
            if (!_handleSinkEvents)
            {
                return;
            }

            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            _logger.Debug("Component '{0}' was selected.", e.Item.Name);
            // do something?
        }
Пример #16
0
        private void ComponentsSink_ComponentSelected(object sender, DispatcherEventArgs <VBComponent> e)
        {
            if (!ComponentSinksEnabled)
            {
                return;
            }

            var projectId = e.Item.Collection.Parent.HelpFile;

            var handler = ComponentSelected;

            if (handler != null)
            {
                handler(sender, new ComponentEventArgs(projectId, e.Item.Collection.Parent, e.Item));
            }
        }
Пример #17
0
        async void sink_ComponentAdded(object sender, DispatcherEventArgs <VBComponent> e)
        {
            if (!_handleSinkEvents)
            {
                return;
            }

            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            _sourceControlPanelVM.HandleAddedComponent(e.Item);

            _logger.Debug("Component '{0}' was added.", e.Item.Name);
            _parser.State.OnParseRequested(sender, e.Item);
        }
Пример #18
0
        async void sink_ComponentRemoved(object sender, DispatcherEventArgs <VBComponent> e)
        {
            if (!_handleSinkEvents)
            {
                return;
            }

            if (!_parser.State.AllDeclarations.Any())
            {
                return;
            }

            _sourceControlPanelVM.HandleRemovedComponent(e.Item);

            _logger.Debug("Component '{0}' was removed.", e.Item.Name);
            _parser.State.ClearStateCache(e.Item, true);
        }
Пример #19
0
 private void DoNothingEventHandlerDispatcherEventArgs(object sender, DispatcherEventArgs e)
 {
 }