XCore.MenuAdapter.ShowContextMenu C# (CSharp) Method

ShowContextMenu() public method

public ShowContextMenu ( XCore.ChoiceGroup group, Point location, XCore.TemporaryColleagueParameter temporaryColleagueParam, XCore.MessageSequencer sequencer ) : void
group XCore.ChoiceGroup
location Point
temporaryColleagueParam XCore.TemporaryColleagueParameter
sequencer XCore.MessageSequencer
return void
		public void ShowContextMenu(ChoiceGroup group, Point location,
			TemporaryColleagueParameter temporaryColleagueParam,
			MessageSequencer sequencer)
		{
			using (CommandBarContextMenu menu= new CommandBarContextMenu())
			{
				menu.Tag = group;
				group.ReferenceWidget = menu;
				menu.Popup += new System.EventHandler(group.OnDisplay);

				// Pre-menu process two optional paremeters.
				if (temporaryColleagueParam != null)
					temporaryColleagueParam.Mediator.AddColleague(temporaryColleagueParam.TemporaryColleague);
				bool resume = false;
				if (sequencer != null)
					resume = sequencer.PauseMessageQueueing();

				// NB: This is *always* modal, as it doesn't return until it closes.
				menu.Show(null, location);

				// Post-menu process two optional paremeters.s
				if (temporaryColleagueParam != null)
				{
					IxCoreColleague colleague = temporaryColleagueParam.TemporaryColleague;
					temporaryColleagueParam.Mediator.RemoveColleague(colleague);
					if (temporaryColleagueParam.ShouldDispose && colleague is IDisposable)
						(colleague as IDisposable).Dispose();
				}
				if (sequencer != null && resume)
					sequencer.ResumeMessageQueueing();
			}
		}

Same methods

MenuAdapter::ShowContextMenu ( XCore.ChoiceGroup @group, Point location, XCore.TemporaryColleagueParameter temporaryColleagueParam, XCore.MessageSequencer sequencer, Action adjustMenu ) : void