On the other hand, the current implementation is fine as it is since the various options can be activated by the shift parameter already now, there is no need for an additional KeyActivation property.
There is a subtle problem: notice that in the demo, you can deactivate reticule by depressing "Ctrl",
but if you press "Ctrl", reticule does not appear -- you have to move the mouse at least a bit.
This is what I referred to -- I am not sure if it is important enough,
so will probably postpone it until some user reports it as a bug ;-)
Appearence of the reticule could be improved if it were a cross of user-selectable size instead of going across the entire chart.
Hm, others also requested diagonal cross, and I have seen "cross with target" variant.
Will think about it.
- It would be nice also to have a status variable that indicates that a tool is currently in use.
- Why don't you derive the ReticuleTool from TDataPointTool? This would give access to the Series and the PointIndex.
These are historical artifacts. Reticule was implemented before I started to maintain TAChart,
and the current implementation is an awkward compromise between backwards compatibility
and the new tools design.
You have correctly noted some of the problems, and I can add more:
- reticule does not work on Qt and MacOS
- you can not control the color and width of reticule pen
- you can only have one reticule per chart
As I said, I plan to rewrite the tool, inheriting it from TDataPointTool,
but it will come at the cost of backwards compatibility.
Can you make the methode HideReticule of TChart public?
After the rewrite, it will be Reticule.Hide instead of Chart.HideReticule,
so I do not want to increase compatibility problem further.