GSoC : Week 3
The class design for annotation has been more or less finalized. I have made a few changes to the one posted last week. Apart from that, the next goal is to create a working implementation of a basic version of an annotation, of type text and attached to a segment.
This would be indistinguishable from staff text except that it would have it's own text style.
I've implemented most of it, and have to set up the command and a separate shortcut now.
Eventually the annotations could be of multiple types, and there are two possibilities for their implementation.
1. Dialog comes up, and a single command to add the annotation.
2. No dialog comes up, just an annotation palette or a panel, a command to show it, and each type of annotation can have its own command.
For now I am using a single command called cmdAddAnnotation, as we are focusing on a text annotation right now. Once this is done, we can further move on to select either of the above approaches in order to accommodate the possibilities for other types of annotations as well.
Also, the command is being handled in ScoreView for now, since the user has to be put in edit mode after adding the element. But there is also a possibility of using ScoreView as a wrapper to just get the data from the user, and the command being handled in Score, since Score is easier to test than ScoreView.
I will push a branch on github by tomorrow, with the command implemented so far, and we can make necessary changes if required.