﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
21851	[WIP PATCH] Rewrite of the presets system	marcello@…	team	"This patch contains following changes:

The XML reader was completely rewritten to not use java introspection any more.

All classes of the XML reader have been placed into one package, considerably reducing the number of public fields and methods.

The XML reader now preserves element nesting.  Element groups like ""Optional Attributes"" now can have a surrounding border in the dialog.  (This is a first step towards conditionally shown preset entries, eg. the 'width' entry could be hidden for highway areas.)

The concepts of `preset template` and `preset instance` are cleanly separated. The XML file gets parsed into a tree of immutable preset templates. The templates are used to create panels, menu items, and support instances.

Preset patch files have been added as experimental feature to allow further customization of existing preset files. A preset patch file's main function is to override chunks in the preset file. A preset patch file has the same structure as the `defaultpresets.xml` file. All items in the root of the preset patch file will be appended to the root of the respective presets file, ie. the root elements of both files will be merged while chunks in the patch file will override chunks with the same `id` in the presets file. The patch file must be placed in the `josmdir://` and have the same filename and extension with an added extension of `.local` eg. `<josmdir>/defaultpresets.xml.local`.

The preset system now uses a pluggable handler for all data access so any preset can operate on the dataset or any other key/value store like the tag table in the relation editor. Fixes #21221

Autocomplete suggestions can be filtered in the relation editor. Comboboxes have been added that provide suggestions. Fixes #21227

This is a huge patch, it should be reviewed and tested before applying. Suggestions are welcome.
"	enhancement	new	normal		Core				
