Some ideas of the options that could be offered to the user for editing nodes and game variations. A popup menu with all the entries described below would probably be too long on smaller devices.
Create new setup / annotation / markup nodes
Long-press on a node in the node tree view => Displays a popup menu with the following entries:
Condition Menu entry Action when selected
-------------------------------------------------------------------------------------------------------------------
If not root node Insert node New parent node
If no branching node Add node New first child
If no branching && first child exists Add variation New last child
If branching node Add variation before current variation
If branching node Add variation after current variation
If branching node && current variation is the first Add variation at top
If branching node && current variation is the last Add variation at bottom
Move existing setup / annotation / markup nodes
Use drag & drop.
Annotation and markup nodes can be moved from anywhere / to anywhere, because they don't influence the board state.
Setup nodes can only be moved to a location before the first move.
If there are moves after the old location: TODO
If there are moves after the new location: TODO
If there are setup nodes after the new location => The first such setup node must be adjusted so that the net result of the move is the same board state.
Ditto if there are setup nodes after the old location.
Move existing variations
Long-press on a child node of a branching node in the node tree view => Displays a popup menu with the following entries:
Move variation one up (unless the variation is already at the top)
Move variation one down (unless the variation is already at the bottom)
Move variation to top (unless the variation is already at the top)
Move variation to bottom (unless the variation is already at the bottom)
Delete existing nodes and variations
Long-press on a node in the node tree view => Displays a popup menu with the following entries:
Condition Menu option
----------------------------------------------------------
If root node -
If child node exists Discard node and all child nodes
If no child node exists Discard node
Edit existing nodes
Long-press on a node in the node tree view => Displays a popup menu with the following entries:
Condition Menu option
----------------------------------------------------
If annotations exist Delete annotations
if markup exists Delete markup
If setup exists Delete setup
If multiple things exist Delete all (except moves)
Some ideas of the options that could be offered to the user for editing nodes and game variations. A popup menu with all the entries described below would probably be too long on smaller devices.
Create new setup / annotation / markup nodes
Long-press on a node in the node tree view => Displays a popup menu with the following entries:
Move existing setup / annotation / markup nodes
Move existing variations
Long-press on a child node of a branching node in the node tree view => Displays a popup menu with the following entries:
Delete existing nodes and variations
Long-press on a node in the node tree view => Displays a popup menu with the following entries:
Edit existing nodes
Long-press on a node in the node tree view => Displays a popup menu with the following entries: