Example #1
0
		/// <summary>
		/// Dispose of connect actions.
		/// </summary>
		protected override void Dispose(bool disposing)
		{
			try
			{
				if(disposing)
				{
					if(this.manyToOneRelationshipConnectAction != null)
					{
						this.manyToOneRelationshipConnectAction.Dispose();
						this.manyToOneRelationshipConnectAction = null;
					}
					if(this.manyToManyRelationshipConnectAction != null)
					{
						this.manyToManyRelationshipConnectAction.Dispose();
						this.manyToManyRelationshipConnectAction = null;
					}
					if(this.oneToOneRelationshipConnectAction != null)
					{
						this.oneToOneRelationshipConnectAction.Dispose();
						this.oneToOneRelationshipConnectAction = null;
					}
					if(this.nestedRelationshipConnectAction != null)
					{
						this.nestedRelationshipConnectAction.Dispose();
						this.nestedRelationshipConnectAction = null;
					}
					this.UnsubscribeCompartmentItemsEvents();
				}
			}
			finally
			{
				base.Dispose(disposing);
			}
		}
Example #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 (activeView.SelectedToolboxItemSupportsFilterString(global::Altinoren.ActiveWriter.ActiveWriterToolboxHelper.ManyToOneRelationshipFilterString))
				{
					if (this.manyToOneRelationshipConnectAction == null)
					{
						this.manyToOneRelationshipConnectAction = new global::Altinoren.ActiveWriter.ManyToOneRelationshipConnectAction(this);
						this.manyToOneRelationshipConnectAction.MouseActionDeactivated += new DslDiagrams::MouseAction.MouseActionDeactivatedEventHandler(OnConnectActionDeactivated);
					}
					action = this.manyToOneRelationshipConnectAction;
				} 
				else if (activeView.SelectedToolboxItemSupportsFilterString(global::Altinoren.ActiveWriter.ActiveWriterToolboxHelper.ManyToManyRelationshipFilterString))
				{
					if (this.manyToManyRelationshipConnectAction == null)
					{
						this.manyToManyRelationshipConnectAction = new global::Altinoren.ActiveWriter.ManyToManyRelationshipConnectAction(this);
						this.manyToManyRelationshipConnectAction.MouseActionDeactivated += new DslDiagrams::MouseAction.MouseActionDeactivatedEventHandler(OnConnectActionDeactivated);
					}
					action = this.manyToManyRelationshipConnectAction;
				} 
				else if (activeView.SelectedToolboxItemSupportsFilterString(global::Altinoren.ActiveWriter.ActiveWriterToolboxHelper.OneToOneRelationshipFilterString))
				{
					if (this.oneToOneRelationshipConnectAction == null)
					{
						this.oneToOneRelationshipConnectAction = new global::Altinoren.ActiveWriter.OneToOneRelationshipConnectAction(this);
						this.oneToOneRelationshipConnectAction.MouseActionDeactivated += new DslDiagrams::MouseAction.MouseActionDeactivatedEventHandler(OnConnectActionDeactivated);
					}
					action = this.oneToOneRelationshipConnectAction;
				} 
				else if (activeView.SelectedToolboxItemSupportsFilterString(global::Altinoren.ActiveWriter.ActiveWriterToolboxHelper.NestedRelationshipFilterString))
				{
					if (this.nestedRelationshipConnectAction == null)
					{
						this.nestedRelationshipConnectAction = new global::Altinoren.ActiveWriter.NestedRelationshipConnectAction(this);
						this.nestedRelationshipConnectAction.MouseActionDeactivated += new DslDiagrams::MouseAction.MouseActionDeactivatedEventHandler(OnConnectActionDeactivated);
					}
					action = this.nestedRelationshipConnectAction;
				} 
				else
				{
					action = null;
				}
				
				if (pointArgs.DiagramClientView.ActiveMouseAction != action)
				{
					pointArgs.DiagramClientView.ActiveMouseAction = action;
				}
			}
		}