Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multi connector box #122

Closed
nkh opened this issue Oct 3, 2023 · 7 comments
Closed

multi connector box #122

nkh opened this issue Oct 3, 2023 · 7 comments

Comments

@nkh
Copy link
Owner

nkh commented Oct 3, 2023

current boxes either

  • have 4 connectors
  • if connection is disabled it is possible to connect anywhere although not to a proper connector thus no optimization is done

a multi connector box has

  • 0 connectors
  • n connectors
  • connector are added, or removed, dynamically
  • connector position can be anywhere in the box
  • connectors set the minimum box size

Applications:

  • routing of many arrows to a box
  • domain specific objects
@nkh nkh added this to the 2.0 milestone Oct 3, 2023
@qindapao
Copy link
Collaborator

qindapao commented Oct 3, 2023

@nkh This feature is really great.

@nkh
Copy link
Owner Author

nkh commented Oct 3, 2023

I like Graph::Easy which can do grid based layout.

in the image below I drew the first graph manually, it's optimized and looks better but Graph::Easy takes a simpler description:

[ Berlin ] -- train --> [ Bonn ]
[ Bonn ] --> [ Berlin ]
...

but it does its routing by adding connectors to boes when needed , long explanation in the link below.

I'd like to be able to create a Graph::Easy like graph automatically and then modify it manually if necessary, that means having a box with dynamic number of connectors.

screenshot_2023-10-03_17-38-35

http://bloodgate.com/perl/graph/manual/index.html

The multi connector idea can also help with domain specific object #54.

But note that we can already emulate something close for simple drawings by using "enable border connection" or by grouping connectors to objects.

screenshot_2023-10-03_18-01-25

But there's a slight differences between groups and objects so this needs some serious analysis to write a good solution even if I really like the connector objects I'd like to add them to objects without having to create a group.

@nkh
Copy link
Owner Author

nkh commented Oct 4, 2023

Another example where having more connectors make sense.

screenshot_2023-10-04_13-07-45

@qindapao
Copy link
Collaborator

qindapao commented Oct 4, 2023

@nkh I opened boarder connection.I didn't realize the importance of this function until I drew this picture.

@nkh
Copy link
Owner Author

nkh commented Oct 4, 2023

@qindapao it's a nice feature but it has made me lazy because it fixes 95% of my needs I never really worked more on connectors.

Note that the "border connection" doesn't connect to the border but anywhere in a box; maybe I should change the name to something else.

@qindapao
Copy link
Collaborator

qindapao commented Oct 4, 2023

@nkh I know that linking to any part of the box is indeed a very powerful feature.Maybe it would be nice to change the name.Only after reading the documentation and trying it myself did I understand this function.

@nkh
Copy link
Owner Author

nkh commented Oct 6, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants