This repository has been archived by the owner. It is now read-only.

Tie connection lines to a fixed point on the line ending icon #229

Closed
smithdtyler opened this Issue Oct 2, 2017 · 8 comments

Comments

Projects
None yet
3 participants
@smithdtyler

smithdtyler commented Oct 2, 2017

When displayed lines are tied to an arbitrary point on the line ending icon, the icon often looks out of place.

In this example, it's hard to tell whether the connection is actually related to its ending "arrow" icon.

screen shot 2017-10-02 at 4 44 50 pm

When the line is visually tied to the "in" or "out" face of the ending icon, the composition is clearer (implemented below with a hand-added curve in the line):

screen shot 2017-10-02 at 4 46 01 pm

@philip-alldredge

This comment has been minimized.

Show comment
Hide comment
@philip-alldredge

philip-alldredge Oct 3, 2017

Contributor

This is tricky because connecting to the inner portion of event data port can have a ugly graphical artifacts for connections from outside the component. I believe this would only affect event data ports since event ports and data ports are only composed of a single graphical element. However, we'll consider this after we have moved to GEF5.

Contributor

philip-alldredge commented Oct 3, 2017

This is tricky because connecting to the inner portion of event data port can have a ugly graphical artifacts for connections from outside the component. I believe this would only affect event data ports since event ports and data ports are only composed of a single graphical element. However, we'll consider this after we have moved to GEF5.

@lwrage

This comment has been minimized.

Show comment
Hide comment
@lwrage

lwrage Oct 4, 2017

Contributor

I'd also like to have the requested functionality. @philip-alldredge, I don't understand your comment. Each feature could have two anchor points to which all lines connect. One for connections from outside the component, the other one for connections/flow specs inside the component.

Contributor

lwrage commented Oct 4, 2017

I'd also like to have the requested functionality. @philip-alldredge, I don't understand your comment. Each feature could have two anchor points to which all lines connect. One for connections from outside the component, the other one for connections/flow specs inside the component.

@philip-alldredge

This comment has been minimized.

Show comment
Hide comment
@philip-alldredge

philip-alldredge Oct 4, 2017

Contributor

@lwrage I'm having trouble understanding my comment as well. I think I had misunderstood things and were considering that the issue was it connecting to the outer section of the event data port. That was something that was shown in a different issue. But having fixed points seems reasonable.

Contributor

philip-alldredge commented Oct 4, 2017

@lwrage I'm having trouble understanding my comment as well. I think I had misunderstood things and were considering that the issue was it connecting to the outer section of the event data port. That was something that was shown in a different issue. But having fixed points seems reasonable.

@philip-alldredge

This comment has been minimized.

Show comment
Hide comment
@philip-alldredge

philip-alldredge Oct 5, 2017

Contributor

@smithdtyler @lwrage
I plan on making this change in conjunction with #228. On most cases there is a distinct tie point for interior and exterior connections. However, for directional event ports, there isn't always a point on both sides of the port. Below is an example of how it looks when using the same tie point for all connections for such ports. Does this behavior seem reasonable?

event_port_example

Contributor

philip-alldredge commented Oct 5, 2017

@smithdtyler @lwrage
I plan on making this change in conjunction with #228. On most cases there is a distinct tie point for interior and exterior connections. However, for directional event ports, there isn't always a point on both sides of the port. Below is an example of how it looks when using the same tie point for all connections for such ports. Does this behavior seem reasonable?

event_port_example

@smithdtyler

This comment has been minimized.

Show comment
Hide comment
@smithdtyler

smithdtyler Oct 5, 2017

@philip-alldredge Looks reasonable to me, thanks!

smithdtyler commented Oct 5, 2017

@philip-alldredge Looks reasonable to me, thanks!

@lwrage

This comment has been minimized.

Show comment
Hide comment
@lwrage

lwrage Oct 6, 2017

Contributor

But this will look bad if several connections come in (via an in event port) at different angles because they all connect to the tip of the event port. Also, the arrow of the flow path specs overlaps the event port symbol. How about pretending the event port symbol is a triangle where the base is invisible. We could then connect to the midpoint of that invisible base. Obviously, there will be an interruption in the line. with this approach.

Contributor

lwrage commented Oct 6, 2017

But this will look bad if several connections come in (via an in event port) at different angles because they all connect to the tip of the event port. Also, the arrow of the flow path specs overlaps the event port symbol. How about pretending the event port symbol is a triangle where the base is invisible. We could then connect to the midpoint of that invisible base. Obviously, there will be an interruption in the line. with this approach.

@philip-alldredge

This comment has been minimized.

Show comment
Hide comment
@philip-alldredge

philip-alldredge Oct 6, 2017

Contributor

@lwrage I agree that this does have it's own set of issues.

Here is an example of presenting the feature is a triangle. As first glance it looks odd, but perhaps it is something that wouldn't look strong once the user was familiar with it.

example

Contributor

philip-alldredge commented Oct 6, 2017

@lwrage I agree that this does have it's own set of issues.

Here is an example of presenting the feature is a triangle. As first glance it looks odd, but perhaps it is something that wouldn't look strong once the user was familiar with it.

example

@philip-alldredge

This comment has been minimized.

Show comment
Hide comment
@philip-alldredge

philip-alldredge Oct 10, 2017

Contributor

Implemented in c4cc595. The implementation uses Lutz's suggestion of pretending the event port symbol is a triangle.

Contributor

philip-alldredge commented Oct 10, 2017

Implemented in c4cc595. The implementation uses Lutz's suggestion of pretending the event port symbol is a triangle.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.