Mini-Stef / Core-Data-Model-Editor

The place to get help, report problems or request feature on the Core Data Model Editor app.
https://github.com/Mini-Stef/Core-Data-Model-Editor
10 stars 1 forks source link

It is hard to move entities #10

Closed bozhidarmihaylov closed 3 months ago

bozhidarmihaylov commented 9 months ago

Is your feature request related to a problem? Please describe. Need to move entities so that the relationships have minimum intersection and are easy to follow. Currently this is hard as I need to click on the arrow end, and this isn't easy and takes time. There are cases where there isn't an arrow end coloured in green, which makes even harder to hit it right, so it can be dragged.

Describe the solution you'd like I'd like to be able to drag an entity when I click on it, instead of a relationship arrow ending in it.

Describe alternatives you've considered It could be cmd + click, or whatever, it will resolve the problem.

Additional context If the initial graph is processed in a way to minimise relationship arrows + entity boxes intersection it would limit greatly the needed entity reordering.

Mini-Stef commented 9 months ago

Hello bozhidarmihaylov,

Thanks for your comment, and thanks for using the app.

I agree it is sometime difficult to move entities. I think the best place is to grab the entities is anywhere inside the entity, but near the border (for example at the right of the title). As soon as the cursor changes from "text edition" to "arrow", you can drap& drop.

But I agree I need to improve that in the next version.

vdhamer commented 9 months ago

I'd like to be able to drag an entity when I click on it, instead of a relationship arrow ending in it.

I thought you could move an entity even if it doesn’t have any relationships. But it is indeed a bit tricky to do.

In my case I do need the capability of manually positioning the entities, but I don’t think Mini-Stef is planning to remove that feature. I use the tool to make documentation diagrams (so I want control).

Plus I use a notation that graphically shows the entities as a hierarchy (somewhat comparable to say a JSON file) rather than rectangles at arbitrary positions. Here’s a reference to this somehow forgotten technique that is called Database Abstractions (about aggregation and inheritance hierarchies).

Mini-Stef commented 9 months ago

Hello,

It is indeed possible to move entities that have no relationship at all, as shown on the attached video. And I, of course, won't remove that from the app.

https://github.com/Mini-Stef/Core-Data-Model-Editor/assets/12109403/6c3f8651-a666-4049-a562-07ca0bb344aa

But as said above, it can be difficult to find the right spot to grab to entity to drag it. The best place is near the title, on the right side, when the cursor changes from "text edition" to "arrow" - also shown on the video.

bozhidarmihaylov commented 9 months ago

Thanks Mini-Shef, pulling on the right side of the title near the border makes dragging easy, reflecting the drag event immediately.

vdhamer commented 9 months ago

it can be difficult to find the right spot to grab to entity to drag it. The best place is near the title, on the right side, when the cursor changes from "text edition" to "arrow" - also shown on the video.

Many applications use "handles" or graphic icons to indicate where they can be dragged. Here's an example from iPhone > Settings > General > Language where you can drop to change the preference.

Simulator Screenshot - iPhone 15 - 2024-02-04 at 00 50 47

Not sure what the MacOS convention is (MacOS > Settings > General > Languages) has the same functionality but works differently. But there are many places where something like this is needed (e.g. expand a TextField). In fact the Github thingie "Add a comment" on an Issue has one.

Mini-Stef commented 3 months ago

Hello there,

For info, I just complete the undo management, and I am getting back to solving issues. Started today looking at that issue. I will add a visual "drag zone", which is the fastest way to go.

Like this

Capture d’écran 2024-08-04 à 12 54 28

I mark the topic closed, as it will be in V1.3.0 to be released end of August (maybe beg. Septembre).