Feature request #12355

Allow vertex markers to be shown when not in edit mode

Added by John Layt about 9 years ago. Updated almost 7 years ago.

Status:Feedback
Priority:Normal
Assignee:-
Category:Vectors
Pull Request or Patch supplied:No Resolution:
Easy fix?:No Copied to github as #:20530

Description

Currently vertex markers on a vector layer are only displayed when in editing mode. It would be useful to be able to set a layer to display vertex markers at any time. My use case would be while digitising so I can see what vertices I might want to snap to when tracing without having to turn on other levels for editing (potentially dangerous and impossible if filtering) or temporarily changing the line style. I'm sure other use cases exist where you want to see vertex markers without having to switch to edit mode, such as using the identify tool.

This would need:
1) API in QgsVectorLayer for showVertexMarkers(bool) or similar
2) Legend context menu option for 'Show Vertex Markers'
3) Possibly configuration option in snapping to show vertex markers on all layers with snap to vertex enabled


Related issues

Duplicates QGIS Application - Feature request #12384: Showing all vertices from all layers while digitizing Closed 2015-03-16

History

#1 Updated by Matthias Kuhn about 9 years ago

  • Status changed from Open to Feedback

You can create a style "Outline: Marker line", "On every vertex". That allows you to style your vertices the way you want them.
Is that already almost what you want?

Update: apart from the improved visual feedback while snapping. But I would treat that as a separate issue.

#2 Updated by John Layt about 9 years ago

Matthias Kuhn wrote:

You can create a style "Outline: Marker line", "On every vertex". That allows you to style your vertices the way you want them.
Is that already almost what you want?

It works, but is laborious and error-prone. Say I'm snapping to 4 or 5 layers, and a couple of those use categorized styles with 5 or 6 categories each, that's a lot of line styles I'm modifying perhaps for just a few seconds or minutes work. And then I have to change them all back again. Not ideal even when scripted using pre-saved style files (which would need keeping in sync). Maybe a way of quickly toggling show/hide vertices in the style might be an alternative?

Update: apart from the improved visual feedback while snapping. But I would treat that as a separate issue.

I currently have my own set of QgsMapTools, the base class of which is SnapMapTool which does all the snapping (really, it should be available in the official api, but that's a separate request!), and in there I'm finding all the vertices for all the snapping layers not in editing mode, then drawing QgsVertexMarkers for all those in the current map extent. It works quite nicely, but it seems a waste to calculate and draw all that when the layer painting routine already has the ability to do so faster.

#3 Updated by Martin Dobias about 9 years ago

What about having a button in the toolbar with digitizing tools where you could quickly toggle one of these states:
- draw markers for edited layers
- draw markers for all layers
- draw no markers

Personally I do not like the current behavior... often one enters editing mode just to edit some attributes and the whole canvas is suddenly full of markers.

#4 Updated by Giovanni Manghi almost 7 years ago

  • Easy fix? set to No

Also available in: Atom PDF