protected override void ProcessAddConnShape(ConnectionPort StartPort, ConnectionPort EndPort) { BaseConnShape Line = new AssociationConnShape(); Connection StartConn = new Connection(StartPort, Line); Connection EndConn = new Connection(EndPort, Line); StartPort.AddConnection(StartConn); EndPort.AddConnection(EndConn); Line.UpdateConeection(StartConn, EndConn); Panel.AddShape(Line); Line.setDepth(DefaultDepth); Panel.UpdateDepth(); }
public AssociationConnShape(Connection _StartConn, Connection _EndConn) : base(_StartConn, _EndConn) { }
public bool IsStartConn(Connection Conn) { if (StartConn == Conn) return true; return false; }
public BaseConnShape(Connection _StartConn, Connection _EndConn) { LineWidth = 2; UpdateConeection(_StartConn, _EndConn); }
public void UpdateConeection(Connection _StartConn, Connection _EndConn) { StartConn = _StartConn; EndConn = _EndConn; if (HasConnection()) { Point Start = StartConn.getPort().getCenter(); Point End = EndConn.getPort().getCenter(); double tlx = Math.Min(Start.X, End.X); double tly = Math.Min(Start.Y, End.Y); double brx = Math.Max(Start.X, End.X); double bry = Math.Max(Start.Y, End.Y); if (Start.X == End.X && Start.Y == End.Y) Direction = Direction_NULL; if (Start.X == End.X && Start.Y > End.Y) Direction = Direction_S_N; if (Start.X == End.X && Start.Y < End.Y) Direction = Direction_N_S; if (Start.X < End.X && Start.Y == End.Y) Direction = Direction_W_E; if (Start.X < End.X && Start.Y > End.Y) Direction = Direction_SW_NE; if (Start.X < End.X && Start.Y < End.Y) Direction = Direction_NW_SE; if (Start.X > End.X && Start.Y == End.Y) Direction = Direction_E_W; if (Start.X > End.X && Start.Y > End.Y) Direction = Direction_SE_NW; if (Start.X > End.X && Start.Y < End.Y) Direction = Direction_NE_SW; } }
public GeneralizationConnShape(Connection _StartConn, Connection _EndConn) : base(_StartConn, _EndConn) { }
public void AddConnection(Connection conn) { Conns.Add(conn); }
public CompositionConnShape(Connection _StartConn, Connection _EndConn) : base(_StartConn, _EndConn) { }