Modify

Opened 14 years ago

Closed 13 years ago

#11 closed defect (fixed)

remove selection and move mapmodes... pls discuss

Reported by: imi Owned by: josm@…
Priority: major Milestone:
Component: Core Version:
Keywords: Cc:

Description

Instead of having different modes for moving and selection, make JOSM context sensetive in its operations.

So e.g. dragging with mouse over unselected area selects it. Dragging over an selected object moves the selection...

Attachments (0)

Change History (8)

comment:1 Changed 13 years ago by imi

see #100 for a combo-method for adding nodes and ways in a context sensitive manner.

comment:2 Changed 13 years ago by anonymous

see #71 for handling delete (delete-key just remove current selection) and the "add way" tool.

comment:3 Changed 13 years ago by framm

Component: unspecifiedCore
Owner: changed from imi to josm@…
Summary: remove selection and move mapmodes, instead use context sensitive editingremove selection and move mapmodes, instead use context sensitive editing / multibuttons crap

The multi-buttons with the little arrow in the bottom-right corner really do suck as they requre much more mouse movements than desirable. Maybe the grouping is just wrong but when creating new ways you typically need the "add node into segment" and "add node" or "add node and connect" modes, so they're not really modes but tools...

comment:4 Changed 13 years ago by framm

I want to offer the following suggestion(s) to move towards "context sensitive editing".

First, get rid of these four mode buttons: "move", "add node", "add segment", "add way", "delete"; introduce a new mode called "draw"; move "add way" function into a menu somewhere (doesn't have to be a mode); move "delete" function to "edit" menu (will always operate exclusively on selected items).

This will leave us with only two modes: "select", and "draw".

Like standard drawing programs, we will use the "select" mode to select existing objects and manipulate them, and we'll use the "draw" mode to add new objects.

The "select" mode will work as follows:

  • When the mouse is clicked (i.e. button pressed then released) on a previously unselected node, then the selection is cleared and the node is selected.
  • When the mouse is clicked on a previously unselected segment, then the selection is cleared and the way(s) containing that segment is(are) selected. If the segment is unwayed, the segment will be selected.
  • When the mouse is dragged (i.e. button pressed, mouse moved, then released), with the drag starting point being in an empty area, the selection is cleared and all objects within the rectangular area are selected.
  • Shift modifier may be used for all the above to add to current selection instead of replacing it.
  • Ctrl modifier may be used for all the above to remove clicked object from selection.
  • When the mouse is dragged with the starting point being over a currently selected object, all currently selected objects are moved.
  • When the mouse is dragged with the starting point being over a previously unselected object, the selection is first modified according to above rules, then selected objects are moved.

Optional enhancement for "select" mode:

  • When the mouse is clicked on an already selected object, mode changes to "rotate"; from now on, if mouse is dragged with the starting point over a selected object, object is rotated around its centre point instead of moved. Repeating the mouse click action, or selection something else, drops out of rotation move.

The "draw" mode will work as follows:

  • If exactly one node is currently selected, a helper line will always be drawn from that node to the current mouse position to indicate automatic addition of segments from the selected node to the newly placed or selected node, for all of the following actions.
  • When the mouse is clicked in an area containing nothing, a node will be inserted.
  • When the mouse is clicked on an individual segment, wayed or not, the segment will be split and a node will be inserted.
  • When the mouse is clicked on a segment intersection, all segments will be split and a junction node will be inserted.
  • When the mouse is clicked on an existing node, this mode works like "select" mode (selects the node), and additionaly may auto-add a segment.

What do people think?

comment:5 Changed 13 years ago by framm

Summary: remove selection and move mapmodes, instead use context sensitive editing / multibuttons crapremove selection and move mapmodes... pls discuss

comment:6 in reply to:  5 Changed 13 years ago by swampwallaby

Replying to framm:
Absolutely agree Frederik. This would bring it much more into line with 'standard' design guidelines for drawing. Additionally, I would add that the Delete key deletes the current selection without needing to select Delete mode!

comment:7 Changed 13 years ago by gebner

I have tried to evaluate my JOSM workflow in terms of your proposal. Most of it would be simplified tremendously, especially if combine way and split way would get proper key bindings.

However I've seen myself using the (current) delete mode heavily to simplify ways, i.e. to remove nodes out of ways. Therefore I think it would be better to keep a delete mode.

comment:8 Changed 13 years ago by Gabriel Ebner <ge@…>

Resolution: fixed
Status: newclosed

This is implemented now.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain josm@….
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.