dlr-gtlab / gtlab-core

GTlab Core Framework
https://www.gtlab.de
Other
7 stars 2 forks source link

Remove all connections at once by button #1242

Closed jensschmeink closed 15 hours ago

jensschmeink commented 2 months ago

Description

The new button removes all graphics entities for the connections and the related connection objects.

grafik

How Has This Been Tested?

Manual

Checklist:

jensschmeink commented 2 months ago

This PR should be merged in 2.0.X as it does not affect any exported classes

jensschmeink commented 2 months ago

Add better colors for dark mode
grafik

This is ofcourse only a suggestion.

This would close #1220

mariusalexander commented 2 months ago

@jensschmeink I like the new colors!

I am wondering however, whether we should make it also possible to only remove connections of a specific component? After all the connection editor can only be opened on the root task, correct?

Say we have a deeply nested process chain and you only want to disconnect a specific calculator or subtask. Maybe you could all a context menu entry to each component to address this use case? However, I do not use the connection editor that often so maybe this use case does not apply.

rainman110 commented 2 months ago

I also agree with @mariusalexander, that we probably need a more fine-grained control on the removal.

I also like the idea of a context menu entry, when you select an object to remove all connections to that objects (and its properties). By clicking on the root object, you basically remove all connections.

jensschmeink commented 2 months ago

@jensschmeink I like the new colors!

I am wondering however, whether we should make it also possible to only remove connections of a specific component? After all the connection editor can only be opened on the root task, correct?

Say we have a deeply nested process chain and you only want to disconnect a specific calculator or subtask. Maybe you could all a context menu entry to each component to address this use case? However, I do not use the connection editor that often so maybe this use case does not apply.

Yes, you are right. The editor is always opened only for the root task. I like your idea with the context menu and will implement a first version

mariusalexander commented 2 months ago

@jensschmeink What causes this black line in you screenshot?

grafik

jensschmeink commented 2 months ago

@jensschmeink What causes this black line in you screenshot?

grafik

Good question. It seems to be a strange artifact of the connections. I have not changed anything about that. Is it also part of the existing implementation?

mariusalexander commented 2 months ago

I don't see it in my editor

@jensschmeink What causes this black line in you screenshot? grafik

Good question. It seems to be a strange artifact of the connections. I have not changed anything about that. Is it also part of the existing implementation?

I do not see it in my editor

jensschmeink commented 2 months ago

grafik

The new version has the button to remove all connections but you can also right cklick any process element to remove all connections of this process element. But it is seperated for input and output. So if you use the disconnect on the left (input) side all input nodes of this process element (and all of its children) are removed but not there connections on the output side. This behaviour was the result of a talk of @mariusalexander and @jensschmeink

rainman110 commented 1 week ago

@jensschmeink What is the status of this PR?

jensschmeink commented 1 week ago

@jensschmeink What is the status of this PR?

It is done but needs a final review

rainman110 commented 15 hours ago

Damn, we forgot the changelog. I'll add an entry.