Skip to content
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
Closed

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

smithdtyler opened this issue Oct 2, 2017 · 8 comments

Comments

@smithdtyler
Copy link

@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
Copy link
Contributor

@philip-alldredge 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
Copy link
Contributor

@lwrage 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
Copy link
Contributor

@philip-alldredge 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
Copy link
Contributor

@philip-alldredge 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
Copy link
Author

@smithdtyler smithdtyler commented Oct 5, 2017

@philip-alldredge Looks reasonable to me, thanks!

@lwrage
Copy link
Contributor

@lwrage 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
Copy link
Contributor

@philip-alldredge 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
Copy link
Contributor

@philip-alldredge 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.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.