Example #1
0
 void OnAgentChanged(object sender, SpaceReservationAgentChangedEventArgs e)
 {
     if (_agent == e.OldAgent)
     {
         _agent = null;
     }
 }
Example #2
0
 void SpaceReservationManager_AgentChanged(object?sender, SpaceReservationAgentChangedEventArgs e)
 {
     if (e.OldAgent == toolTipAgent)
     {
         spaceReservationManager.AgentChanged -= SpaceReservationManager_AgentChanged;
         toolTipAgent = null;
     }
 }
        void SpaceReservationManager_AgentChanged(object sender, SpaceReservationAgentChangedEventArgs e)
        {
            if (wpfTextView.IsClosed)
            {
                return;
            }
            var sessionState = TryGetSessionState(e.OldAgent);

            if (sessionState != null)
            {
                // Its popup was hidden, so dismiss the session
                sessionState.Session.Dismiss();
            }
        }
Example #4
0
        private void OnSRManager_AgentChanged(object sender, SpaceReservationAgentChangedEventArgs e)
        {
            if (_isAttached && (e.OldAgent == this))
            {
                // When our space reservation agent is removed from the view, wait for the next layout before re-adding the agent.
                EventHandler <TextViewLayoutChangedEventArgs> layoutChangedHandler = null;
                layoutChangedHandler = delegate(object layoutSender, TextViewLayoutChangedEventArgs layoutArgs)
                {
                    // Make sure to always unsubscribe from the event.  Do this first so we're sure not to leak this ref.
                    ITextView textView = (ITextView)layoutSender;
                    textView.LayoutChanged -= layoutChangedHandler;

                    if ((_textView != null) && (this.CurrentLineSRManager != null))
                    {
                        this.CurrentLineSRManager.AddAgent(this);
                    }
                };
                _textView.LayoutChanged += layoutChangedHandler;
            }
        }
Example #5
0
        private void OnSpaceReservationManager_AgentChanged(object sender, SpaceReservationAgentChangedEventArgs e)
        {
            if (e.NewAgent == null)
            {
                List <IIntellisenseSession> sessionsToDismiss = new List <IIntellisenseSession>();

                foreach (IIntellisenseSession session in _reservationAgentIndex.Keys)
                {
                    // Skip sessions that are being re-hosted.

                    if (session == _sessionBeingRehosted)
                    {
                        continue;
                    }

                    if (_reservationAgentIndex[session] == e.OldAgent)
                    {
                        // We've just noticed that one of the agents we've put up on-screen has gone away.  We need to dismiss
                        // the session being displayed with this agent.

                        if (!session.IsDismissed)
                        {
                            sessionsToDismiss.Add(session);
                        }
                    }
                }

                // We need to dismiss these outside of the main loop, as dismissing will change the _reservationAgentIndex, which
                // will fail the enumeration above.

                foreach (IIntellisenseSession session in sessionsToDismiss)
                {
                    session.Dismiss();
                }
            }
        }
Example #6
0
		void SpaceReservationManager_AgentChanged(object sender, SpaceReservationAgentChangedEventArgs e) {
			if (e.OldAgent == toolTipAgent) {
				spaceReservationManager.AgentChanged -= SpaceReservationManager_AgentChanged;
				toolTipAgent = null;
			}
		}
		void SpaceReservationManager_AgentChanged(object sender, SpaceReservationAgentChangedEventArgs e) {
			if (wpfTextView.IsClosed)
				return;
			var sessionState = TryGetSessionState(e.OldAgent);
			if (sessionState != null) {
				sessionState.SpaceReservationAgent = null;
				// Its popup was hidden, so dismiss the session
				sessionState.Session.Dismiss();
			}
		}