So after losing time on the above journey, took a look at how best to implement mouse actions. So the panel can have mouse listeners on it, and in the events you can decide what to do. The worked example I have uses lots of technical factory methods to generate different classes depending on what the user selects etc.
I though maybe we could implement the following:
- mouse click is select the object clicked on
- right mouse click on object, pop up menu for altering object, including delete
- right mouse click not on object, pop up menu including create object at click point (if adornment) or at cursor if note or bar dressing
- click in bar space but not on object is move insert point to there
Will expand up on these thoughts later ...