Beispiel #1
0
		/// <summary>
		/// Dispose of connect actions.
		/// </summary>
		protected override void Dispose(bool disposing)
		{
			try
			{
				if(disposing)
				{
					if(this.commandRelationshipConnectAction != null)
					{
						this.commandRelationshipConnectAction.Dispose();
						this.commandRelationshipConnectAction = null;
					}
					if(this.aggregateStateRelationshipConnectAction != null)
					{
						this.aggregateStateRelationshipConnectAction.Dispose();
						this.aggregateStateRelationshipConnectAction = null;
					}
					if(this.eventRelationshipConnectAction != null)
					{
						this.eventRelationshipConnectAction.Dispose();
						this.eventRelationshipConnectAction = null;
					}
					this.UnsubscribeCompartmentItemsEvents();
				}
			}
			finally
			{
				base.Dispose(disposing);
			}
		}
Beispiel #2
0
		/// <summary>
		/// Override to provide the right mouse action when trying
		/// to create links on the diagram
		/// </summary>
		/// <param name="pointArgs"></param>
		public override void OnViewMouseEnter(DslDiagrams::DiagramPointEventArgs pointArgs)
		{
			if (pointArgs  == null) throw new global::System.ArgumentNullException("pointArgs");
		
			DslDiagrams::DiagramView activeView = this.ActiveDiagramView;
			if(activeView != null)
			{
				DslDiagrams::MouseAction action = null;
				if (SelectedToolboxItemSupportsFilterString(activeView, global::FourDeep.Dizzle.DizzleToolboxHelper.CommandRelationshipFilterString))
				{
					if (this.commandRelationshipConnectAction == null)
					{
						this.commandRelationshipConnectAction = new global::FourDeep.Dizzle.CommandRelationshipConnectAction(this);
						this.commandRelationshipConnectAction.MouseActionDeactivated += new DslDiagrams::MouseAction.MouseActionDeactivatedEventHandler(OnConnectActionDeactivated);
					}
					action = this.commandRelationshipConnectAction;
				} 
				else if (SelectedToolboxItemSupportsFilterString(activeView, global::FourDeep.Dizzle.DizzleToolboxHelper.AggregateStateRelationshipFilterString))
				{
					if (this.aggregateStateRelationshipConnectAction == null)
					{
						this.aggregateStateRelationshipConnectAction = new global::FourDeep.Dizzle.AggregateStateRelationshipConnectAction(this);
						this.aggregateStateRelationshipConnectAction.MouseActionDeactivated += new DslDiagrams::MouseAction.MouseActionDeactivatedEventHandler(OnConnectActionDeactivated);
					}
					action = this.aggregateStateRelationshipConnectAction;
				} 
				else if (SelectedToolboxItemSupportsFilterString(activeView, global::FourDeep.Dizzle.DizzleToolboxHelper.EventRelationshipFilterString))
				{
					if (this.eventRelationshipConnectAction == null)
					{
						this.eventRelationshipConnectAction = new global::FourDeep.Dizzle.EventRelationshipConnectAction(this);
						this.eventRelationshipConnectAction.MouseActionDeactivated += new DslDiagrams::MouseAction.MouseActionDeactivatedEventHandler(OnConnectActionDeactivated);
					}
					action = this.eventRelationshipConnectAction;
				} 
				else
				{
					action = null;
				}
				
				if (pointArgs.DiagramClientView.ActiveMouseAction != action)
				{
					try
					{
						this.changingMouseAction = true;
						pointArgs.DiagramClientView.ActiveMouseAction = action;
					}
					finally
					{
						this.changingMouseAction = false;
					}
				}
			}
		}