Пример #1
0
		private void PaintConnector(Node fromNode, Node toNode, NodeDisplayContext context,bool linkConnector, ConnectorPointsCollection connectorPoints)
		{
            bool isRootNode = fromNode != null ? IsRootNode(fromNode) : IsRootNode(toNode);

            if (context.View == eView.Tile || isRootNode && fromNode == null && toNode.Nodes.Count == 0 && toNode.ExpandVisibility != eNodeExpandVisibility.Visible || context.ConnectorDisplayInfo == null)
                return;

			context.ConnectorDisplayInfo.FromNode=fromNode;
			context.ConnectorDisplayInfo.ToNode=toNode;
			context.ConnectorDisplayInfo.IsRootNode=isRootNode;
			context.ConnectorDisplayInfo.LinkConnector=linkConnector;
            if (fromNode != null && fromNode.Style != null)
                context.ConnectorDisplayInfo.StyleFromNode = fromNode.Style;
            else
                context.ConnectorDisplayInfo.StyleFromNode = context.DefaultNodeStyle;
			if(toNode.Style!=null)
				context.ConnectorDisplayInfo.StyleToNode=toNode.Style;
			else
				context.ConnectorDisplayInfo.StyleToNode=context.DefaultNodeStyle;
			context.ConnectorDisplayInfo.Offset=context.Offset;
			
			/*if(linkConnector)
			{
				context.ConnectorDisplayInfo.NodeConnector=this.Tree.LinkConnector;
			}
			else*/ if(toNode.SelectedConnectorMarker)
			{
				context.ConnectorDisplayInfo.NodeConnector=this.Tree.SelectedPathConnector;
			}
			else if(toNode.ParentConnector!=null)
			{
				context.ConnectorDisplayInfo.NodeConnector=toNode.ParentConnector;
			}
            //else if(isRootNode)
            //{
            //    context.ConnectorDisplayInfo.NodeConnector=this.Tree.RootConnector;
            //}
			else
			{
				context.ConnectorDisplayInfo.NodeConnector=this.Tree.NodesConnector;
			}

			if(linkConnector)
			{
				context.ConnectorDisplayInfo.ConnectorPoints=connectorPoints;
			}
			else
			{
				if(connectorPoints!=null)
					context.ConnectorDisplayInfo.ConnectorPoints=connectorPoints;
				else
					context.ConnectorDisplayInfo.ConnectorPoints=null;
			}

			context.NodeRenderer.DrawConnector(context.ConnectorDisplayInfo);
		}
Пример #2
0
		private void PaintConnector(Node fromNode, Node toNode, NodeDisplayContext context,bool linkConnector, ConnectorPointsCollection connectorPoints)
		{
			bool isRootNode=IsRootNode(fromNode);
//			if(context.RootConnectorDisplay==null && isRootNode || context.NodesConnectorDisplay==null && !isRootNode || linkConnector && context.LinkConnectorDisplay==null)
//				return;

			context.ConnectorDisplayInfo.FromNode=fromNode;
			context.ConnectorDisplayInfo.ToNode=toNode;
			context.ConnectorDisplayInfo.IsRootNode=isRootNode;
			context.ConnectorDisplayInfo.LinkConnector=linkConnector;
			if(fromNode.Style!=null)
				context.ConnectorDisplayInfo.StyleFromNode=fromNode.Style;
			else
				context.ConnectorDisplayInfo.StyleFromNode=context.DefaultNodeStyle;
			if(toNode.Style!=null)
				context.ConnectorDisplayInfo.StyleToNode=toNode.Style;
			else
				context.ConnectorDisplayInfo.StyleToNode=context.DefaultNodeStyle;
			context.ConnectorDisplayInfo.Offset=context.Offset;
			
			//NodeConnectorDisplay display=null;
			if(linkConnector)
			{
				context.ConnectorDisplayInfo.NodeConnector=this.Tree.LinkConnector;
			}
			else if(toNode.SelectedConnectorMarker)
			{
				//display = context.SelectedPathConnectorDisplay;
				context.ConnectorDisplayInfo.NodeConnector=this.Tree.SelectedPathConnector;
			}
			else if(toNode.ParentConnector!=null)
			{
				//display=this.GetConnectorDisplay(toNode.ParentConnector);
				context.ConnectorDisplayInfo.NodeConnector=toNode.ParentConnector;
			}
			else if(isRootNode)
			{
				//display=context.RootConnectorDisplay;
				context.ConnectorDisplayInfo.NodeConnector=this.Tree.RootConnector;
			}
			else
			{
				//display=context.NodesConnectorDisplay;
				context.ConnectorDisplayInfo.NodeConnector=this.Tree.NodesConnector;
			}

			if(linkConnector)
			{
                if (connectorPoints != null && connectorPoints.Count > 0)
				    context.ConnectorDisplayInfo.ConnectorPoints=connectorPoints;
			}
			else
			{
				if(connectorPoints!=null)
					context.ConnectorDisplayInfo.ConnectorPoints=connectorPoints;
				else if(toNode.ParentConnectorPoints.Count>0)
					context.ConnectorDisplayInfo.ConnectorPoints=toNode.ParentConnectorPoints;
				else
					context.ConnectorDisplayInfo.ConnectorPoints=null;
			}

			context.NodeRenderer.DrawConnector(context.ConnectorDisplayInfo);
			//if(display!=null)
			//	display.DrawConnector(context.ConnectorDisplayInfo);
		}