danionita / e3tools

e3tool is a Java GUI-based tool for constructing and evaluating e3value models. Includes the e3fraud fraud assessment extension
Other
3 stars 4 forks source link

Make right-clicking ports (on both AND/OR nodes and interfaces) easier #27

Open danionita opened 8 years ago

danionita commented 8 years ago

Currently, selecting ports (and not edges) is very tricky)

bobismijnnaam commented 8 years ago

How would we go about this? An easy solution would be to make them even bigger, but that might make the screen more cluttered. We could also do some snapping of the mouse to prevent clicking something else when you're close to the signal ports, but I'm not sure if JGraphX really supports that. We could also make all the signal port properties part of one of the sides of the value exchange, s.t. when you right click on the right side of an edge you can also change all the signal port properties. This does mean the port needs to be connected though

danionita commented 8 years ago

The problem right now is that when trying to click a port, you sometimes end up selecting the edge the is connected to it. This problem occurs on AND/OR gate ports too.

I like both the snapping and the enlargement solution. Maybe a little bit of both? Or if snapping is not straight-forward, I would stick to a couple of points size increase.

On Thu, Jul 28, 2016 at 9:12 AM, Bob Rubbens notifications@github.com wrote:

How would we go about this? An easy solution would be to make them even bigger, but that might make the screen more cluttered. We could also do some snapping of the mouse to prevent clicking something else when you're close to the signal ports, but I'm not sure if JGraphX really supports that. We could also make all the signal port properties part of one of the sides of the value exchange, s.t. when you right click on the right side of an edge you can also change all the signal port properties. This does mean the port needs to be connected though

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/danionita/e3tools/issues/27#issuecomment-235817497, or mute the thread https://github.com/notifications/unsubscribe-auth/AKjEpC4SrUGtHx_UP6jjKbQKzX4VUANqks5qaFZbgaJpZM4JVD7L .

bobismijnnaam commented 8 years ago

I understand the problem for and/or gates. I think the snapping would work well there. But why would the user right click on the signal dot of a value port? At the moment it does not even have a context menu. Should it?

bobismijnnaam commented 8 years ago

I implemented very basic and conservate right-click snapping towards logic dots (black dots on logic elements) in 835f631f49567e3d5770713ae65af6b7913c4ec4. It's a tricky feature though so we should evaluate it thoroughly.

danionita commented 8 years ago

You're right, the user would never right click the black dot. The issue was about the ports.

On Sun, Aug 21, 2016 at 1:15 PM, Bob Rubbens notifications@github.com wrote:

I understand the problem for and/or gates. I think the snapping would work well there. But why would the user right click on the signal dot of a value port? At the moment it does not even have a context menu. Should it?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/danionita/e3tools/issues/27#issuecomment-241251806, or mute the thread https://github.com/notifications/unsubscribe-auth/AKjEpMdA3OkBTkiePS4qK2iUUGZlXSE_ks5qiDNvgaJpZM4JVD7L .

danionita commented 8 years ago

Playing around with the tool, I still have trouble right-clicking value-ports. The behavior is more confusing and more unpredictable than even the old tool.

I think this is mainly due to the "Grabbing" point on the end of each edge. I am referring to the small red square I assume was supposed to be used to re-attach the edge to something else. When hovering over it, the mouse becomes a "hand". That adds to the confusion, since a hand also appears when hovering over the center of the port and one can never which one he is going to click. Having that red square does not make sense anyway since transfers cannot apparently be re-attached?!

Furthermore, there seems to be a difference between the "connection area" of a port (center of the triangle) and the "selection area" (currently an invisible square wrapping the triangle). To make matters worse, a green square is displayed when hovering over the "connection area", but not the "selection area" which actually corresponds to that square. Having different areas does not make sense since - unlike other elements - the user cannot move ports.

Therefore, can we make it so that:

image

bobismijnnaam commented 7 years ago

Removed the edge handles (red boxes at the end of connection elements/value exchanges). All the normal edge features should still work as they did before. Does not improve selectability a lot but makes it look better at least.

bobismijnnaam commented 7 years ago

As of 8351bfef5861ea3cbb539900b47a7d143ce0a834.

danionita commented 7 years ago

8351bfe seems to have only addressed my first comment (about the confusing "grabbing point"/:edge handle:) and not my second comment (about the green square only being shown when hovering over the center of the triangle). Furthermore, edges can now no longer be selected. This means (1) they cannot be deleted, (2) their labels cannot be moved.

Could you:

danionita commented 7 years ago

I've made edges selectable again. But we should still find a way to increase the size of the area where the green square is shown so that it is closer in size to the actual size of the area which corresponds to the port.